Cabbage Logo
Back to Cabbage Site

Selectively saving widget presets

Hi Rory,

Is there any way to selectively save only certain widgets’ presets when using the filebutton/combobox method of saving presets? Here’s a simple scenario that illustrates what I’m after. I’ve got a bunch of widgets for an instrument I’m building. One of the widgets is a button that turns the whole instrument on and off. I don’t want this on/off button’s state to be saved in the preset because in the moment of performance I’d rather use the current on/off state. Similarly, I don’t want the master volume slider’s state to be saved in the preset because in the moment of performance I’d rather use the current master volume state.

This seems like it would be a common issue for people using Cabbage. The only way I know to fix this is to go into the .snaps file and delete those widget states. However, that’s pretty tedious. Is there another way to do this?

If not, what about creating a new identifier for widgets that allows the widget to be shielded from preset saving?

Thanks for your help!

In this instance, I’d just write my own preset manager in Csound. In the long run you’ll have far more control of things. A new identifier might work too, but it might take a while before I get a chance to add it. But it’s usually not that long to be fair…

Thanks for the suggestion. I’m willing to write my own preset manager. Is the idea to create an instrument that reads and stores the values and an instrument that loads those values? Can you by chance point me to some example code that could get me started? I’m sure others have done this.


Check out this thread @TONITORMX created one to address the issues he was having with the inbuilt one. If you scroll down there are some files that you can look through.

Excellent, thanks very much! As you said, I do think this will give me better control in the long run, so I appreciate being encouraged to try this solution rather than having you add a new identifier to the widgets.

As always, thanks for your responsiveness and helpfulness.


I recall being quite impressed with his system, and he is able to make it work with an item list too. You can see it in action in his ToneZ plugin.