NoteSequence
A container for pattern streams giving frequency, duration, length Information and streams for other arguments of your choosing. Used by [VoicerSequencer] and [LinkedVoicerSequencer].
*new(freqs, durs, lengths, absLengths = true, maxPlayBeats = inf ... args)
freqs: A Stream or Pattern returning frequency values you want to use. Chords can be played by including an array in the stream. Rests should be written as an empty array (i.e. a chord of zero notes).
durs: A Stream or Pattern returning the number of beats until the next note or chord should sound. This must be an integer or float; arrays are not allowed here.
lengths: A Stream or Pattern returning the length of each note (which may be longer or shorter than the duration of this note, since Voicer is polyphonic).
absLengths: if true, the values returned by the length stream will be used as is. If false, the values will be multiplied by the note's duration, allowing you to treat the length stream as a legato/staccato/overlap parameter.
maxPlayBeats: The maximum number of beats this NoteSequence will play before returning nil. If this argument is supplied as nil, it will be replaced by inf and the sequence will therefore play indefinitely.
args: An array of pairs: [\argname, Stream/Pattern, \argname, Stream/Pattern, etc.]
next
value
Return the next note in the sequence, as a sequence note object. SequenceNote has four instance variables: freq, dur, length, args, which may be used directly with voicer.gate. When any of the streams (except lengths) returns nil, next will also return nil.
Note that NoteSequence is not a subclass of Stream, even though it implements next. This is because LinkedVoicerSequencer depends on NoteSequences not being embedded in Streams.
freqs_(newStream, quant, offset)
durs_(newStream, quant, offset)
lengths_(newStream, quant, offset)
absLengths_(absL = true)
putArg_(name, newStream, quant, offset)
Change a stream on the fly. If you do putArg on an argument that already has a stream, the old stream will be thrown out first.