Welcome to the Oxe FM Synth official repository.
This repository contains the synth core and four different ways to use it:
- as a demo (for testing synth engine, for profiling or just for fun)
- as a standalone application (for testing GUI)
- as a CLAP plugin (CLever Audio Plug-in) for Windows, Linux, and macOS
- as an optional VST3 plugin for Windows, Linux, and macOS
Typing make builds the demo, converter, standalone application, and the CLAP plugin (oxefmsynth.clap) into the bin/ directory.
CLAP is a completely open, free, and modern plugin standard. It is prioritized and built by default:
make clap(or simply make, or make -f Makefile.clap). The CLAP SDK is automatically downloaded at build time if not present. The resulting oxefmsynth.clap is created in the bin/ directory.
To install the CLAP plugin to the default user directory (~/Library/Audio/Plug-Ins/CLAP on macOS, ~/.clap on Linux, %LOCALAPPDATA%\Programs\Common\CLAP on Windows):
make installVST3 support is optional. To build the VST3 plugin (the VST3 SDK is automatically downloaded at build time if not present):
make vst3(or make -f Makefile.vst3). The resulting oxefmsynth.vst3 is created in the bin/ directory.
To install the VST3 plugin to the default VST3 user directory (~/Library/Audio/Plug-Ins/VST3 on macOS, ~/.vst3 on Linux, %LOCALAPPDATA%\Programs\Common\VST3 on Windows):
make install-vst3Install MSYS2 and open the MSYS2 UCRT64 terminal.
Install the required toolchain and dependencies:
pacman -S git make zip mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninjaThen simply run make (or make clap, make vst3).
To build native executables just type make (requirement: g++).
To build Windows executables on Ubuntu, type sudo apt-get install mingw-w64 to install the required tools.
On Xcode, install the "Command Line Tools" and type make on terminal. The Xcode IDE itself is not used.
All the code is always compiled by once on purpose, to make sure everything is fine (because it is a tiny project).
converter is a development tool for creating the demos. It converts a .mid file in a tune.h used for the demo player.
While we are working on GUI (changing code or making skins) this standalone version helps a lot,
because it is faster than open the plugin host, create a track, add the plugin, and so on.
With the standalone version we reduce it in only one step.
To cross-compile it for Windows, from Linux, run make -f Makefile.standalone TARGET=WIN32.
To build a native version, just type make -f Makefile.standalone.
By default, a native plataform executable is generated.
The tune can be rendered to a .wav file, to the memory (for profiling purposes) and, optionally, to the sound card in real time, using DirectSound.
You can enable this building it with make -f Makefile.demo WITH_DSOUND=YES. Once it is done, the default behaviour is to start playing. The command
line parameters -f (to file) and -m (to memory) still works if used.
To cross-compile it for Windows, from Linux, run make -f Makefile.demo TARGET=WIN32.
To build a native version, just type make -f Makefile.demo.
