Which beat of the arpeggio playback is at
The default channel for arpeggiated notes to be played on.
This event fires when the arpeggiator finishes.
Signifies whether the arpeggiator has stopped.
The metronome which the player uses for tracking beat timings
Allows attaching custom logic to modify each note produced by the arpeggiator.
For example:
const arp = new Arpeggiator(arpeggio, metronome, midiOut);
arp.noteModifier = note => note.velocity = Math.floor(Math.random() * 128); //Give each arpeggiated note a random velocity
Provides a way of identifying arpeggiators so they can easily be retrieved later
If not running, then the arpeggiator won't do anything with each update cycle
How many beats in the arpeggio to play for every beat that passes in actual time. For example: 1.5 means the arpeggio is played 1.5 times faster than it would normally.
Returns the name of this type. This can be used rather than instanceof which is sometimes unreliable.
Provides a way for setting the ref through a chained function call. For example:
clock.addChild(new Arpeggiator(arpeggio, metronome, midiOut).withRef('arpeggiator'));
The calling object.
The ref to set on the object.
Generated using TypeDoc
The Arpeggiator is much like to Arpeggios, what the ClipPlayer is to Clips.
The Arpeggiator should be added to a clock to receive regular updates. It should hold a reference to a metronome for beat timings. It should hold a reference to a MIDI out for it to send notes to. It should hold a reference to an arpeggio, which defines the shape that it will play. And it should hold a reference which defines what chord it should play the arpeggio shape around.