A Rhythm Constraints library for OpenMusic
By Örjan Sandred, © IRCAM 1999 (version 1.1), Stockholm 2002 (version 1.3-...)
Update file encodings/merge different versions
Fixed bug in r-hierarchy
New functions: r-markov r-quant hr-quant_dev hr-quant_ornaments
Fixed bug in tree->simple
New functions: pause? (will output true if a variable is a pause) make-rhythm-domain (create a rhythm domain with all durations between limits)
Updated functions: r-hierarcy, gr-hierarcy (now with the option ignore-pauses) r-canon, gr-canon (now with the option to scale the duration in comes in realtion to dux, i.e. a canon in double durations, half duration, etc.)
This update makes it possible to work with pauses in all rules/functions. A pause is indicated as a negativ duration. All user rule tools (and all other functions) understands pauses.
Only Pmc is supported in this update (not the Csolver). If you want to work with the Csolver (the Situation library), you have to use RC version 1.1. The csolver might work in this version if you do not use pauses.
A fast update at the PRISMA meeting in Paris. This includes pauses, but some serious bugs exist.
New functions in this update: r-sync-over-barline r-pattern r-layerorder gr-layerorder get-voicenumber
With this update there is a Tutorial section in the manual.
The following limitations exist in the library:
- There can be maximum 800 search variables in a calculation.
- There can be maximum 2400 events in each rhythm layer (single events, not motifs).
- There can be maximum 8160 grid points handled by the r-beat-subdiv (this equals 170 measures with the time signature 4/4 if the rule r-beat-subdiv allows the subdivisions '(1 2 3 4 5 6).
This can easily be changed in the file "Classes-and-vectors.lisp": change the parameters *max-numberof-rhythmvalues*
, *max-size-timesigngrid*
and *max-numberof-variables*
.
The number of voices and layers can not be changed. Never change the parameters
*max-numberof-layers*
and *max-numberof-voices*
(this might create serious errors).