Cabbage Logo
Back to Cabbage Site

Pre-release Cabbage 2 for testing - part 1

PLEASE SEE THREAD MARKED 'Pre-release Cabbage 2 for testing - part 2’

I finally got around to building version of Cabbage2 for WIndows and OSX for testing. It would be great if people can try out their instruments and report back. Note that this zip contain only the new standalone editor. You should be able to run it from anywhere, but you don’t have export options for now.

Right now I’m just concerned with how existing instruments load. They should hopefully run just the same as before. If they don’t please let me know what’s going on. Best to probably post a simplified version of the .csd that causes problems.

There are still lots and lots of things to be added, but right now I just want to see if I’ve managed to provide all the same functionality we had in the previous version in terms of instrument code and syntax. Let me know how you get on. You can track bug fixes by browsing the commit history.

LINKS REMOVED

p.s. this version should also run any Csound csd files, not just Cabbage ones. So feel free to try running any of the Csound examples from the manual. They should all run.

Notes about small changes made

  • The plant() identifier is deprecated. To create a plant just use opening and closing { }. Old examples will still work
  • You can now have a space between the identifier and the parentheses. So bounds (1, 1, 1, 1) is valid
  • there are a number of new identifiers for widgets, but I’ll make these all available through the updated docs. For now they shouldn’t affect any previous instruments.

If there are any already known issues or syntax changes that we ought to be aware of please let us know.

Generally there seem to be changes to how things look, sometime in a problematic way. Colours seem a bit unexpected at times, checkboxes in particular seem affected and their dimensions seem to have changed (bassline).
colour with alpha value zero doesn’t seem to hide the widget as it used to. (guitar chords)

‘Flinging’ an xypad handle (right-click and drag) doesn’t seem to work (sonic lava lamp and others)

popup plants don’t work. (clavinet)

editing ‘notes’ GEN02 table flattens the table to zeroes (GEN02).

mouse sensing seems a bit impaired (ping clang)

hranges have a nice new look but strange things happen if you drag one past the other, also their popup dialogues don’t disappear (delay grain)

It seems that all groupboxes are plants now (even without a plant() identifier). This means that some of my groupboxes are now empty of their widgets! (e.g. TR-808.) Just checking the status of this one.

Something weird happening in PadSynth and PadSynthChoir. Held notes cut off after half a second. There must be something special I am doing in the Csound code in those two that causes a problem. After a quick glance nothing leaps out…

I can’t get audio in for any of the effects! This on MacBook pro hardware.

Outlines on images don’t seem to work.

Oscilloscope causes an instant program exit.

(editor) Using a scrollwheel doesn’t seem to work effectively (this was an issue on ver. 1 also). Two-finger drag on the trackpad works okay though.

MiniPops is another good example of the issues with checkboxes. For ex. the main rhythm switches should be oblongs (not square) and the colours of all checkbox are wrong - mainly that they aren’t black when they are off.

Thanks Iain. This is exactly what I was looking for, and kind of expecting, although some of the issues you report seems just plain weird! But thanks. I’ll let you know when I’ve addressed these issues and you can have another shot at it.

Btw, the only real change to the syntax is that plants no longer need the plant identifier. Also, I didn’t bother porting popup plants. I find them a nuisance to maintain. I can update your clavinet example. I think that’s one of the rare Cabbage instruments that used popup plants.

Okay so this means that groupboxes aren’t intended to be used as simple graphical widgets - they are only to be used a plants. I think this is fine so I’ll just need to make a changes to some widget coordinates. So the plant identifier is effectively meaningless in a groupbox. It’s still needed if images are intended to be used as plants though.

I suspected popups were on their way out so no big shock there.

No no no, this is definitely not by design. They should of course work just as they do in the current release. All of what you mentioned are bugs and need fixing. I’m not proposing that we change anything, apart from support for popup plants…

What is your recommended replacement technique for popups? Something along the lines of your ‘Toggling Plants’ example? I have a few other instruments that use popups.

Let me take another look. They were a pain to maintain, but that’s why I rewrote everything. So let me see if I can put then back in, although I’ll still be encouraging people to avoid them in plugins.

Hi Rory. I downloaded the OSX version from the dropbox link above, but can’t seem to open the app.
I’m on 10.9.5 and ran a permissions reset on the app, but still get the following error from OSX on opening:

Cabbage cannot be opened because of a problem.

Check with the developer to make sure Cabbage works with this version of OS X. You may need to reinstall the application.

Any ideas? I can post an error report if that’s any help.

Do you have the current version of cabbage installed? You’ll need to install it in offer to run this one. If you do, then maybe you can post the error report for me?

I had the v1.1.06 beta installed, but installed the latest v.1.1.0 release to see would that improve things. No joy, so after actually reading the error report this morning, I see that it failed to load a library from
/System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage

CoreImage lives inside QuartzCore, so I simply copied the CoreImage.framework into
/System/Library/Frameworks/

Cabbage opens and having a quick play around now. Do you think I can expect everything to run okay-ish?

Odd, I can’t think why you might have had a problem with that? But I’m glad you sorted it, and posted the solution :wink:

Apart from the things listed by Iain above :laughing: I’ve actually almost fixed all of those but won’t be able to upload a new version until Monday as I don’t have access to a mac at home. One thing Iain probablu didn’t try out was edit mode. Feel free to have a go at that and see if you can push it in directions I never imagined. It had a major overall.

I’ve fixed the dimensions problem but I don’t see an issue with the colours. The latest version of your guitar chords instrument uses different colours than the version that ships with the current Cabbage? You seemed to have moves from a beige colour to green?

Fixed now. Although it seems to start slightly offset depending on where you drag it to/from. I’ll look into that when I have some time.

I’m not seeing any issues here, but I’ll try on Windows and OSX when I get a minute. [quote=“iainmccurdy, post:2, topic:408”]
editing ‘notes’ GEN02 table flattens the table to zeroes (GEN02).
[/quote]

That’s caused by a bug in the parser. It’s crapped out because you don’t have a space after the comma between tablecolour() and amprange()

tablecolour("yellow"),amprange(36,108,1,1)

I’ve fixed it now so that you don’t need a space, or even a comma. The following text will cause no parser issues, although it’s horrible to read!

bounds(1, 2, 3, 4)colour("red")active(1)

No, it just turns out that you were using {} in your code, even though you weren’t using the plant() identifier. You were probably just using them to structure your code a little? But in this version plants are declared using {} rather than the plant() identifier.

That was a result of me attempting to prevent Csound from trying to access its own audio IO. It should be all good now.

Do you mean it doesn’t scroll enough when used? I had it set to scroll a single line each time, but I’ve now added a settings property to increase it. Please try out the latest binary and let me know if I’ve managed to grab everything.

Great Rory.

I see the issue with the colourising of checkboxes now: they respond to colour:0(…) and colour:1(…) settings, so I just need to change colour(…) each time to colour:1(…). Or maybe you could make it that colour(…) is interpretted as colour:1(…)?

The scrollwheel issue is when trying to scroll quickly through a csd, Cabbage tends not to respond and instead stay in more or less the same place. I don’t think it’s the mouse as it works smoothly in other programs. I can make a video if it helps.

I get the groupbox thing now. My fault really, so I’ve a bit of tidying up to do.

colour(), should set colour:1(). When I test your .csd’s with the new version and compare to the old version they look the same? What example are you looking at?

I’m not seeing that issue with the scrollwheel. Did you try updating the settings to scroll by more than one line? I admit, 1 line scrolling was a little arduous.

[EDIT] I added a current line marker to the editor and updated the binaries. I couldn’t modify the colour of the actual line as it would mess up the text highlighting, so I put a marker on the left by the line numbers. I hope this is Ok. I don’t think we have a choice. I can however add a colour property to the settings to let you choose your own colour? I guess people may want something more striking.

I beg your pardon, when I use the most recent version from your link above the checkboxes are coloured correctly now.

I think the scrollwheel problem is something else. It only occurs when scrolling down the page when it scrolls at random moments in the wrong direction. Scrolling up seems okay. Things are more reliable, in terms of direction, with the trackpad but there seems to be a lack of sensitivity - sometimes you want to scroll just a little bit, sometimes you want to scroll a lot, but Cabbage seems to only allow you to scroll at one rate. I am comparing with Sublime and jEdit and they both feel a lot more responsive and sensitive. If you have them have a try yourself. They seem to parse the scrollwheel/trackpad movement in a slightly more involved way, sensing rate of change I think.

The editor line indicator looks good. I think it addresses the need.

Are line GUI widgets deprecated? I think I’m the only person who uses them.

They are, but you can just use an image with the same dimensions. It’ll give you the same thing. I’ll check out those editors to get an idea of what you mean.

[edit] I think you must mean when scrolling specifically with the trackpad? Sublime will scroll 3 lines for each click of the mouse wheel. I just set the new Cabbage editor to do the same and they behave identically. I don’t have a track pad here to test against. I can do so tomorrow, but I only have a windows track pad on my laptop. No apple one.

Well the line widgets had a nice sort of shadow/bevelling effect. We’ve actually had this exchange before :wink:
But I’m willing to relinquish my shadows for the overall benefit of the project.

I’ll put in back in, it’s not much of a chore. And it’s true, it does have that bevel effect. I had forgotten about that.

[edit] They’re back in, but I’m not sure I’m going to bother adding a manual entry for them! P.S. I just noticed that the current line updates only on a mouse click, I completely forgot about moving up and down the arrow buttons, or enter! I’ll fix that next.

I’ve updated the binaries again. I’ve also started including versions numbers in the about box.

Thanks for the lines.

Text on buttons seems to be logically inverted to what it used to be. Have a look at CZ_Synth and compare it with Cabbage Classic: the text-to-behaviour on the Mono/Poly button is reversed. Also the checkboxes are lime instead of yellow (I think this might be because a macro is no longer begin read).

Also, notice how the tails of the g’s of “retrig” (checkbox labels) are cut off? Can anything be done about this?