/Camomile-ELSE

An audio plugin with Pure Data embedded that allows to load and to control patches

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Logo

Camomile-ELSE

A plugin that loads and controls Pure Data patches.

License

Documentation Credits Videos

DISCLAIMER

This repository is a fork of Camomile with edits to support externals from the ELSE library.

Presentation

Camomile-ELSE is a plugin with Pure Data and the ELSE library of externals embedded that offers to load and to control patches inside a digital audio workstation. The plugin is available as VST, VST3, LV2 and Audio Unit for Windows, Linux and MacOS. Documentation and further information are available on the wiki pages of the official Camomile project. Downloads and some more information can be found in the wiki of Camomile-ELSE and in Camomile-ELSE releases.

Specific documentation on how to use Camomile-ELSE will be disponible soon.

Examples

Download

The last stable release of the plugin is directly downloadable here and a list of all the releases is available here.

Instruction

As for the examples given within the distribution, most of the time plugins created with Camomile must be generated. Generating plugins does not require any development skill and is pretty easy and straightforward if your read carefully the documentation. This operation requires only 6 basic actions (copy/past/rename) and, since the version 1.0.6, a script is offered for Linux and MacOS to speed up the workflow.

To use the plugins, just copy the packages/folders in the audio plugins' location. If you are not familiar with plugins and/or the digital audio workstations, please read this documentation.

At last, Camomile-ELSE don't have documented how to create plugins with it. But this part of official Camomile documentation presents how to create new plugins with Camomile which will work with Camomile-ELSE with some little differences which are:

  • You need to declare else path in your pd patch with: [declare -path else]
  • To guarantee else objects will be loaded correctly, you need to instantiate all else object like [else_object_name] avoiding use other manner like [else/else_object_name].

Compilation

Download Camomile-ELSE and its dependencies using git:

git clone --recursive https://github.com/emviveros/Camomile-ELSE.git

Generate the libpd project using CMake and compile the libpd library and the plugins:

  • Linux
cd Camomile-ELSE
cd Dependencies/LibPdBuild/LinuxMakefile && cmake .. -DCMAKE_BUILD_TYPE=Release && cd ../../..
make

Important: JUCE requires a set of pre-installed libraries: libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libfreetype6-dev alsa libasound2-dev. Before building Camomile you can run to install everything:

sudo apt-get -qq update
sudo apt-get install -y libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libfreetype6-dev alsa libasound2-dev
  • Mac
cd Camomile-ELSE
cd Dependencies/LibPdBuild/MacOSX && cmake .. -GXcode && cd ../../..
xcodebuild -workspace Camomile.xcworkspace -scheme Camomile-libpd -configuration Release
  • Windows

Important: libpd requires the static pthread library for windows with multithread static runtime library (MT).

cd Camomile-ELSE
mkdir Dependencies\LibPd\build && mkdir Dependencies\LibPd\build\msvc && cd Dependencies\LibPd\build\msvc
cmake -G "Visual Studio 14 2015 Win64" -DPD_MULTI=ON -DPD_UTILS=OFF -DMSVC_STATIC_RUNTIME=ON -DMSVC_PTHREAD_LIB="pthread.lib" ../..
msbuild libpd.sln /t:libpdstatic /nologo /verbosity:quiet /p:Configuration=Release /p:Platform=x64
cd ..\..\..
msbuild Instrument/Builds/VisualStudio2015/Camomile.sln /nologo /p:Configuration=Release /p:Platform=x64
msbuild Effect/Builds/VisualStudio2015/Camomile.sln /nologo /p:Configuration=Release /p:Platform=x64
msbuild LV2/Builds/VisualStudio2015/Camomile.sln /nologo /p:Configuration=Release /p:Platform=x64

For a step by step compilation process, see: https://github.com/emviveros/Camomile-ELSE/wiki/Compiling-Camomile-ELSE-in-Windows-10

Organization

Authors

Credits

Papers