This is a JUCE Demo Project showing how to connect with Heavy C++ (shortform HVCC
) generated Source files.
The Demo includes a minimal synthesizer created with PureData/PlugData which was then compiled with HVCC. A connection between the Heavy parameters and JUCE is done via JUCE's AudioProcessor APVTS
parameter management.
In ParamIds.h
you have to double the Hashs/Parameters generated by the Heavy Compiler to connect them to APVTS. In the case of this demo you see the Parameters created by Heavy in the Heavy_Simple_OSC.h
file.
This Project uses the JUCE
generic editor by default because it's very handy for quick tests. But if you cange to HeavyTutorialAudioProcessorEditor
in HeavyTutorialAudioProcessor::createEditor(), then you can start with designing your own GUI right away, the neccessary faders are already there.
The PureData Source File Simple-OSC.pd
is included in the root folder of the Project. It works with PlugData, but won't work with Vanilla, as it uses a Reverb created with Heavy. The C files created by Heavy are in the Folder Source/HeavyFiles
.
HVCC
compiles Plugins for different formats already: LV2, VST2, VST3, Clap, Jack ...
BUT, if you want to create your own GUI
, you need to spend some extra work, like to create a unique GUI with JUCE.
JUCE also gives you the possibility to create Projects for a huge variety of plattforms. You can create Apps for iOS or Android Devices for example, which is not possible with many other crossplatform audio frameworks.
Screenshot of an AUv3
version of the app inside AUM as host.
For the Mobile Version you will use the Xcode iOS Exporter.
To make it work on your iOS device change the Development Team ID
to yours.
This project will create Builds for Standalone, VST3 and AUv3, but you can go other directions of course.