These functors define the main user functionality of Strasheela.
Score — music representation
SDistro — score search engines and distribution strategies
Out — means for output into various formats
Midi — Midi output (a subfunctor of Out)
Init — customise settings (e.g. for output)
Strasheela — the top level functor (simply exports the rest of Strasheela)
These functors provide additional functionality.
GUtils — general utilities
LUtils — list utilities
MUtils — utilities related to music or acoustics
SMapping — score traversal
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.
H (Heuristics) — heuristic constraints
Pattern — constraints on lists to express patterns in music
HS (HarmonisedScore) — constrainable harmony model
RegT (RegularTemperament) — composition in arbitrary octave-repeating regular temperaments (any rank), including just intonation with arbitrary limits (pitches measured, e.g., in cent or millicent). Extends HS
ET12 — simplified pitch notation for the common 12-tone equal temperament
ET22 — composition in 22-tone equal temperament, extends HS
ET31 — composition in 31-tone equal temperament, extends HS
ET41 — composition in 41-tone equal temperament, extends HS
Segs (Segments) — ready-made constructors for musical segments such as contrapuntual lines, homophonic chord progressions, or specific motifs
PrototypeMotif — constraining the musical form based on motif prototypes
Motif — constrainable motif model supporting motif variations
Measure — constrainable meter model
Fenv (function envelope) — envelopes by numeric functions
Gnuplot — an interface to Gnuplot for plotting numeric Oz data (e.g., Fenv data).
RT (Realtime) — solvers for real-time constraint programming
MidiIn — MIDI file import
OSC — an OpenSound Control interface
CTT (ConstrainTimingTree) — constrain the shape of a tree of temporal items
These provide further extensions.
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)
OzServer — run Strasheela as server in the background, started and 'remote-controlled' by any other application (e.g. a Lisp compiler)
ScoreInspector — extension of the Oz Inspector for inspecting Stasheela score objects
SettingsGUI — a GUI interface for setting Strasheela environment variables
Tutorial — the tutorial application definition
IOzSeF — score search support for the IOzSeF constraint solvers
An extensively documented extension template is provided at ../contributions/ExtensionTemplate, which demonstrates how Strasheela extensions are created.