Cabbage Logo
Back to Cabbage Site

Pre-release Cabbage 2 for testing - part 3

New binaries available…

Latest pre-release binaries

Linux (build from “audio_graph” branch)

This update adds the Cabbage Patcher. By default, any .csd that is compiled will be added to the signal graph and have its output sent to the graph’s outputs. Every subsequent .csd compiled will also be added to the graph and auto-connected. The signal graph can be edited and saved, but this is only really needed when you are creating complex signal chains. I imagine in many cases users will not bother with the graph at all. Note the signal graph can host Cabage .csd files as well as standard Csound .csd files. You can open it from the ‘View’ menu, or by hitting cmd+p on OSX. You can also add instruments directly to the graph by right-clicking and adding from the patcher window.

Please try to break beta this in every way possible. I’ve tested many scenarios, but I’m sure I haven’t tested them all. Each .csd now has some controls on the tab bar to show editor, enter edit mode, play/stop and close. Let me know how it goes.

1 Like

I just found a bug that was preventing certain instruments from running due to changes I made to multichannel handling. I’ve fied for Windows, but I won’t get around to fixing for OSX until Monday, hence I’ve removed the OSX package for now. Apologies for this. There ain’t much point beta testing a package that won’t run as expected

This issue should now be resolved. I’ve updated the binaries for Windows and OSX.

I broke it before I could even get started! After extracting the OSX beta, I get the following dialog when trying to run on 10.9.5:

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.

I encountered the same error with an earlier beta (cabbage couldn’t find the CoreImage.framework), but this one has me stumped…

Process: Cabbage [4976]
Path: /Users/USER/*/
Identifier: com.cabbageaudio.cabbage
Version: ???
Code Type: X86-64 (Native)
Parent Process: launchd [183]
Responsible: Cabbage [4976]
User ID: 501

Date/Time: 2017-02-27 23:39:07.469 -0800
OS Version: Mac OS X 10.9.5 (13F1911)
Report Version: 11
Anonymous UUID: 023E384A-7FF1-5694-7863-812A7559446B

Sleep/Wake UUID: 7F32FCC3-9EA5-4455-A08E-9C341D1DCC91

Crashed Thread: 0

Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
Symbol not found: OBJC_CLASS$_NSHTTPURLResponse
Referenced from: /Users/USER//
Expected in: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
in /Users/USER/

Binary Images:
0x10b91c000 - 0x10bb3bfff + (??? - ???) /Library/Frameworks/CsoundLib64.framework/Versions/6.0/CsoundLib64
0x10bb9e000 - 0x10bbd9ff2 (1.10 - 88) /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
0x10bc03000 - 0x10bed4ffc (9.4.1) <7B28C3F3-8EB3-3150-A55D-EBCDBDCA4977> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
0x10bfc9000 - 0x10c03afff +libsndfile.1.dylib (2.21) <59B19989-6531-8DC9-44B1-B282B505EADA> /Library/Frameworks/CsoundLib64.framework/libs/libsndfile.1.dylib
0x7fff67180000 - 0x7fff671b3887 dyld (239.5) <1D3130FE-FE7E-3C4C-8E74-EB51895B6BA5> /usr/lib/dyld
0x7fff8c21c000 - 0x7fff8c228ffb (56.92.2 - 1.0) <16542F97-9D21-317D-8A50-4C34AAD35F41> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
0x7fff8c229000 - 0x7fff8c55ffff (1.0 - 1273.57) <26FB55D1-11B8-3CEF-A8E1-40BC215B610F> /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox
0x7fff8c587000 - 0x7fff8c681fff libFontParser.dylib (111.1.6) <77253632-B3F6-3151-ABA0-C1EF458668A8> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
0x7fff8c6c8000 - 0x7fff8c6e4ff7 libsystem_kernel.dylib (2422.115.15) <34ABAF79-E147-3C34-B05D-46A566E689CC> /usr/lib/system/libsystem_kernel.dylib
0x7fff8c6e5000 - 0x7fff8c74affb (4.0 - 2.0) /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
0x7fff8c74e000 - 0x7fff8c773ff7 (2.0 - 155.1) /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
0x7fff8ca48000 - 0x7fff8ca4dff7 libunwind.dylib (35.3) <78DCC358-2FC1-302E-B395-0155B47CB547> /usr/lib/system/libunwind.dylib
0x7fff8ca4e000 - 0x7fff8ca75ff7 libsystem_network.dylib (241.4) <0D630D53-C772-3EC5-8257-EFB0ACCE3153> /usr/lib/system/libsystem_network.dylib
0x7fff8ca80000 - 0x7fff8cc65fff (6.9 - 855.17) <729BD6DA-1F63-3E72-A148-26F21EBF52BB> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff8cc69000 - 0x7fff8cc6aff7 libDiagnosticMessagesClient.dylib (100) <4CDB0F7B-C0AF-3424-BC39-495696F0DB1E> /usr/lib/libDiagnosticMessagesClient.dylib
0x7fff8cc6b000 - 0x7fff8ccc4ff7 libTIFF.dylib (1052) <909BF5F6-6FC5-3126-9028-593130CAEBE6> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x7fff8cf12000 - 0x7fff8cf4aff7 (2.0 - 94) <3F34D630-3DDB-3411-BC28-A56A9B55EBDA> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
0x7fff8cf4b000 - 0x7fff8cf56fff libkxld.dylib (2422.115.15) <8850BC2B-EB64-3B0F-8047-DCC113021292> /usr/lib/system/libkxld.dylib
0x7fff8cf85000 - 0x7fff8d076ff9 libiconv.2.dylib (41) /usr/lib/libiconv.2.dylib
0x7fff8d077000 - 0x7fff8d224f27 libobjc.A.dylib (551.1) /usr/lib/libobjc.A.dylib
0x7fff8d225000 - 0x7fff8d23cff7 (10.9 - 173.90.1) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x7fff8d23d000 - 0x7fff8d24aff0 libbz2.1.0.dylib (29) <0B98AC35-B138-349C-8063-2B987A75D24C> /usr/lib/libbz2.1.0.dylib
0x7fff8d24b000 - 0x7fff8d280ffc (2.4.28 - 194.5) <5E501783-06E8-390C-AF34-A7FAD402F3E6> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
0x7fff8d292000 - 0x7fff8d29afff libMatch.1.dylib (19) <021293AB-407D-309A-87F5-8E782F46753E> /usr/lib/libMatch.1.dylib
0x7fff8d2b7000 - 0x7fff8d338fff (3.0.1 - 141.0.6) /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
0x7fff8d3a2000 - 0x7fff8d3a4ff3 libsystem_configuration.dylib (596.15) <4998CB6A-9D54-390A-9F57-5D1AC53C135C> /usr/lib/system/libsystem_configuration.dylib
0x7fff8d3a5000 - 0x7fff8d3abff7 (2.0 - 1) <2CE632D7-FE57-36CF-91D4-C57D0F2E0BFE> /System/Library/PrivateFrameworks/XPCService.framework/Versions/A/XPCService
0x7fff8d3e7000 - 0x7fff8d3ebfff libpam.2.dylib (20) /usr/lib/libpam.2.dylib
0x7fff8d3ec000 - 0x7fff8d427fff (14.0 - 193.1) /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
0x7fff8d428000 - 0x7fff8d46aff7 libauto.dylib (185.5) /usr/lib/libauto.dylib
0x7fff8d46b000 - 0x7fff8e2bfff7 (9537 - 9537.78.1) <56C3D4BF-2495-3FD2-8212-91AF7DF693B8> /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore
0x7fff8e2ee000 - 0x7fff8e301ff7 (3.0 - 1) /System/Library/PrivateFrameworks/AppContainer.framework/Versions/A/AppContainer
0x7fff8e329000 - 0x7fff8e32afff libsystem_sandbox.dylib (278.11.2) <0C93EB23-7364-3670-B511-212A7A524695> /usr/lib/system/libsystem_sandbox.dylib
0x7fff8e32d000 - 0x7fff8e39afff (1.4.0 - 1.4.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit

It goes on, but I’m limited by the character count on the forum!

Ha. Nice work! I’ll see if I can fix that soon. I’m not rally sure what’s going on. I might try targeting and older version of OSX in my Xcode settings to see if that will help.

Hey Rory,

Here are a few thing that I encountered while testing this release:

Csound specific:

  1. The SVG’s are not getting picked up. The provided SVGExample doesn’t work either.

  2. The preset saving mechanism is slightly flawed. While saving, it doesn’t append the .snaps extension to the file being saved. The file generated contains default channel names appended by, an almost arbitrary number, instead of the actual name of the channel. For example, it saves a channel by the name “mix” as “rslider44”. I don’t have 44 sliders btw! Don’t know where that number came from. Newly saved patches work, while the older ones don’t

  3. popuptext(0) displays “0” as the popup string instead of hiding the popup text.

  4. The XY pad behaves a bit weird. The Y axis seems to be inverted. Also, colour() attribute, which previously used to change the colour of the ball, now changes the colour of the entire XY pad. Initial positions and values don’t seem to be set when the plugin starts. Sometimes, positions are slightly out of the bounds of the box.

  5. Popup plants don’t seem to work right. I read that you were planning to ditch plant popups, in the previous release discussion! Might I suggest keeping it in? :stuck_out_tongue:

Editor specific:

  1. When I open the find box (Ctrl + F), there is no way to close it. Also, I lost the find box once, and I couldn’t get it back till I restarted the editor.

  2. There was a fatal error in one of my csound files, which caused the editor to crash. Quite common, I see this happen in QT as well. But the editor window along with the plugin window froze and became unresponsive. Windows threw it’s usual crash message with the option to close the program. But it was hidden under the plugin window since it’s always on top. Had to manually kill the process.

  3. There was one instance when the right channel audio got cut off completely. Sort of a one off thing, couldn’t replicate it again. It got resolved after restarting the program.

  4. On a lighter note, the scroll speed inside the text editor could be faster, or customizable.

The selection box in the editor to show different elements of the code at a glance is a nice touch. The ability to have the plugin open while stopped, and to undo pre-saved changes are big ups!



I’m on OSX (10.9.5). Cabbage is crashing on startup. Here’s the crash report:

Process: Cabbage [16885]
Path: /Users/USER/Downloads/*/
Identifier: com.cabbageaudio.cabbage
Version: ???
Code Type: X86-64 (Native)
Parent Process: launchd [192]
Responsible: Cabbage [16885]
User ID: 503

Date/Time: 2017-03-01 11:54:58.273 +1100
OS Version: Mac OS X 10.9.5 (13F1911)
Report Version: 11
Anonymous UUID: 5924BFAA-8554-3E1B-5A6E-74E2D672A0BA

Sleep/Wake UUID: 0F5C5342-9B64-4334-A5C5-96B18F17AE8F

Crashed Thread: 0

Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
Referenced from: /Users/USER/Downloads/*/
Reason: image not found

Binary Images:
0x7fff6a2d9000 - 0x7fff6a30c887 dyld (239.5) <1D3130FE-FE7E-3C4C-8E74-EB51895B6BA5> /usr/lib/dyld
0x7fff83832000 - 0x7fff83832fff (1.9 - Accelerate 1.9) <509BB27A-AE62-366D-86D8-0B06D217CF56> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x7fff865ac000 - 0x7fff86791fff (6.9 - 855.17) <729BD6DA-1F63-3E72-A148-26F21EBF52BB> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff867a7000 - 0x7fff86942ff8 (673.6 - 673.6) /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x7fff86d02000 - 0x7fff87878ff7 (6.9 - 1265.21) <9DC13B27-841D-3839-93B2-3EDE66157BDE> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x7fff89e56000 - 0x7fff89e64fff (9.6.5 - 9.6.5) <4FAEADD8-EEB3-3FD9-ADC6-BA65806228CC> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x7fff8a7cd000 - 0x7fff8a969ff3 (1.8 - 332.4) /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x7fff8a96a000 - 0x7fff8aabeff3 (1.10 - 1.10) <69B273E8-5A8E-3FC7-B807-C16B657662FE> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x7fff8ad61000 - 0x7fff8ae19ff7 (8.0 - 8000.4.6) /System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording
0x7fff8ae1a000 - 0x7fff8b7435ab (1.600.0 - 599.35.15) /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x7fff8b757000 - 0x7fff8b757fff (6.8 - 20) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x7fff8b7fb000 - 0x7fff8b84dfff libc++.1.dylib (120) <4F68DFC5-2077-39A8-A449-CAC5FDEE7BDE> /usr/lib/libc++.1.dylib
0x7fff8cda1000 - 0x7fff8cda1fff (154 - 157) <45A9A40A-78FF-3EA0-8FAB-A4F81052FA55> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x7fff8dd51000 - 0x7fff8de92fff (7.7.3 - 2826.34) <3BB88D64-71FA-3824-A52A-D51C761E6EE0> /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit
0x7fff8ed73000 - 0x7fff8ed73fff (48 - 48) <3E3F01A8-314D-378F-835E-9CC4F8820031> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x7fff8ef95000 - 0x7fff8f001fff (2.0.1 - 907.100.14) <10932113-9F7E-38A0-A158-A019A555CAC3> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x7fff9008b000 - 0x7fff901c1ff5 (9537 - 9537.78.2) /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit
0x7fff90cad000 - 0x7fff90cfeff7 (4.2.1 - 4.2.1) <07F2B103-AE29-3118-BBC4-9A72E13B013B> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x7fff90e21000 - 0x7fff90e22ff7 libSystem.B.dylib (1197.1.1) <72A98ACC-7606-3AD5-82AF-02D4EBBD4F02> /usr/lib/libSystem.B.dylib

Model: MacBook7,1, BootROM MB71.0039.B0E, 2 processors, Intel Core 2 Duo, 2.4 GHz, 8 GB, SMC 1.60f6
Graphics: NVIDIA GeForce 320M, NVIDIA GeForce 320M, PCI, 256 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1067 MHz, 0x029E, 0x434D5341344758334D314131303636433720
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1067 MHz, 0x029E, 0x434D5341344758334D314131303636433720
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (
Bluetooth: Version 5.2.7f4 15858, 3 services, 23 devices, 1 incoming serial ports
Network Service: AirPort, AirPort, en1
Serial ATA Device: Samsung SSD 850 EVO 500GB, 500.11 GB
Serial ATA Device: MATSHITADVD-R UJ-898
USB Device: Built-in iSight
USB Device: Backup+ Desk
USB Device: USB Receiver
USB Device: BRCM2070 Hub
USB Device: Bluetooth USB Host Controller
USB Device: Apple Internal Keyboard / Trackpad
Thunderbolt Bus:

I think that’s the error I encountered with an earlier beta, also on OSX 10.9.5. I was able to get Cabbage running by navigating to /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks and copying CoreImage.framework from there into /System/Library/Frameworks/.

Worked fine after that with the earlier beta, but now that I’ve already done that I’m getting a different error with the most recent build (Mon 27th Feb) as described in my above post.

Can you try again. I’ve updated the package with a different deployment target. Hopefully that will help sort the OSX crash on startup issue. @Thrifleganger, thanks for the feedback. I’ll get stuck into fixing those issues and give you a full report when I’m done.

That did the trick for me alright, thanks. Will let you know if I manage to break anything else!

New binaries have been added. Comments below…




Most of this should be sorted now. There is a still a small issue with the positioning of text in the xypad, but I’ll return to this later. If you wish to change the ball colour, use ballcolour(). I know this might break some earlier instruments, but I think in the long run it’s better.

Oh they’re back! And better than ever. Well, not in this case because they’re broken. But I’ve just pushed a fix for them. They should work again now. Let me know.

Press escape to hide the search box.

I’ve added the option to disable ‘always on top’ for both the plugin windows and the audio graph.

I think happens when there is an error in the .csd file. If the file can’t compile it won’t be added to the graph. I need to look into, leave it with me.

You can set the number of lines to scroll by in the settings dialogue.

I did an initial test run. I’m running on Win7 64.

The SVG’s are still not getting picked up.

Although it is saving as a .snap file, it is still saving the widget information with a weird index number rather than saving with the channel name.

The pad is behaving a bit erratically. It is seems to be confused whether to snap to the ball’s center to the cursor position or to snap the top left corner. So it’s a little jumpy. Similar behavior is observed when right clicked and dragged. But more importantly, when I click anywhere on the XY pad, the ball jumps to that position, but doesn’t change value. The value changes only when dragged.

The popup plant doesn’t work for one of my own code. But for the example listed, the popup is pre-opened. If the popup is minimized, it can be reopened again. But if the popup is closed, it cannot be reopened till the instrument is reloaded.

The editor seems a bit sluggish. Whenever I scroll around or type something, there’s a very noticeable lag.

That’s strange. It works on my OSX machine, but not windows. I’ll take a look.

I’m not saving the channel. I just save the state of the widget. It works fine for me here. The .snps file is not for manual editing.

You just need to send a visible(1) to reopen it. This brings up an issue though. If you close the popup plant you need to send a visible(0) followed by a visible(1) to reopen it. It’s not ideal. I’ll look into a better solution. Try the attached file, you’ll see what I mean. Once the popup is closed, you need to hit the button twice to reopen it. PopupPlant.csd (1.3 KB)

I’m not noticing this here, but I do see it on my OSX machine. But not on others. I’m not really sure what’s up but I’ll take a look.

Hey @Thrifleganger, can you try changing svgfile to imgfile. I changed that some time ago because we can now use both svg’s and png’s. That could be the reason why your svgs were not showing. I’ve updated the example, but I’ve yet to implement the imgpath option. I might actually drop it in favour of specifying the correct file for each widget.

Using imgfile() individually for both slider and background works. If the width and height of the widget aren’t the same, the image gets skewed in unexpected ways.

Are you planning to introduce 2 separate identifiers for svgs and images, or a single one which captures both?

I was thinking of a single one that captures both. I’m not sure what to do about the image skewing. It’s to be expected if the image size doesn’t match the widget size? SVGs wil scale better in this regard than pngs, but it’s probably up to the user to make sure they look the way they want?