midi utility plugin
Keep state of various params to make more advanced decisions about what messages to send.
Intercept midi and increment/decrement a CC message's Value by a set amount (default 1), then pass on to output.
- Pretty much the same idea as the existing PC increment/decrement function
- The inc/dec value itself is midi controllable
- disabled just passes input to output
This could be done in the MIDI Captain's Super Mode, using the keypress
feature, but only in one direction. This plugin allows incrementing/decrementing CC values without statically configuring them in the captain (or any other device).
My current thinking is to intercept a single, static CC incoming from a controller.
- Configure the trigger CC.
- If it's not been set before:
- Save its current value, or set a starting value, adjustable, midi controllable.
- If it has been previously set: get the saved value (state).
- Increment the value by a given integer. Default 1, adjustable, MIDI controllable.
- RANDOM option
- provide a RESET function to start over, unset state; midi controllable
- maximum value of 127. reset to 0 at 128. reset value same as start value. Max value adjustable, midi controllable.
- same pattern for decrement.
Accept a single CC as a trigger to sweep a CC value up or down.
- Configurable speed.
- Looping option.
- Random option.
- Waveform options (sine, square, triangle, etc)
- Max Value configurable, default 127/0
- Stop/Reset options:
- Reset to 0 when stopped
- Ramp to max when stopped
- Stay at current value when stopped
- Ramp up/down to 0 (or max) when stopped (configurable ramp speed)
Sends a CC/PC/etc at timed intervals.
- Configurable for one-shot or looping behavior.
- Configurable number of repeats.
- Can be fed into any of the other features (auto-increment, auto-ramp, etc)
- Can be timed or triggered on CC input.60646
This might be implementable in another form using https://github.com/gbevin/ReceiveMIDI and https://github.com/gbevin/SendMIDI.
These CLI apps allow scripted MIDI messaging and state management.