-
Notifications
You must be signed in to change notification settings - Fork 403
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
Change certain strings based on context #1848
Comments
The primary problem @mkruselj ran into trying this first was that Parameter doesn’t have a reference to its associated storage (but does vice versa). Adding this in carefully and making sure it is set will let us do this. Or maybe doing some gross hack. But much bigger change than just an if alas. |
Another thing to tuck into this issue is changing "semitones" unit in pitch-based parameters to "keys", based on microtuning being loaded or not. EDIT: Actually, this is issue #1495, so let's link these two together! |
Hey, can I pick this up? |
you mean pick up the issue to code? Or pick up the binary with the change? This issue is a bit hairy as a first issue but happy to describe how to do it if you are a C++ dev looking to join the project! |
Pick up the issue, I would love to join the project :) |
Cool! Welcome. You probably should also join our slack then if you want to hang with the team. The basic problem is the data structure which knows if we are tuned (SurgeStorage) is "above" the data structure which makes the string (Parameter) in the hierarchy. So we need to get a reference to the storage object into the parameter function which makes the string. There's a lot of ways to do it but I think the safest is this:
And welcome! Glad to have devs join. |
I'll get the proper tooling and get to it. I'm also joining the team slack rn |
I went a different approach on this since it showed up more than once. Pushing the pattern today. |
We want to make formating decisiosn based on the state of the synth so parameters need storages. They don't always have them so add a weak reference to storage to the parameter. Demosntrate this by changing 'semitones' labels to 'keys' when you have an alternate tuning. Closes surge-synthesizer#1848
We want to make formating decisiosn based on the state of the synth so parameters need storages. They don't always have them so add a weak reference to storage to the parameter. Demosntrate this by changing 'semitones' labels to 'keys' when you have an alternate tuning. Closes #1848
For example, LFO Phase/Shuffle parameter - it should be just called Phase for all LFO modes except Step Seq, otherwise it should be called Shuffle.
Another thing, currently pitch-based parameters (Pitch, Sync, Formant) don't show any unit at all when it should be semitones, but this should change between "semitones" if microtuning is not loaded and "keys" or "pitches" (I'm more inclined towards the former) if microtuning is loaded.
In fact, it looks like those two things are the only of this sort which would need a context-sensitive update.
Also tightly related to #1201!
The text was updated successfully, but these errors were encountered: