Open j5v opened 2 years ago
Alternatively, use the existing modulation UI, to have a formula output 'modulate' the UI Status lines. Instead of 'adding' like the other modulators, this modulation just copies the text to the Status line. This seems a lot simpler than adding side-effects to the object model, and scanning these states for changes.
This is super interesting. I've thought a lot about the modulation graph and how the orange arrow (in S16 and later) and the formula modulator (in XT) obscure it, even with things like the mod list. Mod Mappers will do the same. We did purposefully make the extra state opt-in so we could infer a maximum graph from the init state, but of course that's not the same as displaying value transformations.
Very interesting
I think a better way to deal with this is to simply have additional state stored per macro. Namely:
Is your feature request related to a problem? Please describe. This is a quality of life UI feature that gives feedback to the user about what they have selected in macros, in cases where the effect is nontrivial.
For patches where formula LFOs take macro input to then modulate other parts of the synth, where the modulation outputs are not straightforwardly 0..1 continuous or linear, but are instead modes of operation or interpolated discrete states, that the user would want to know about. The feedback text would come from a formula LFO, while the user would be changing the macro slider.
For example, I might have a macro slider that selects from:
Describe the solution you'd like: Possible solutions (one, many, or all)
Impacts:
Describe alternatives you've considered: .
Additional context: If we don't want macros to send unclamped values, then the slider output can still be 0..1 for all these cases, because the formula LFO can scale to context. It's an extra step for the sound designer to reconcile the slider steps with the code.
This is an advanced use case, used by (I guess) less than 5% of patch designers, but it would provide more meaningful context to users, for macros that would otherwise be difficult to use.