Building Libre Wave products from source

The development environment

If you’d like to build my software from source you’ll first need to build HISE which is the development environment I use to create my software. The HISE GitHub page has instructions for how to build it on different operating systems so please follow those. I recommend you use my fork of HISE rather than the upstream as I have made some modifications.

Building HISE from source rather than using the prebuilt binaries serves two purposes. Firstly it ensures that you are using the most recent version of HISE. Secondly it guarantees that you have the correct environment setup to build my software.

If you need assistance with building HISE please ask on the HISE forum.

Getting the source code

At the moment my source code is a little fragmented as I’m transferring from GitHub to Codeberg. You can find my GitHub repo here here and my Codeberg repo here.

For Rhapsody instruments you will need to download the necessary code from both repos.

You can download the source code as a zip file by clicking the Clone or Download button and selecting Download Zip. Once downloaded you should extract the zip file, which contains the HISE project folder for the product. Alternatively, if you are familiar with git, you can clone the repository and make a local git repo on your system for the product’s HISE project folder.

The GitHub repositories contain only the source code, they do not include any audio samples.

My HISE scripting framework

Downloading from GitHub

My scripting framework is an ever changing collection of script libraries, modules, and other stuff that I use across most of my HISE projects. In order to build any of my projects you will need the correct version of the framework for that particular project added to the project’s scripts folder. It’s very important that you use the correct framework version for the project you wish to build as the code in the framework varies between projects and a different version may not be compatible.

If you setup the project folder by downloading the source code zip file from GitHub you will need to go back to the GitHub page. Once there go into the Scripts folder, then into the HISE-Scripting-Framework folder (the folder name will also contain an @ symbol and some numbers), this will take you to the correct version of the framework for that project. Download the framework as a zip file the same way you downloaded the source code. Once downloaded open the zip file, inside will be a single folder with the same name as the framework folder on GitHub, take the contents of this folder and place it inside the /Scripts/HISE-Scripting-Framework/ folder inside the project folder.

If you cloned the project folder as a local git repository then all you need to do is import the framework as a git sub-module inside the project’s Scripts folder.

Opening the project

HISE’s File Menu

In HISE go to the File menu, click Load Project, and point the file browser that opens to the source code folder you downloaded earlier. Click ok when HISE asks if you would like to load the project’s .xml file. If HISE doesn’t prompt you to load the .xml file you can do it manually by opening the File menu, clicking Open XML, and then selecting the .xml file in the project’s XmlPresetBackups folder.

Preferences

In HISE go to the File menu and select Preferences. Scroll down to the Compiler Settings section and click the browse button in the HISE Path field. A file browser will appear, use this to select the folder on your computer that contains the HISE source code. Alternatively you can enter the path manually into the HISE path field. This path should point to the HISE source code, not the source code of the Libre Wave project you want to build.

HISE Compiler Settings
Compiler settings

In the Compiler Settings section you can also select the version of Visual Studio you will be using to compile the project if you are using Windows.

Export

HISE Export Menu
HISE’s Export Menu

Go to the Export menu and select an export option; for virtual instruments select either Export as Instrument (VSTi / AUi) plugin or Export as Standalone Application, for effects select Export as FX plugin. Click Cancel if HISE prompts you to check sample references, then select the export format from the drop-down menu that appears. The choice of export formats will vary depending on your operating system. Click ok on any further prompts that appear.

GNU/Linux

After a moment HISE will generate a build file and open the project’s Binaries directory. Open a terminal, cd to the Binaries folder and run the batchCompileLinux.sh file in that folder. This will start the build process and once complete the exported files will be placed in the following directories:

  • Standalone: & VST/VSTi Project Folder/Binaries/Builds/LinuxMakefile/build

Windows & MacOS

HISE will automatically generate the build files, a terminal window will pop-up, and the compilation process will start. Once the compilation is complete the output files will be placed in the following directories:

  • Windows
    • Standalone: Project Folder/Binaries/Compiled/App/
    • VST/VSTi: Project Folder/Binaries/Compiled/VST/
    • AAX: Project Folder/Binaries/Compiled/AAX/
  • MacOS
    • Standalone: Project Folder/Binaries/Compiled/
    • VST/VSTi: Users/apple/Library/Audio/Plug-Ins/VST/
    • AU/AUi: Users/apple/Library/Audio/Plug-Ins/Components/
    • AAX: Library/Application Support/Avid/Audio/Plug-Ins/