Full Code of Celemony/ARA_SDK for AI

main 1ca0b0aa65a7 cached
8 files
16.2 KB
4.2k tokens
1 requests
Download .txt
Repository: Celemony/ARA_SDK
Branch: main
Commit: 1ca0b0aa65a7
Files: 8
Total size: 16.2 KB

Directory structure:
gitextract_af_pqfmw/

├── .gitignore
├── .gitmodules
├── NOTICE.txt
├── README.md
├── install_AudioUnitSDK.cmake
├── install_CLAP.cmake
├── install_JUCE_ARA.cmake
└── install_vst3sdk.cmake

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
$RECYCLE.BIN
.fseventsd
.Trashes
.DS_Store
.vscode
.vs
*.ncb
*.suo
*.sdf
*.opensdf
*.pbxuser
*.perspectivev3
*.user
*.xcworkspacedata
*.VC.db*
*.VC.opendb*
*.ipch
version.properties
xcuserdata
ARTIFACTS
build
out


================================================
FILE: .gitmodules
================================================
[submodule "ARA_API"]
	path = ARA_API
	url = https://github.com/Celemony/ARA_API
[submodule "ARA_Library"]
	path = ARA_Library
	url = https://github.com/Celemony/ARA_Library
[submodule "ARA_Examples"]
	path = ARA_Examples
	url = https://github.com/Celemony/ARA_Examples


================================================
FILE: NOTICE.txt
================================================
ARA Audio Random Access SDK Installer

This module bundles the ARA API, ARA Library and ARA Examples
by Celemony Software GmbH as ARA Audio Random Access SDK,
available under the Apache License 2.0.
For details, see ARA_API, ARA_Library and ARA_Examples.


This module bundles cpp-base64, developed by René Nyffenegger,
available under the "zlib" license.
For details, see ARA_Examples/3rdParty/cpp-base64.

This module bundles pugixml, developed by Arseny Kapoulkine,
available under the "MIT" license.
For details, see ARA_Examples/3rdParty/pugixml.

This module bundles the AudioFile component of the ICST DSP library,
extended to read and write iXML data chunks, developed by the
Zurich University of the Arts, Beat Frei, and Celemony Software GmbH,
available under the "2-clause BSD" license.
For details, see ARA_Examples/3rdParty/ICST_AudioFile.


This module optionally installs a subset of the VST3 SDK,
developed by Steinberg Media Technologies GmbH,
available under the Propritary Steinberg VST3 License or
alternatively under the General Public License (GPL) Version 3,
see LICENSE.txt included there.

This module optionally installs the CoreAudio Utility Classes,
developed by Apple Inc.,
available under a custom Apple sample code license contained in each
source file therein.

This module optionally installs the JUCE_ARA fork of the JUCE SDK,
developed by Raw Material Software Limited and Celemony Software GmbH,
available under a variety of licenses including the
General Public License (GPL) Version 3,
see LICENSE.md included there.


THIS SOFTWARE IS PROVIDED BY CELEMONY SOFTWARE GMBH AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL CELEMONY SOFTWARE GMBH AND/OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: README.md
================================================
# ARA Audio Random Access: Software Development Kit Installer

## About ARA and the ARA SDK

ARA Audio Random Access is an extension for established plug-in standard APIs such as
[`VST3`](https://github.com/steinbergmedia/vst3sdk),
[`Audio Units`](https://developer.apple.com/documentation/audiotoolbox),
[`AAX`](https://developer.avid.com/aax/) or [`CLAP`](https://cleveraudio.org/) to allow for a
much-improved DAW integration of plug-ins like Celemony's Melodyne which are conceptually
closer to a sample editor than to a conventional realtime audio processor.
It enables plug-ins to read audio samples from the DAW host at will, allowing them to implement more
sophisticated processing algorithms not possible when being tied to individual realtime buffers.
ARA further defines bi-directional exchange of audio content information such as tempo, keys and scales
between plug-in and host, upon which both host and plug-ins can build numerous advanced editing features.

This Software Development Kit allows digital audio workstation (DAW) plug-in and host developers to
implement and utilize ARA enabled plug-ins.
It is copyright (c) 2012-2026, [Celemony Software GmbH](https://www.celemony.com), and published under
the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).

Any public release of ARA-enabled software should be based on a tagged public release of the ARA API.
If temporarily using HEAD to study current work-in-progress, keep in mind that in order to achieve a
concise long-term change history, any changes since the last tagged release may eventually be rebased.


## ARA SDK Submodules

The ARA SDK consists of three components which are distributed as individual Git submodules so that
dependent projects can pick only those parts of the SDK that are needed in their context.
After cloning this top level module, you need to fetch these submodules, e.g. by running:

    git submodule update --init --recursive


### ARA API

The `ARA_API` module contains the core headers that define the actual ARA C API.
`ARAInterface.h` is the main header, accompanied by a set of auxiliary headers for integrating ARA with
each of the supported companion APIs like `VST3` or `Audio Units`. Additionally, ARA Audio File Chunks
are defined in `ARAAudioFileChunks.h`.
It includes extensive printer-friendly [documentation](ARA_API/ARA_API.pdf).

### ARA Library

The `ARA_Library` module wraps the low-level ARA C API with extensive C++11 classes and provides
additional utility code that aides developers when implementing ARA-enabled products.
It includes extensive browser-friendly [documentation](ARA_Library/html_docs/index.html).

### ARA Examples

The `ARA_Examples` module contains various sample code demonstrating how to both implement and host
ARA enabled plug-ins. For details on building and running the examples, see their accompanying
[README](ARA_Examples/README.md).
Note that some of the examples rely on external dependencies, see separate
[3rd party README](ARA_Examples/3rdParty/README.md).


## Companion APIs

Building ARA-enabled products relies on using at least one of the various established plug-in standard
APIs as "companion API" to ARA. Note that each of the companion APIs comes with its own specific licensing
conditions, as detailed in each SDK - some of these terms differ substantially from ARA's licensing conditions.
The companion APIs are therefore not installed automatically. However where applicable, optional install
scripts for these SDKs are provided as convenience.
Per default, these scripts will place the SDKs inside the ARA SDK folder, but this can be overridden
by specifying alternate locations for each SDK, e.g. for VST3 by adding the argument:

    -D ARA_VST3_SDK_DIR:PATH="your/path/to/vst3sdk"


### VST3 SDK

You can set the variable ARA_VST3_SDK_DIR to an already existing local copy of the Steinberg VST3 SDK
when generating the ARA example projects.
Alternatively, a subset of the [VST3 SDK](https://github.com/steinbergmedia/vst3sdk) sufficient for building
the ARA examples can be fetched from GitHub via:

    cmake -P install_vst3sdk.cmake

### Audio Unit SDK

Similar to VST3, you can set ARA_AUDIO_UNIT_SDK_DIR to use an existing local copy of Apple's
Audio Unit SDK (former Core Audio Utility Classes).
They can also be downloaded directly from the [Apple github page](https://github.com/apple/AudioUnitSDK):

    cmake -P install_AudioUnitSDK.cmake

### CLAP SDK

Similar to VST3, you can set ARA_CLAP_SDK_DIR to use an existing local copy of the CLAP SDK, which
can be downloaded directly from the [CLAP github page](https://github.com/free-audio/clap):

    cmake -P install_CLAP.cmake

### AAX SDK

The ARA AAX integration is an optional part of the AAX SDK and not included here. The AAX SDK can be
downloaded from Avid after registering with them, see [Avid's developer site](https://developer.avid.com/aax/).


## Optional JUCE ARA Example

In order to provide an example with extensive UI, Celemony has created an [experimental fork](https://github.com/Celemony/JUCE_ARA)
of the [JUCE framework](https://juce.com) which contains an extended ARA demo plug-in that allows
for studying ARA GUI integration both for host and plug-in developers.

Note that like some of the companion APIs, JUCE imposes very different licensing conditions than the
ARA SDK itself, see its included documentation.

To download this optional module run:

    cmake -P install_JUCE_ARA.cmake

Now build and launch the Projucer found in extras/Projucer/Builds,
choose Open Example > Plugins > ARAPluginDemo and export the project for your IDE of choice.


================================================
FILE: install_AudioUnitSDK.cmake
================================================
# CMake script to install the Apple Core Audio Utilities right next to the script,
# or to a custom location provided via AUDIOUNIT_SDK_DIR.
#
# See README.md and NOTICE.txt for details.
#
# THIS SOFTWARE IS PROVIDED BY CELEMONY SOFTWARE GMBH AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL CELEMONY SOFTWARE GMBH AND/OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cmake_minimum_required(VERSION 3.19 FATAL_ERROR)

if(NOT APPLE)
    message(FATAL_ERROR "The Audio Unit SDK can only be used on Apple platforms.")
endif()

if(NOT AUDIOUNIT_SDK_DIR)
    set(AUDIOUNIT_SDK_DIR "${CMAKE_CURRENT_LIST_DIR}/AudioUnitSDK")
endif()

if(EXISTS "${AUDIOUNIT_SDK_DIR}")
    if(EXISTS "${AUDIOUNIT_SDK_DIR}/CoreAudio/AudioUnits/AUPublic")
        message(STATUS "Core Audio Utility Classes seem to be already installed in '${AUDIOUNIT_SDK_DIR}'.")
    else()
        message(FATAL_ERROR "There already exists a file or folder named '${AUDIOUNIT_SDK_DIR}' but it does not seem to contain the Core Audio Utility Classes.")
    endif()
else()
    message(STATUS "Cloning AudioUnitSDK to '${AUDIOUNIT_SDK_DIR}'...")
    execute_process(COMMAND git clone --depth=1 --shallow-submodules --single-branch --no-tags --progress --branch AudioUnitSDK-1.0.0 https://github.com/apple/AudioUnitSDK "${AUDIOUNIT_SDK_DIR}" RESULT_VARIABLE result)
    if(result)
        message(FATAL_ERROR "Cloning repository failed: ${result}")
    endif()
endif()


================================================
FILE: install_CLAP.cmake
================================================
# CMake script to install a subset of the Steinberg VST3 SDK right next to the script,
# or to a custom location provided by VST3_SDK_DIR.
#
# See README.md and NOTICE.txt for details.
#
# THIS SOFTWARE IS PROVIDED BY CELEMONY SOFTWARE GMBH AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL CELEMONY SOFTWARE GMBH AND/OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cmake_minimum_required(VERSION 3.19 FATAL_ERROR)

if(NOT CLAP_SDK_DIR)
    set(CLAP_SDK_DIR "${CMAKE_CURRENT_LIST_DIR}/CLAP")
endif()

if(EXISTS "${CLAP_SDK_DIR}")
    if(EXISTS "${CLAP_SDK_DIR}/include/clap")
        message(STATUS "CLAP seems to be already installed in '${CLAP_SDK_DIR}'.")
    else()
        message(FATAL_ERROR "There already exists a file or folder named '${CLAP_SDK_DIR}' but it does not seem to contain CLAP.")
    endif()
else()
    message(STATUS "Cloning CLAP to '${CLAP_SDK_DIR}'...")
    execute_process(COMMAND git clone --depth=1 --shallow-submodules --single-branch --no-tags --progress --branch 1.1.9 https://github.com/free-audio/clap "${CLAP_SDK_DIR}" RESULT_VARIABLE result)
    if(result)
        message(FATAL_ERROR "Cloning repository failed: ${result}")
    endif()
endif()


================================================
FILE: install_JUCE_ARA.cmake
================================================
# CMake script to install the JUCE_ARA repository right next to the script,
# or to a custom location provided via JUCE_ARA_DIR.
#
# See README.md and NOTICE.txt for details.
#
# THIS SOFTWARE IS PROVIDED BY CELEMONY SOFTWARE GMBH AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL CELEMONY SOFTWARE GMBH AND/OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cmake_minimum_required(VERSION 3.19 FATAL_ERROR)

if(NOT JUCE_ARA_DIR)
    set(JUCE_ARA_DIR "${CMAKE_CURRENT_LIST_DIR}/JUCE_ARA")
endif()

if(EXISTS "${JUCE_ARA_DIR}")
    if(EXISTS "${JUCE_ARA_DIR}/modules/juce_audio_plugin_client/ARA")
        message(STATUS "JUCE ARA seems to be already installed in '${JUCE_ARA_DIR}'.")
    else()
        message(FATAL_ERROR "There already exists a file or folder named ${JUCE_ARA_DIR} but it does not seem to contain JUCE ARA.")
    endif()
else()
    message(STATUS "Cloning JUCE ARA to '${JUCE_ARA_DIR}'...")
    execute_process(COMMAND git clone --depth=20 --shallow-submodules --single-branch --no-tags --progress --branch 7.0.3 https://github.com/Celemony/JUCE_ARA "${JUCE_ARA_DIR}" RESULT_VARIABLE result)
    if(result)
        message(FATAL_ERROR "Cloning repository failed: ${result}")
    endif()
endif()

message(STATUS "Install complete. Now build and launch the Projucer found in '${JUCE_ARA_DIR}/extras/Projucer/Builds',")
message(STATUS "choose Open Example > Plugins > ARAPluginDemo and export the project for your IDE of choice.")


================================================
FILE: install_vst3sdk.cmake
================================================
# CMake script to install a subset of the Steinberg VST3 SDK right next to the script,
# or to a custom location provided by VST3_SDK_DIR.
#
# See README.md and NOTICE.txt for details.
#
# THIS SOFTWARE IS PROVIDED BY CELEMONY SOFTWARE GMBH AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL CELEMONY SOFTWARE GMBH AND/OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cmake_minimum_required(VERSION 3.19 FATAL_ERROR)

if(NOT VST3_SDK_DIR)
    set(VST3_SDK_DIR "${CMAKE_CURRENT_LIST_DIR}/vst3sdk")
endif()

if(EXISTS "${VST3_SDK_DIR}")
    if(EXISTS "${VST3_SDK_DIR}/cmake/modules/SMTG_VST3_SDK.cmake")
        message(STATUS "VST3 SDK seems to be already installed in '${VST3_SDK_DIR}'.")
    else()
        message(FATAL_ERROR "There already exists a file or folder named ${VST3_SDK_DIR} but it does not seem to contain the VST3 SDK.")
    endif()
else()
    message(STATUS "Cloning VST3 SDK to '${VST3_SDK_DIR}'...")
    execute_process(COMMAND git clone --depth=1 --shallow-submodules --single-branch --no-tags --progress --branch v3.7.11_build_10 https://github.com/steinbergmedia/vst3sdk.git "${VST3_SDK_DIR}" RESULT_VARIABLE result)
    if(result)
        message(FATAL_ERROR "Cloning repository failed: ${result}")
    endif()

    message(STATUS "Initializing VST3 SDK submodules...")
    execute_process(COMMAND git -C "${VST3_SDK_DIR}" submodule update --init --depth=1 --single-branch --progress -- base cmake pluginterfaces public.sdk RESULT_VARIABLE result)
    if(result)
        message(FATAL_ERROR "Initializing submodules failed: ${result}")
    endif()
endif()
Download .txt
gitextract_af_pqfmw/

├── .gitignore
├── .gitmodules
├── NOTICE.txt
├── README.md
├── install_AudioUnitSDK.cmake
├── install_CLAP.cmake
├── install_JUCE_ARA.cmake
└── install_vst3sdk.cmake
Condensed preview — 8 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (17K chars).
[
  {
    "path": ".gitignore",
    "chars": 213,
    "preview": "$RECYCLE.BIN\n.fseventsd\n.Trashes\n.DS_Store\n.vscode\n.vs\n*.ncb\n*.suo\n*.sdf\n*.opensdf\n*.pbxuser\n*.perspectivev3\n*.user\n*.xc"
  },
  {
    "path": ".gitmodules",
    "chars": 270,
    "preview": "[submodule \"ARA_API\"]\n\tpath = ARA_API\n\turl = https://github.com/Celemony/ARA_API\n[submodule \"ARA_Library\"]\n\tpath = ARA_L"
  },
  {
    "path": "NOTICE.txt",
    "chars": 2338,
    "preview": "ARA Audio Random Access SDK Installer\n\nThis module bundles the ARA API, ARA Library and ARA Examples\nby Celemony Softwar"
  },
  {
    "path": "README.md",
    "chars": 5636,
    "preview": "# ARA Audio Random Access: Software Development Kit Installer\n\n## About ARA and the ARA SDK\n\nARA Audio Random Access is "
  },
  {
    "path": "install_AudioUnitSDK.cmake",
    "chars": 2049,
    "preview": "# CMake script to install the Apple Core Audio Utilities right next to the script,\n# or to a custom location provided vi"
  },
  {
    "path": "install_CLAP.cmake",
    "chars": 1805,
    "preview": "# CMake script to install a subset of the Steinberg VST3 SDK right next to the script,\n# or to a custom location provide"
  },
  {
    "path": "install_JUCE_ARA.cmake",
    "chars": 2069,
    "preview": "# CMake script to install the JUCE_ARA repository right next to the script,\n# or to a custom location provided via JUCE_"
  },
  {
    "path": "install_vst3sdk.cmake",
    "chars": 2202,
    "preview": "# CMake script to install a subset of the Steinberg VST3 SDK right next to the script,\n# or to a custom location provide"
  }
]

About this extraction

This page contains the full source code of the Celemony/ARA_SDK GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 8 files (16.2 KB), approximately 4.2k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!