From the original SynthMaker forum (2004–2014), with its members’ names and dates.
MyCo ·
Hi!
For my next project I need something to manage a huge amount of presets, so I thought I build a preset manager, that has filters so that you don't need to browse one complete list with every type of presets.
Here it is, but it's a little bit buggy, because the preset manager primitive itself is too. One problem occurs when you want to load a preset bank that is larger than the banks you have before(I've loaded 96 presets, you'll get the bug, when you try to load a bank with 97 presets or more), then the preset manager lists all presets, but when you try to access the first new preset (in this case the 97th), nothing will happen.
How it works: the 2 filters that can have as much entries as you like, are stored in the name, eg. Filter1: "LD" (shortcut for Lead), Filter 2: "S" (shortcut for soft), and the Preset name: Soft Lead results in Preset name that looks like this: "LD S Soft Lead"... that's the whole magic 😈
aliasant ·
Awesome work! Looks nice too 🙂
infuzion ·
Nice to see you creating again MyCo!
Nice stuff, & I like the dual filters with shortcuts idea. The code is a bit hard for me to fully grasp since there are so many sub-modules, but I think we have different programming styles. 😉 Yes, the number of patches in a bank is more or less hardwired at runtime, but is still user-configurable.
3 main suggestions, due to some major lag in SM's preset system with larger OSMs (a project I was working on had 340 parameters, so each patch change took a few seconds):
1) Don't auto-load a new patch.
Since there is no "Are you sure?"; clicking on the wrong button when playing live can be disastrous! Perhaps either:
1a: Have a dedicated Load/Save button.
1b: Right now, changing a filter auto-loads the first new patch in the filter, so no change until a filter is selected is best IMHO.
2) Move the Instrument-Type into the bank loading/saving system.
As a workaround for my old mega-project, I shrank the number of programs down to 16; a bank 128 programs took 20-30 seconds to switch. So having a 16 patch bank of hard leads, another bank of soft pads, etc, would have been perfect.
3) Hardwire the VST's name into the filenames
So when someone loads a new patch from a folder full of 20 different VSTs, only the patches/banks for that synth will be listed byt the present manager.
4) Make my VSTi for me.
Just checking if you're sill paying attention. 😉
MyCo ·
Yes, the number of patches in a bank is more or less hardwired at runtime, but is still user-configurable.
Well I changed the "default" preset manager to count the presets in the file, set that as input on the preset manager primitive and then set the preset names. Doesn't work well, but there is no other way to have dynamical banks with different numbers of presets.
1) Don't auto-load a new patch
You mean: don't load the preset after changing the filters? This could be done, but isn't that easy, because you'll need a preset name list with nothing selected as result.
2) Move the Instrument-Type into the bank loading/saving system.
As a workaround for my old mega-project, I shrank the number of programs down to 16; a bank 128 programs took 20-30 seconds to switch. So having a 16 patch bank of hard leads, another bank of soft pads, etc, would have been perfect.
Is there any way to load a bank over parts of another bank? Haven't found that til now.
3) Hardwire the VST's name into the filenames
You could set the file extension of the presets to the name of the synth, so it'll be automatically filtered by the "open" dialog box.
4) Make my VSTi for me
Don't you have fun when making S|M stuff? 😈
McBarGig ·
Loading part of a bank over another bank...Yes I finally managed to do that. Not totally within SM. I simply wrote a small external app to remove all the preset elements except the ones I want to load later, then, when you load that "part", it does not affect any of the other elements of your plug, it will simply load those elements that are present in the "part" file..
For those that do not know C, But know VBScript, or I think JAVA Script as well...I believe you can write something with the Windows Scripting host and use a shell execute to run your preset parsing scripts...I have not tried as I compile my code, but that may work as well..
jobro ·
This looks pretty sweet. I've allways wondered how to create such a manager.
geolito ·
just what i was look for ..thanks and peace..
Wrote something here? To have a post removed or your name hidden, write to [email protected].