Tutorial - building a new module

This tutorial shows you the fundamental steps of building your own SynthEdit module. It does not teach programming as such, but shows the steps that you need to take to get a bare-bones module working.

The basic concept consists of three main steps. You use SynthEdit itself to create a blank 'skeleton' project that takes care of the boring 'boilerplate' that every module shares in common. Then you use 'CMake' to create a project in your favorite IDE (on Windows or Mac). Lastly, you open this project in your IDE and compile the actual module.

An IDE is an environment for building software. This tutorial uses Visual Studio, but the steps are mostly the same for other IDEs like XCode on Mac.

Install the prerequisites

Create a 'skeleton' module:

  • Start SynthEdit
  • Open a new blank project.
  • Insert a 'Level Adj' module
  • <right-click> 'more...Build Code Skeleton...'
  • In the 'Build Code Skeleton' dialog enter a new module name, e.g. 'My Gain'

build code skeleton

The folder containing the code of your new module should open.

Create an IDE project

Start CMake (cmake-gui)
in 'Where is the source code' enter the folder above the one containing the code (e.g. ..Documents/new_module
in 'Where to build the binaries' enter e.g. ..Documents/new_module/build

  • click 'Generate'
    (in the dialog choose your compiler, e.g. Visual Studio, then click 'Finish'
  • in the list of options in red, tick 'SE_LOCAL_BUILD' (this tells the compiler to copy your module to your modules folder)
  • click 'Open Project'


The Visual Studio IDE should open.

Compile the module

click the menu 'Build/Build Solution'. Your module should now be built.

In SynthEdit:

  • Rescan modules

You should see your module.

 

SDK Tutorial Module BrowserTroubleshooting

"Unknown CMake command "build_gmpi_plugin"

Older version of the cmake script may give this problem. You can resolve it by deleting the CmakeLists.txt script in: …Documents\new_module\CMakeLists.txt"

...and recreating the code-skeleton in SynthEdit. This will export a fresh script.