Building Mac SEMs

Install the SDK

1. Download the SynthEdit SDK to your Mac. You may need to unzip the files on a PC first (my mac seemed to not extract the folders correctly).

2. Put the SDK files in a local folder. I put them in my documents folder, under "My Modules".

Verify the SDK install

1. Open the Inverter project in XCode (Inverter/mac/Module.xcodeproj).

2.  Build the project. If you get errors about not having permission to create folders, you will need to set the mac folder to read-write permission for this folder. Allow every user read and write permissions. Ensure the Build succeeded with no issues, otherwise, post the errors to the SynthEdit mailing list.

To build your own module on Mac.

Mac modules are built using "Xcode" (the Mac development environment). You will need to create an Xcode project for your SEM specifying which files to build. Your SEM project may already contain a "mac" folder containing a template Xcode project, if not reuse one from another SEM. You can copy the contents of the Inverter's 'mac' folder to your module project's folder.  Alternately you can also use SE's "build code template" feature to make an XCode project for you. 

1. Open the Xcode project from your project folder, 'Module.xcodeproj'. You should see an indication that Xcode can't locate 'inverter.cpp', 'inverter.h', and 'inverter.xml.h' (colored red). Delete these from the project.

2. Add your own project files to the 'Source' folder of the project. e.g. 'mygain.cpp', 'mygain.h'.

3. Open the Build Settings. e.g. right-click on the 'Target' 'SE Module' and choose 'Get info', then 'Build'.

4. Search for setting 'Product Name' and change it from 'Inverter' to your module's name. Close the build settings.

5. Build the project, your SEM should be in the mac/Build/Debug folder (or the mac/Build/Release folder depending on what target you built). You may also see the Inverter SEM in there (because it got copied with the Xcode project file), you can delete that.

To use your module in a Mac VST3 plugin

Copy your Mac SEM back to your Windows system and re-scan your modules. It goes in:

C:\Program Files\Common Files\SynthEdit\modules_mac

 Now when you Export a VST3 plugin, SynthEdit will include your Mac module in the bundle. To find your SEM, highlight the sem in the "products" folder, look on the info pane at the right for the filename. The small arrow icon will take you to that folder.



Apple Silicon (M1) Modules

If you wish to update your modules to work on the newer ARM-based macs (aka 'Apple Silicon') you will need to update a few things in the XCode project.

In XCode, find the 'Target' that represents your Module. Choose 'Build Settings'. Ensure 'Architectures' is set to 'Standard Architectures' (Which should mention Apple Silicon like below).
 Some of my modules had 'Base SDK' set to an older version of macOS. This might prevent XCode from building a Universal SEM, If you just delete this setting it will default to the most recent Apple SDK. Which is good.

Before building the module, set the 'Destination' to 'Any Mac (Apple Silicon, Intel)' (ref the top toolbar in XCode at the centre).



Second, check if you are using the setting 'VALID_ARCHS'. It should read: arm64 arm64e x86_64 like below. Some of my modules don't have this setting at all. So it is possibly OK to just delete this setting entirely.




"An Audio Unit plug-in reported a problem that might cause the system to become unstable."

Important: On an M1 Mac, universal AudioUnit plugins will fail to load into Logic Pro, unless they are code signed. more about code signing