#title Strasheela Reference Documentation ; #author Torsten Anders ; **NB: pathes below depend on ozh and can break!!** * The Strasheela Core These functors define the main user functionality of Strasheela. [[../doc/api/node6.html][Score]] -- music representation [[../doc/api/node8.html][SDistro]] -- score search engines and distribution strategies [[../doc/api/node9.html][Out]] -- means for output into various formats [[../doc/api/node11.html][Midi]] -- Midi output (a subfunctor of [[../doc/api/node9.html][Out]]) [[../doc/api/node2.html][Init]] -- customise settings (e.g. for output) [[../doc/api/node1.html][Strasheela]] -- the top level functor (simply exports the rest of Strasheela) These functors provide additional functionality. [[../doc/api/node3.html][GUtils]] -- general utilities [[../doc/api/node4.html][LUtils]] -- list utilities [[../doc/api/node5.html][MUtils]] -- utilities related to music or acoustics [[../doc/api/node7.html][SMapping]] -- score traversal ; [[../doc/api/node2.html][Midi]] -- * Strasheela Extensions These extensions simplify the definition of specific musical CSP classes (e.g. style specific CSPs such as harmonic CSPs). These extensions can often be combined (e.g. using the functors Pattern and HS for constraining patterns on harmonic relations). Note that several of these extensions consist of multiple sub-functors. The links below point only to their top-level functors, the subfunctors are accessible by the links in the top-level's section Import. [[../contributions/anders/Heuristics/doc/node1.html][H (Heuristics)]] -- heuristic constraints [[../contributions/anders/Pattern/doc/node1.html][Pattern]] -- constraints on lists to express patterns in music [[../contributions/anders/HarmonisedScore/doc/node1.html][HS (HarmonisedScore)]] -- constrainable harmony model [[../contributions/anders/RegularTemperament/doc/node1.html][RegT (RegularTemperament)]] -- composition in arbitrary octave-repeating [[http://en.wikipedia.org/wiki/Regular_temperament][regular temperaments]] (any rank), including [[http://en.wikipedia.org/wiki/Just_intonation][just intonation]] with arbitrary limits (pitches measured, e.g., in cent or millicent). Extends HS [[../contributions/anders/ET12/doc/node1.html][ET12]] -- simplified pitch notation for the common 12-tone equal temperament [[../contributions/anders/ET22/doc/node1.html][ET22]] -- composition in [[http://en.wikipedia.org/wiki/22_equal_temperament][22-tone equal temperament]], extends HS [[../contributions/anders/ET31/doc/node1.html][ET31]] -- composition in [[http://en.wikipedia.org/wiki/31_equal_temperament][31-tone equal temperament]], extends HS [[../contributions/anders/ET41/doc/node1.html][ET41]] -- composition in [[http://en.wikipedia.org/wiki/41_equal_temperament][41-tone equal temperament]], extends HS [[../contributions/anders/Segments/doc/node1.html][Segs (Segments)]] -- ready-made constructors for musical segments such as contrapuntual lines, homophonic chord progressions, or specific motifs [[../contributions/anders/PrototypeMotif/doc/node1.html][PrototypeMotif]] -- constraining the musical form based on motif prototypes [[../contributions/anders/Motif/doc/node1.html][Motif]] -- constrainable motif model supporting motif variations [[../contributions/anders/Measure/doc/node1.html][Measure]] -- constrainable meter model [[../contributions/anders/Fenv/doc/node1.html][Fenv (function envelope)]] -- envelopes by numeric functions [[../contributions/anders/Gnuplot/doc/node1.html][Gnuplot]] -- an interface to [[http://www.gnuplot.info/][Gnuplot]] for plotting numeric Oz data (e.g., [[../contributions/anders/Fenv/doc/node1.html][Fenv]] data). [[../contributions/anders/Realtime/doc/node1.html][RT (Realtime)]] -- solvers for real-time constraint programming [[../contributions/anders/MidiInput/doc/node1.html][MidiIn]] -- MIDI file import [[../contributions/anders/OSC/doc/node1.html][OSC]] -- an OpenSound Control interface [[../contributions/anders/ConstrainTimingTree/doc/node1.html][CTT (ConstrainTimingTree)]] -- constrain the shape of a tree of temporal items These provide further extensions. [[../contributions/anders/Memoize/doc/node1.html][Memo]] -- memoization of functions (e.g. useful for a modular CSP definition where some function always returns the same data structure with the same constrained variables when given the same input) [[../contributions/anders/OzServer/doc/node1.html][OzServer]] -- run Strasheela as server in the background, started and 'remote-controlled' by any other application (e.g. a Lisp compiler) [[../contributions/anders/ScoreInspector/doc/node1.html][ScoreInspector]] -- extension of the Oz [[http://www.mozart-oz.org/documentation/inspector/index.html][Inspector]] for inspecting Stasheela score objects [[../contributions/anders/SettingsGUI/doc/node1.html][SettingsGUI]] -- a GUI interface for setting Strasheela environment variables [[../contributions/anders/Tutorial/doc/node1.html][Tutorial]] -- the tutorial application definition [[../contributions/anders/IOzSeF/doc/node1.html][IOzSeF]] -- score search support for the [[http://www.mozart-oz.org/mogul/doc/tack/iozsef/iozsef.html][IOzSeF]] constraint solvers ; MultiDict ; MultiRecord * How to Create User Extensions? An extensively documented extension template is provided at [[../contributions/ExtensionTemplate]], which demonstrates how Strasheela extensions are created.