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)
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| & sco-blocks)
Flattens list of score blocks into a single list in parallel. (Simply 
concatenates blocks.)


(|scale-to| sco dur)


(|scale| sco multiplier)


(|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).