Presets Functions

Presets

- Generally speaking, presets store and recall parameter values and triggers in Reactor
- The values to be stored can be predefined in a preset profile or they can be completely arbitrary (recording what changes)
- A preset profile can define values across device cores, device IDs and parameter dimensions - or they can be narrowed down
- With narrow preset profiles, there are inherent opportunities to use presets to copy/paste sets of values between devices and dimensions
- Reactor supports an infinite amount of preset profiles (re-)defined anywhere in the layer tree
- Storage and recall of a preset can work either instantaneously or played back over time
- When recorded and played back over time, values are organized in multiple segments. Each segment is essentially a time line and at the end of a timeline, playback will continue to the next segment either automatically or by user invocation (waiting for user input).
- Playback order of segments can be shuffled and waiting time between segments can be randomized. Playback for a timeline can be looped
- Recording and playback allows cancellation which will restore the state before recording or playback.
- Support for ganged recording and playback of multiple preset numbers, device ids, and dimensions (fairly exotic, honestly)
- Prepared for parameter animation (must be implemented in devicecollection)

Commands:

NextSegment (trigger)
During recording, this will end the segment and start a new one assuming there has been values added.
During playback, this will skip to next segment

AddUserWait (trigger)
Like NextSegment, but when used during recording it will insert a User Wait at the end and cap the segment length to the last added value.

Play (trigger)
Starts playback

PlayToggle (trigger)
Starts or stops playback

PlayToggleNext (trigger)
Starts or stops playback, except if waiting in which case it will

PlaySkip (trigger)
Starts playback, and skips to next segment if already playing (which may result in stopping altogether)

PlayPause
Starts playback and toggles pause if already playing

PlayPauseNext
Starts playback and toggles pause if already playing, unless at a user wait in which case it skips to next.

Record (trigger)
Starts recording

RecordToggle (trigger)
Starts or stops recording

RecordNewSegment (trigger)
Starts recording, and creates new segment on second press

RecordAddUserWait (trigger)
Starts recording, and creates new segment with user wait on second press

Stop (trigger)
Stops recording or playing

Delete (trigger)
Deletes preset if it is not recording or playing

Cancel (trigger)
If recording, it will stop recording, recall the values from before recording and reinstate the previous content for the preset
If playing, it will stop playing and recall the values from before playing.

Recall (trigger)
Instantly recalls the final values of the first segment of a preset.

RecallStateFromBeforeRecording (trigger)
Recalls the initially stored state of a given preset

DurationRandomExtension (Integer value, ms)
Sets the Random extension value for a given recorded preset.

Loop (bool)
Enable looping for a preset

Shuffle (bool)
Enable shuffle for a preset


Revision #1
Created 25 March 2022 08:11:47 by Kasper
Updated 4 December 2023 09:56:56 by Kasper