Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIDI Enhancement: CC parameter “catch up” #100

Open
ParticlesIntoWaves opened this issue Dec 11, 2019 · 1 comment
Open

MIDI Enhancement: CC parameter “catch up” #100

ParticlesIntoWaves opened this issue Dec 11, 2019 · 1 comment

Comments

@ParticlesIntoWaves
Copy link

As of now, recur will will instantly change a shader parameter to whatever value it receives from MIDI CC. This often results in a jumpy image when the shader has been switched, or edited using the keypad.

A solution for this would be to include catch up and relative modes for MIDI inputs.

In catch up mode, the shader parameter does not update until the MIDI CC input crosses its current value. For instance, imagine I changed shaders and X0 is on .5 but my MIDI knob is currently at a CC value of 0. With catch up activated, the shader parameter would not begin updating until the CC value crosses 63, giving the knob parity with the parameter.

Relative mode is similar but more immediate. A parameter would begin updating immediately when an offset CC is received, but only at a relative value to the MIDI CC. So if X0 is .5 and MIDI knob is 0, X0 will immediately begin changing as I increase the CC value, but starting at .5 instead of 0. When CC reaches 63, X0 would be now at 1, but full range of the knob isn’t restored until the CC reaches 127 and catches up to the parameter.

@doctea
Copy link
Collaborator

doctea commented Dec 19, 2019

Do you have any examples of open source projects that do this so that I can get some inspiration for how to implement this? I really need it for my customisations too now..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants