Saving preset with peak controller: instrument connecting to its controller
To reproduce:
- Create any instrument
- In the instrument, create a peak controller fx
- Connect volume knob to its peak controller
- Save the instrument as preset
- Load the preset back
- Result: The volume knob is connected to an undefined controller.
It seems that this bug is difficult to fix. This bug is not damaging tho.
Marking this for 1.1.0 since it's not a critical issue and may be tricky to fix.
Going to bump this up to 1.2. Don't really want to touch peak controllers for now, since there's going to be lots of changes to controller code in 1.2...
Going to bump this up to 1.2. Don't really want to touch peak controllers for now, since there's going to be lots of changes to controller code in 1.2...
@dizzy is this comment now aimed at 2.0?
Status: bug still here, but the problem is not really about peak controller, imo.
In general, if you save a preset with a control linked to something (e.g. to a controller created from the Rack), and then you open it on a new project, its options will show it is "Connected to
Second problem, which is more about effect instances in general: when you preview a preset from the browser, and that instrument had a peak controller, a Peak Controller is created in the Rack. Then, if you load the same preset as a track, a second Peak controller is created. In both cases, the connected knob fails to find that controller instance (I don't know how controller instances work, but maybe when you load one from a preset, a new instance ID is created, while the knob connection is asking for another ID? something like that...) It may also have to do with the order in which the instrument is loaded. (it should ideally load the peak controller first, then the other knobs that might be connected to it)
This is somewhat linked to #1644 In general, preset previews tend to load effects (and sometime other things) and keep them there until they are triggered by something.
Third problem (or different description of second problem): Peak controllers must be before LFO controllers in controller rack. If they are not then after saving and reloading project they get sorted automatically and some connections get LFO controller instead of Peak.
Order before save/load: Peak 1, LFO, Peak 2. Effect X connects to Peak 2. Order after save/load: Peak 1 , Peak 2, LFO. Effect X connects to LFO now.
@karmux look at https://github.com/LMMS/lmms/issues/2869
Can't replicate in 1.2.0-rc4 Is this still an issue or did no one close it, since the referenced issues here have been closed, I would assume this one can be closed to in order to avoid further confusion?
I can replicate this in 1.3-alpha. I will take on this issue. What do you want to see happen as the solution?
- Should we prevent saving controller connections as part of the preset?
- Upon loading a preset, should all controller connections be removed?
- Should the contoller connection only be removed if it can't be found?
Bouncing the ball again, to 1.3+ land this time.