Cabbage Logo
Back to Cabbage Site

How to hide the plugin GUI right panel

After you click on the button to edit the GUI of your plugin and then you click on a widget, Cabbage will display a panel on the right side to let you modify some values without having to write them manually in the <Cabbage>...</Cabbage> section. It’s very cool, but after I finished to edit some things, I would like to hide that panel to let me have more horizontal space for the Csound code editor. How can I do that?

There is no auto-hide function of this window. But it should be possible. THis is where the panel is creaed:

When users update a property it triggers a change listener callback that calls this code:

You could hide the panel in there? This would mean each time a property is updated that window closes again. I’d say a better option would be to get it to close after a few seconds of inactivity? I’d see if this work first, then we can add a timer to auto-close.

Let the panel hide itself after a few seconds it’s not always a good choice because sometimes it could be useful that the panel is always visible. I think that the user should be able to hide the panel whenever he wants, for example by clicking on a [>] button that could be placed somewhere on the panel itself.

I’m just adding this now.

Nice! :wink:

Just push some code to the develop branch adds a toggle panel menu item. You can use ctrl/cmd+h to toggle its visibility. You have to give the code editor the focus first, but it’s not too bad. I’m not comfortable enough with the JUCE command manager to add global keypresses :confused: I was thinking of a button, but couldn’t find a place to put it!

Maybe you could make a little [x] near the top-right corner of the panel.
Something like this:

That whole area is taken up by the bounds property field. We could throw it on stop, but I’m not sure how good it might look there?

Is it possible to create a little row above the “Bounds” row, only to contain that little ‘x’ right-justified? All the properties would scale down a little but I think it should not be a problem…

Just pushed some code through to git.

I recreated a local copy of Cabbage from your develop branch but now I have some troubles with compiling… VS2017 complains to me that it doesn’t found the identifier ‘PluginCreationCallback’ at line 77 of “audio\plugins\cabbageinternalpluginformat.h”.
Maybe the problem is that you used a new Juce version?

I’m using JUCE 5.4.1?

I thought the master branch was on that too?

Ok, I used Juce 5.3.2 and it worked well for the project before your latest mods but with the current files from the develop branch it doesn’t work anymore.
So, I had to download Juce 5.4.1, build Projucer, open with it the CabbageIDE.jucer file and recreate the VS2017 project and now Cabbage compilation works but… It’s so strange! I see the ‘X’ in the right panel of the GUI editor, and it works for closing the panel, but the PLAY button in the filetab doesn’t work anymore so I cannot play my plugin. I can just edit its widgets…

P.S.: I can start the plugin only if I press CTRL+S. I noticed that now even my mods on the window titlebar (titlebarcolour, fontcolour, titlebargradient) don’t work. Maybe they don’t exist in the develop branch?

Let me check…

Darn it, I thought I had them pulled in? Might be just the master branch. I will merge the master to the dev branch now…

I did pull them in? They were merged with the master branch a few days back?

Maybe the new Juce version breaks some things in the Cabbage code?

Did you make any changes to the JUCE code base? I thought it was just in the Cabbage code base?

[edit] I just fixed the plat button issues in the develop branch…

Absolutely not… I recloned the project from github in a new local folder, made a new test branch from the actual development branch and then recreated the VS project with Projucer 5.4.1 (rebuilded from the source code downloaded from the main Juce site)…
But I have to say that I recloned the project from my github fork of the project (the one that worked with Juce 5.3.2). But before recloning it on my local PC, I merged your master & development branch with mine… Maybe this was not sufficient?

I see now your [edit], so there was a problem… But I think there is a typo error here:

From my tests that should be “off” to make STOP button work.
Now remains the problem of my previous mods on the form widget that don’t work anymore…