Cabbage Logo
Back to Cabbage Site

Presets...once again

Thanks, but might want to send it over PM so everyone doesn’t grab the files :wink:

Sorry about that. Time to change that link!

The issue @gerbo posted about the presets not being saved in Cubase or Logic, IF the user has not started audio is still valid if you don’t use the new GUI mode. It’s good to be aware of this in case anyone queries it.

Thanks, do you have the thread with info about the new GUI mode?

I wish there was a “announcement”-category or something like that that only you have access to posting posts in. Some of the new beta-changes sometimes get lost in different threads, and I think it would be useful to separate them from the other posts?

True. I will set up an announcements category that people can check :+1:

1 Like

The post you are looking for is this one:

Note that changing to the new guiMode() now will mean that you have to update all your identchannel() stuff. To be honest, it’s a rare case that someone would save a preset without having listened to it first :man_shrugging:

Ah, so it is in fact only if the audio has not started at all during that specific session?

Not quite. It will remember that state of the sliders when the audio last stopped. It’s a pain. Logic and Cubase don’t run their plugins processor methods unless the users has started playback. All other hosts run these methods continuously.

Ah okey, yeah that sounds annoying, will mention this stuff in the FAQ.

Hello,
I see that there is a lot of homework ahead and you want to make me sweat :sweat_smile:

I’m updating a project with the new guiMode (“queue”) mode, to test as reliably as possible.

v2.5.37 (1ce6df5)

  • protectedItems (3), should be activated after saving user presets. If it is activated from the beginning, and you want to memorize any preset, the plugin or the Cabbage IDE closes.

  • VST2 and VST3, have trouble recognizing the external presets folder because the developer’s name appears as:
    “CabbageAudio te” (until reaching “te” there are 4 spaces) If this defect is emulated, the external presets are recognized.

  • filmsStrip has now changed to filmstrip

  • Now Logic and Cubase memorize presets without moving audio :+1:

I think this watercolor is being precious :wink:

I knew you’d find an issue if there was one!

That’s obviously not right, although activating them after you create them is a good idea. I will sort the bug and prevent any crashes.

That’s odd. I’m not seeing that issue here? Maybe you need to do a clean build? Or are you testing from the beta version in Azure?

This is what I get on Reaper Mac.
reaper-fx
That’s why when I create the presets folder in the user library, emulating what appears on the screen, I can read them.

In AU, there is no such problem. Only in VST2 and 3.

Thanks @gerbo, can you confirm this is not with your own build but with the latest beta from Azure?

This was with my own Git build.
This new test is already with azure and something similar happens because the distance that remains when closing parentheses is also 4 spaces.
reaper-azure
I have to do the same in Library / CabbageAudio , leave those 4 spaces, so that the list of presets appears in the plugin.

I know what’s happening there now. The Projucer fields have extra white space in them. I’ll fix that tomorrow. Thanks again for checking.

When I override CabbageEffectNam and replace them with the plugin name, everything works fine in VST and without spaces. Now the external presets are recognized correctly.

Thanks to you Rory :+1:

Thanks @Gerbo. That confirms the problem. I need to removing those trailing spaces. When Cabbage exports, it searches the binary for this string and replaces it. It’s obviously only finding part of it at the moment, which is causing those weird problems.

This is fixed now in GIT.
Screen Shot 2021-04-23 at 10.46.05

Note there is still some extra whitespaces after the plugin name. Cabbage changes the plugin name each time it exports. To do this it must search through the plugin binary for a 16 char long generic name. When it finds it, it replaces it with the desired plugin name. If the plugin name is shorter than 16 chars I replace the rest of the 16 char memory location with white spaces. If the plugin name is longer than 16 chars it will be truncated. There is no other way to do this without compiling a new version of Cabbage for every plugin.

Thanks for the info @rorywalsh :+1:
After compiling this dev tip, I have made a summary of the last tests with guiMode (“queue”):

  • Resize:
    AU, VST, VST3, open, close, plugin and session, everything is memorized and without the need to play audio, Ok!

  • Presets:
    Now on Mac, the external folder is recognized correctly. Developer name no longer contains spaces.
    Also now, you can save all the parameters without the need to be playing audio.

I don’t know if I forget something with Mac. Windows is next… :face_with_monocle:

1 Like

@rorywalsh. Before I start looking into this, is there an ignore tag for certain widgets for saving presets?
If you point me to where the xml parser for presets is in cabbage I can experiment with adding this feature as I assume it would just look for a tag in a widget and then not write / delete the data for that entry.