mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
ARA: Add documentation
This commit is contained in:
parent
966c8c4c11
commit
09d1e97bf1
1 changed files with 76 additions and 0 deletions
76
docs/ARA.md
Normal file
76
docs/ARA.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# ARA plugin support
|
||||
|
||||
JUCE supports the development of ARA enabled hosts and plugins. Since the ARA SDK is not included
|
||||
in JUCE there are some steps you need to take to enable all ARA related functionality.
|
||||
|
||||
## External dependencies
|
||||
|
||||
- ARA SDK 2.1.0
|
||||
|
||||
You can download the ARA SDK from Celemony's Github. The command below will recursively clone the
|
||||
right version into the `ARA_SDK` directory
|
||||
|
||||
git clone --recursive --branch releases/2.1.0 https://github.com/Celemony/ARA_SDK
|
||||
|
||||
## Enabling ARA features in JUCE
|
||||
|
||||
Once you have downloaded the ARA SDK you need to configure JUCE to use it.
|
||||
|
||||
### The Projucer
|
||||
|
||||
Add the path to the Global Paths settings.
|
||||
|
||||
### CMake
|
||||
|
||||
Use the `juce_set_ara_sdk_path` function in your CMakeLists file.
|
||||
|
||||
Alternatively, if you are building the examples and extras with CMake from the JUCE repo directory
|
||||
you can also specify `-DJUCE_GLOBAL_ARA_SDK_PATH=/your/path/to/ARA_SDK` parameter to CMake to
|
||||
enable ARA.
|
||||
|
||||
## Building the AudioPluginHost with ARA
|
||||
|
||||
The AudioPluginHost has simple ARA hosting features, but you need to modify its build configuration
|
||||
to enable them.
|
||||
|
||||
### The Projucer
|
||||
|
||||
After opening `AudioPluginHost.jucer` go to *Modules* → *juce_audio_processors* and enable the
|
||||
*JUCE_PLUGINHOST_ARA* setting.
|
||||
|
||||
### CMake
|
||||
|
||||
Set `JUCE_PLUGINHOST_ARA=1` inside `AudioPluginHost/CMakeLists.txt`.
|
||||
|
||||
### Loading ARA plugins
|
||||
|
||||
ARA capable plugins will now have two entries in the Create plugin menu, and the one saying (ARA)
|
||||
will activate additional ARA features. If you right click on the plugin in the graph, you can use
|
||||
the “Show ARA host control” item to assign an audio file that the plugin can read through the ARA
|
||||
interfaces.
|
||||
|
||||
## Adding ARA features to existing plugins
|
||||
|
||||
### The Projucer
|
||||
|
||||
Check the Enable ARA option in the Plugin Formats settings. ARA is an extension to VST3 and AU
|
||||
plugins, hence you need to have at least one of those options enabled too for valid build targets.
|
||||
|
||||
### CMake
|
||||
|
||||
Add the property `IS_ARA_EFFECT TRUE` to your `juce_add_plugin` call.
|
||||
|
||||
### Modifying the plugin code
|
||||
|
||||
In addition to the `createPluginFilter()` function that is needed for all audio plugins, you will
|
||||
now need to provide an implementation to the `createARAFactory()` function as well. You can do this
|
||||
by inheriting from `juce::ARADocumentControllerSpecialisation` and using its helper function. The
|
||||
class documentation should make this clear by also providing an example. You can also find an
|
||||
example in the ARAPluginDemo.
|
||||
|
||||
## Learning about ARA
|
||||
|
||||
ARA provides an extensive API that allows you to exchange information with the host in completely
|
||||
new ways. To understand the basics and to build up your knowledge it’s best to read the official
|
||||
ARA documentation, which has approachable introductory sections. You can find the documentation in
|
||||
the SDK directory at `ARA_SDK/ARA_Library/html_docs/index.html`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue