score.ops
Score operation functions for translating, scaling, repeating, and merging
serial and parallel parts. Also for calculating durations. Assumption about
score note format are described in each function's documentation.
sco-dur
(sco-dur sco)
Calculates score block duration. Assumes 2nd and 3rd items in each Note
represent start time and duration.
|*|
(|*| sco num-repeat dur)
(|*| sco num-repeat dur start)
Repeat score for num-repeat times every duration in time.
|+|
(|+| sco start)
Adjust start times for score. Assumes 2nd item in each Note represents
start time.
|p|
(|p| & sco-blocks)
Flattens list of score blocks into a single list in parallel. (Simply
concatenates blocks.)
|scale-to|
(|scale-to| sco dur)
|scale|
(|scale| sco multiplier)
|s|
(|s| & sco-blocks)
Flattens list of score blocks into single list in series, adjusting
start times for each event in score block to follow previous score block.
If an item within the sco-blocks is a number, it will advance the start time
by that number (useful to put in space between score blocks).