Module/Lane Presets, Reusing/Merging Presets
Nikolozi
While discussing the possibility of adding a selectable key and scale in MIDI Scale module, the idea of module presets came up.
It would make sense to add a general feature to Mela, where each module can have a mini preset browser. Some modules will even have factory presets. The user will be able to save their own for any module. This feature makes even more sense when you consider complex modules like Compressor or Stereo Delay.
Jon Diercks
Nikolozi now that every Preset is essentially just a Stack, seems like it should be relatively easy to add an “Import” option to every [+] menu where you could otherwise insert a Lane or Module. Looking at the JSON structure of .mela files, I guess the main challenge would be renaming the item instance identifiers on import to avoid collisions. But you already have most of that logic in place for regular multi-instance module adds.
In addition to an “Import” option, Ideally I’d also like to have an “Include” or “Embed” option, so that if I make changes to the original saved Preset, any other Preset that Includes it would be updated automatically. This could be trickier, especially if any changes to parameters or modulation mappings get made on an Include, but it still seems do-able and potentially very powerful. I suppose the Modules contained within the Included preset would have to be treated as static, disallowing changes other than param values.
Nikolozi
Jon Diercks As you guessed correctly, embedding will be much trickier, not just technically, but will need to come up with a good UX. But it might become more obvious over time how it should work.
As for preset merge or import, it will happen much sooner. It still requires quite a bit of technical bits, e.g. need to be able to load multiple document (preset) objects into memory without them both trying to create the parameter tree etc. But probably all doable in a reasonable amount of time. The main thing I need to support before then is a dynamic number of buses (with unique IDs). Because when 2 presets merge, the total number of buses (either Audio or MIDI) could be more than 4. Tbt, it bothers me quite a lot that now that almost everything is unlimited (CPU/memory allowing) the internal buses are still fixed to 4. So, maybe I'll get around to it soonish.
Update:
Along the way of implementing these features would be good to allow drag-and-drop across instances. i.e. you could grab a lane or a module from one, then drop it on another, and the module hierarchy along with parameter values will be cloned.Nikolozi
Merged in a post:
Save/load lanes and sub lanes as modules
Sascha Brossmann
Currently it’s hard to reuse components across patches, e. g. specific synth voice setups, FX chains, etc. It would be extremely helpful to extend the library manager to include lanes and sub lanes so that you can also save and load parts of patches.
Ven
Oh Yes ! That would be an awesome feature.. I'm on my very early days with Mela (come from the Empress Zoia environment), but i actually don't know if you can like save lanes to integrate them on the fly on other presets (which would lose modulators-connections, obviously)
Nikolozi
Ven I discussed a similar idea in the comments in one of the videos: https://www.youtube.com/watch?v=aC9yfWTeGgE&lc=UgxOxFmkbIIwq0lQD2V4AaABAg.AGgV4RmA3S0AGgWxOYsmO4think
To reiterate, since a Mela preset is now simply a Stack module with Group modules as lanes, it should be possible to drag in another preset and merge with the current one.
On the other hand, if module presets become a thing since lane is a Group module, saved Group presets will just be saved lanes.
Probably there's an elegant unification of all these ideas, once I figure it out I'll implement it as the time allows.
Nikolozi
Good suggestion, I want to add this sort of feature at some point.
Sascha Brossmann
Yes please! Reusable components in a modular setup are a great time saver and creativity accelerator.