HISE Docs

Project Settings

Project

Name

The name of the project. This will be also the name of the plugin binaries

Version

The version number of the project. Try using semantic versioning (1.0.0 ) for this.
The version number will be used to handle the user preset backward compatibility.

Be aware that some hosts (eg. Logic) are very picky when they detect different plugin binaries with the same version.

Description

A markdown formatted text that will be written into the metadata of the full instrument expansion

Bundle Identifier

This is a unique identifier used by Apple OS to identify the app. It must be formatted as reverse domain like this:

com.your-company.product

Plugin Code

The code used to identify the plugins. This has to be four characters with the first one being uppercase like this:

Abcd

Embed Audio Files

If this is enabled , it will embed all audio files (impulse responses & loops) as well as images into the plugin.This will not affect samples - they will always be streamed.
If it's disabled , it will use the resource files found in the app data directory and you need to make sure that your installercopies them to the right location:

Windows: %APPDATA%\Company\Product\

macOS: ~/Library/Application Support/Company/Product/

Normally you would try to embed them into the binary, however if you have a lot of audio files (> 50MB)the compiler will crash with an out of heap space error, so in this case you're better off not embedding them.

Embed Image Files

If this is enabled , it will embed all audio files (impulse responses & loops) into the plugin.If it's disabled , it will use the resource files found in the app data directory and you need to make sure that your installercopies them to the right location:

Windows: %APPDATA%\Company\Product\

macOS: ~/Library/Application Support/Company/Product/

Normally you would try to embed them into the binary, however if you have a lot of images (> 50MB)the compiler will crash with an out of heap space error, so in this case you're better off not embedding them.

Support Full Dynamics HLAC

If enabled, the user can extract the sample monolith files to support the full dynamic range of 24 bit.The HLAC codec is 16bit only, but with this feature enabled, it normalises the audio data in chunks of 1024 samples in order to recreate higher bit depths. This results in a lower compression ratio, but removes the quantisation noise that can occur under certain circumstances:For normal sample libraries without heavy dynamics processing this feature is not required, but for projects that heavily process the dynamic range (eg. drum libraries that squash the samples with a compressor) the quantisation noise floor of -96dB might get attenuated into the audible range. So: If you start to hear quantisation noise, enable this, otherwise enjoy the low disk usage and performance of 16bit samples.

The end user can still choose whether he wants to use the samples in the full dynamics range. However in order to make this work, create the sample archive with the Support Full Dynamics option set to true.

Additional Dsp Libraries

If you have written custom DSP objects that you want to embed statically, you have to supply the class names of each DspModule class here

OSXStatic Libs

If you need to link a static library on macOS, supply the path to the .a library file here.

This can also be used to set additional linker flags for additional frameworks (eg. iLok).

Windows Static Lib Folder

If you need to link a static library on Windows, supply the absolute path to the folder here. Unfortunately, relative paths do not work well with the VS Linker

Extra Definitions Windows

This field can be used to add preprocessor definitions for Windows builds. Use it to tailor the compile options for HISE for the project.

Examples

ENABLE_ALL_PEAK_METERS=0
NUM_POLYPHONIC_VOICES=100

Extra Definitions OSX

This field can be used to add preprocessor definitions for macOS builds. Use it to tailor the compile options for HISE for the project.

Examples

ENABLE_ALL_PEAK_METERS=0
NUM_POLYPHONIC_VOICES=100

Extra Definitions IOS

This field can be used to add preprocessor definitions for iOS builds. Use it to tailor the compile options for HISE for the project.

Examples

ENABLE_ALL_PEAK_METERS=0
NUM_POLYPHONIC_VOICES=100

Extra Definitions Linux

This field can be used to add preprocessor definitions
for Linux builds. Use it to tailor the compile options for HISE for the project.

Examples

ENABLE_ALL_PEAK_METERS=0
NUM_POLYPHONIC_VOICES=100

App Group ID

If you're compiling an iOS app, you need to add an App Group to your Apple ID for this project and supply the name here.App Group IDs must have reverse-domain format and start with group, like:

group.company.product

Redirect Sample Folder

You can use another location for your sample files. This is useful if you have limited space on your hard drive and need to separate the samples.

HISE will create a file called LinkWindows / LinkOSX in the samples folder that contains the link to the real folder.

AAXCategory FX

If you export an effect plugin, you can specify the category it will show up in ProTools here

ID Description
AAX_ePlugInCategory_EQ Equalization
AAX_ePlugInCategory_Dynamics Compressor, expander, limiter, etc.
AAX_ePlugInCategory_PitchShift Pitch processing
AAX_ePlugInCategory_Reverb Reverberation and room/space simulation
AAX_ePlugInCategory_Delay Delay and echo
AAX_ePlugInCategory_Modulation Phasing, flanging, chorus, etc.
AAX_ePlugInCategory_Harmonic Distortion, saturation, and harmonic enhancement
AAX_ePlugInCategory_NoiseReduction Noise reduction
AAX_ePlugInCategory_Dither Dither, noise shaping, etc.
AAX_ePlugInCategory_SoundField Pan, auto-pan, upmix and downmix, and surround handling
AAX_EPlugInCategory_Effect Special effects

This setting will have no effect for virtual instruments.

VST3 Category

The category the VST3 plugin will appear in

Support Mono FX

If enabled, the effect plugin will also be compatible to mono channel tracks.

This setting will have no effect for virtual instruments.

Enable Midi Input FX

If enabled, the effect plugin will process incoming MIDI messages (if the host supports FX plugins with MIDI input

Enable Midi Out

If enabled, the instrument plugin can send out MIDI messages that you forward using Message.sendToMidiOut()

Enable Sound Generators FX

If enabled, the effect plugin will also process child sound generators (eg. Global modulation containers and Macro modulation sources

Be aware that the sound output of the child sound generators will not be used, so this is only useful with "quiet" sound generators

VST3 Support

If enabled, the exported plugins will use the VST3 SDK standard instead of the VST 2.x SDK. Until further notice, this is a experimental feature so proceed with caution.

Be aware that Steinberg stopped support for the VST 2.4 SDK in October 2018 so if you don't have a valid VST2 license agreement in place, you must use the VST3 SDK.

Use Raw Frontend

If enabled, the project will not use the preset structure and scripted user interface and lets you use HISE as C++ framework.You will have to implement a custom C++ class in the AdditionalSourceCode subfolder.

Expansion Type

Sets the expansion type you want to use for this project. You can choose between:

If you use a custom expansion, you will need to implement ExpansionHandler::createCustomExpansion() in your project's C++ code

Encryption Key

Sets the BlowFish encryption key (up to 72 characters) that will be used to encrypt the intermediate expansions.

If you're using the Full expansion type you will need to set the key here, otherwise, you can call ExpansionHandler.setEncryptionKey() for the same effect.

Make sure you restart HISE after changing this setting in order to apply the change.

Redirects the expansion folder in the app data directory of the compiled plugin back to your project folder's expansion folder.
A compiled plugin will look in its app data folder for the expansions, so during development, you might want it to link back to the subfolder of the project directory so that you can see the expansions that you have created.
If you do not enable this, the expansion list in a compiled project will be empty unless you manually copy the Expansion folder from the project folder to the app data folder.

Be aware that this will only work on the development machine and has nothing to do with proper distribution of the expansions to the end user

Be aware that this is a system-specific setting so if you load a project from another machine, make sure to tick / untick this box in order to create the expansion folder on this machine

Read Only Factory Presets

If enabled, the user presets that are part of the compiled plugin (and expansions) can not be overriden by the end user.

It will grey out the save button for all factory presets

Force Stereo Output

If you export a plugin with HISE it will create as much channels as the routing matrix of the master container requires. If you don't want this behaviour, you can enable this option to force the plugin to just use a stereo channel configuration

Admin Permissions

If enabled, standalone builds on Windows will prompt the user for administrator privileges. This is neccessary for tasks that access restricted locations such as the user's VST3 directory.

Embed User Presets

If disabled, the user presets will not be part of the binary and are not extracted automatically on first plugin launch

This is useful if you're running your own preset management or the user preset collection gets too big to be embedded in the plugin

Overwrite Old User Presets

If true, then the plugin will silently overwrite user presets with the same name but an older version number.
This will also overwrite user-modified factory presets but will not modify or delete user-created user presets (with the exception of a name collision).

Enable Global Preprocessor

If this flag is enabled, it will use the C-Preprocessor to process all HiseScript files on compilationIf you disable this method, you can still enable preprocessing for individual files if they start with the directive #on

This setting will not have an effect on compiled plugins as the preprocessor will already be evaluated on export

Use Global App Data Folder Windows

If enabled, this will use the global app data folder (C:/ProgramData/Common Files) for the app data

This setting will write the HISE_USE_SYSTEM_APP_DATA_FOLDER flag when exporting the plugin

Use Global App Data Folder Mac OS

If enabled, this will use the global app data folder on macOS (/Library/Application Support)

This setting will write the HISE_USE_SYSTEM_APP_DATA_FOLDER flag when exporting the plugin

Default User Preset

The relative path to the user preset that is supposed to be the initialisation state. If non-empty, this will be used in order to initialise the plugin as well as set the default states and select it in the preset browser

Compile With Perfetto

If enabled, the project will be compiled with the Perfetto Tracing SDK.

This allows you to profile & track down issues and performance hotspots, during development or troubleshooting.

Compile With Debug Symbols

If enabled, the project will be compiled with the debug symbols for better trouble shooting.

With this setting, the crash reports will contain valid source code locations which might be helpful for debugging crashes, but you obviously have to turn this off for a production release!.

User

Company

Your company name. This will be used for the path to the app data directory so make sure you don't use weird characters here

Company Code

The unique code to identify your company. This must be 4 characters with the first one being uppercase like this:

Abcd

Team Development ID

If you have a Apple Developer Account, enter the Developer ID here in order to code sign your app / plugin after compilation