Cabbage Logo
Back to Cabbage Site

Mac OS VST export

I will go on some travels the next time. So I wanted to make VSTs for REAPER on my MacBook. Maybe I did some rookie mistake. But whether I try to export as VST or VST3 I always get
Bildschirmfoto 2022-07-03 um 12.18.20
inside REAPER instead of the real name. The plugins actually work as expected, but if they all get the same name it will be difficult to pick the right one.

On Windows the name was automatically taken from the csd file name. Is there something extra one has to do on Mac OS?

(Mac OS 10.15.7, Cabbage 2.8.10)

Oh that doesn’t seem right at all. Thanks for reporting it. I’ll take a look tomorrow morning first thing :+1:

I just tested here with Reaper and I see no issues. The plugins showed up under the correct name. 2.8.1 is quite old at this stage, can yo try the latest build: 2.8.121 Let me know how it goes :+1:

With the 2.8.121 build it works. Thanks!

One remark to the other noobs trying this: If you use .snaps for presets you have to open the vst3 package and copy the .snaps file into the folder Contents. (not to the folder where the .vst3 file is residing.)

Just wanted to mention that this problem raised its ugly head again when I tried exporting on a new M1-based Mac (Cabbage version 2.9.0). The plugin name is not shown, but
Bildschirmfoto 2023-12-27 um 08.18.02
But also the header of the GUI window is now
Bildschirmfoto 2023-12-27 um 08.19.47
and a process reaper_host_x86_64 is started. So I assume that on M1 Macs some kind of x86 emulation takes place for VST(3) plugins.

But I tried to export as AU, and that seems to work. So I don’t think there is urgency to solve this problem. Nevertheless, since M1 Macs will supplant Intel-based, a note in the manual may be nice the Mac users should preferentially export to AU. Also please mention that the AU plugins have to go into /Users/…/Library/Audio/Plug-Ins/Components. Usually working on a PC, it took me quite some time to figure this out.

I rejoiced too early… The ‘simple’ plugins of mine like Etude #1 work when I use ‘AU Export > Export as AU plugin synth’. But the one I am working on is supposed to send MIDI to the next in chain (using REAPER). That works on the PC if I use ‘Export as VST Plugin Synth’. For AU on Mac I suppose the right option in that case is ‘AU Export > Export as AU MIDI effect plugin’. (At least, when I try the other two AU export options no MIDI transmitted is shown in JS: MIDI Logger.) But then the plugin is not loaded by REAPER.

I can go back to the PC to do the development. But I really prefer the Mac because I have better coding tools there and Cabbage runs more stable. (On my PC I still have the problem with occasional freezes and crashes I mentioned in one of my first posts. Maybe they would go away with a clean re-install of Windows. But I don’t want to go through this until I am forced to upgrade to Windows 11.)

Finally, there is a strange blemish when I export on the Mac. The files get a wrong date:


Sorry about the German, in English that should be something like “Date of change”, “Creation date”, and “Added on” - and “Heute” means “Today” :wink: So only the last date is correct, but since I exported all files for the first time this morning all three dates should be equal.

Yes, it needs to be AU midi effect. Can you try the latest dev build? Details in the sticky post on the main Forum page. Note you’ll probably need to clear your AU cache.

I have now installed the latest build on the Mac. Also had REAPER clear the cache and reload all plugins. But it still does not load, even does not appear in the list of plugins failed to load.

I attach the csd file here. If you have time and access to a Mac, can you check?
yaerg-test-1.csd (5.3 KB)

If you have even more time ;-), can you check the exports as VST and VST3 on Windows? If that works for you, I would at least be sure that there is something with my setup of REAPER or even the Windows environment on my PC. There, at least the plugins show up in the ‘failed to load’ list, But that’s not very helpful, beacuse REAPER does not explain why it failed to load.

Thanks in advance!

Hi @RZorn, sorry for the delay in getting to this, work is crazy at the moment. I am able to load your .csd file in Reaper without any issues here. I will check on Windows when next I am at a Windows box, but I can’t see any reason why it would not work. I did also try to load the AU in Reaper but it is not showing at all, even though auval does list it as being seen. I will look into that and see if I can work out what’s going on.

I had a chance to try this in Reaper on Windows today. It loads fine for me, but… it crashes when I try to remove it from a track. I will investigate further.

I don’t want to hurry you. But I still don’t get that AU plugin loaded. I tried to change the ID to one with first character capital, as recommended here: Export to VST3 fails due to pluginId error. But that did not help. Actually, I never had problems with plugins having an ID starting with lowercase. I rather think it is the export option “AU MIDI effect plugin”. But I can’t avoid this because the point of the plugin is to issue MIDI note commands.

Sorry, I meant to say that I tested this on my Mac again and I have no issue getting MIDI plugins to work. This is the simple arpgeeiator example that ships with Cabbage loaded as a MIDI effect in Mainstage.

You have to make sure you code sign them. I think the reason I couldn’t get them to be seen by a host in my first attempt was because I wasn’t code signing them.

I tried the stock example. (I better always look for samples which do similar things I intend before starting any coding.) It shows nearly the same symptoms. If I export it as MIDI effect it is not shown by REAPER. There is a small difference: For my plugin it is possible to export as a Synth plugin. Then it is shown and can be loaded into REAPER. Not for the example plugin, that never shows, irrespectively how I export. But anyway, for this kind of plugins to export as synth would be pointless because only the non-MIDI functionality is available.

If that really has to do with the code sign requirement, it is a bummer. I don’t want to spend an annual fee to Apple just for running my own code. Still I wonder why the synth plugins (at least mine as Etude#1) do not require this.

But that means from now on I am stuck on the PC with the plugin development. And I remember I had some problems there, too. I will compare the mechanism of MIDI generation to the example. Sometimes, csound allows you to do the same thing with different opcodes, and maybe I just chose the wrong ones.

It only sucks if you with to distribute it. If you only want to work locally, you can adhoc sign it. Here’s a little script I use to adhoc sign my plugins. Usage:

./adhoc.sh ../../myplugin.component

adhoc.sh (55 Bytes)

p.s. you may need to change the privileges before you can use it, i.e, chmod +x adhoc.sh