Hi - Cabbage is looking promising for us to port our Csound instruments to VSTs. However, before we spend hours digging in I am curious how customizable the UI is. Can you, for instance, create something skeuomorphic? Are there any examples of nice custom designed interfaces? Can it be as customizable as, say Kontakt, with the right design?
People have created skeuomorphic GUIs in the past. You can use a filmstrip type of approach.
You can also use SVG files. I’d say for the most part you should be able to create whatever look and feel you like. Let me know if you have any issues getting up and running.
Thanks, although I’m not familiar with KSP, do you have a link?
Are you using Cabbage version 2? It doesn’t have any logo on the GUI. If you’re still using v1, then I suggest you head here and grab the new version. It has quite a few improvements on version 1.
You could create your labels as images or SVG using whatever font you likes, but changing the default font is not possible at present. At the moment, Cabbage ships with its own font, meaning it will display text without an issue even if the font is not present on the system running Cabbage. I’d be Ok with letting users set a particular font file, but I don’t like depending on system fonts as they change quite often.
Would a single font be Ok? I could look into adding a new identifier for this, but I think I would like to make it global, one font for all. Making each widget capable of using it’s own unique font would be a bit of a pain.
Well, that would be interesting - especially if fonts could be exported with the instrument and not required to already be installed on the end user’s system.
A few other suggestions - and not sure if it’s already possible - some things I love about CsoundQT is the manual integrated into the IDE, the ability to click on an opcode and jump right to it in the manual and the opcode autocomplete.
Jumping to the manual should work if you press Cmd+1 on OSX or F1 on Windows. But I recently made a change so I hope I didn’t screw things up. I never found Autocomplete useful for Csound things but I can look into it.
I just mean opcode autocomplete. Sometimes one forgets the correct name of an opcode (eg. lineseg or linseg?) and it saves time to have the valid name appear rather than looking it up.
I took a loo at adding custom fonts for GUIs and I think I have a found a solution. I have an autocomplete feature somewhat implemented. It still needs work, but it could be extended to searching the entire opcode base. I’d have to see how quickly it can do the search. The problem with JUCE, the C++ framework I use to write Cabbage. is that it doesn’t really have anything in the way of text editing tools. Unlike QT which ships with a fully featured code editor component. Any kind of code editing feature therefore has to be coded manually. I hope that someday JUCE will up its code editor and we’ll finally have access to code folding, line wraps, auto-complete, etc.
New version available now with experimental auto-complete. You need to enable it in the Settings. This version also features the new tracker identifiers too. Available from here.
Allowing for more customisation of rsliders. Were you looking for a tracker interface? If so check out the http://cabbageaudio.com/docs/event_sequencer/ and corresponding example. I’m not sure how many people are using it, it’s relatively untested, but fun all the same.