Module control

Module control 

Source
Expand description

Declares control structures, which can be used to execute events at specified time intervals.

The main control structures are Seq and Loop. These can be used to modify a Signal at regular time intervals. Note that the Signal won’t be immediately modified when the Seq or Loop is initialized. It will only be modified after the first time interval transpires. You can call Seq::skip or Loop::skip in order to immediately skip to and apply the first event.

Also note that the time interval between events can be zero. The effect of this is to execute these events simultaneously.

§Type aliases

This file also defines various useful type aliases. Arpeggio serves to arpeggiate a signal by changing its frequency in periodic intervals. [MelodySeq] and [MelodyLoop] both functionally serve as piano rolls for a polyphonic signal.

Structs§

Arp
The function that arpeggiates a signal.
Loop
Changes a signal according to a specified function, at specified times. These times are looped.
Melody
A series of timed NoteEvents. This can be used to build a ctr::MelSeq or a [ctr::mel::Loop].
Metronome
A control structure that can be used to execute an event every certain time duration.
Note
A note in a piano roll, which has a start time, some length, and some associated data. The note can potentially be trailing.
NoteReader
A “note reader” function that reads through different note events in order, and modifies a gen::Polyphony struct accordingly.
Seq
Changes a signal according to a specified function, at specified times.
Timer
A control structure that can be used to execute an event once after a certain time duration.

Enums§

NoteEvent
A note event in a piano roll.

Type Aliases§

Arpeggio
An arpeggiated signal.
MelLoop
A melody that loops.
MelSeq
A melody that plays from start to end.