Plugin wrapper around PureData to allow patching in a wide selection of DAWs.
PlugData is a plugin wrapper for PureData, featuring a new GUI made with JUCE. This is still a WIP, and there are probably still some bugs. By default, it ships with the ELSE collection of externals and abstractions. The aim is to provide a more comfortable patching experience for a large selection of DAWs. It can also be used as a standalone replacement for pure-data.
For Arch users, you can install the AUR package manually or via an AUR helper.
git clone --recursive https://github.com/timothyschoen/PlugData.git
cd PlugData
mkdir build && cd build
cmake .. (the generator can be specified using -G"Unix Makefiles", -G"XCode" or -G"Visual Studio 16 2019" -A x64)
cmake --build .
Important:
- Please ensure that the git submodules are initialized and updated! You can use the
--recursive
option while cloning orgit submodule update --init --recursive
in the PlugData repository . - On Linux OS, Juce framework requires to install dependencies, please refer to Linux Dependencies.md and use the full command.
- The CMake build system has been tested with Unix Makefiles, XCode and Visual Studio 16 2019.
Supported by Deskew Technologies
- Camomile by Pierre Guillot
- ELSE by Alexandre Torres Porres
- cyclone by Krzysztof Czaja, Hans-Christoph Steiner, Fred Jan Kraan, Alexandre Torres Porres, Derek Kwan, Matt Barber and others (note: Cyclone is included to offer an easy entry point for Max users but ELSE contains several alternatives to objects in Cyclone and Pure Data Vanilla itself also has some alternatives. Not only that, but objects that weren't cloned into Cyclone also have alternatives in ELSE, see: this)
- Pure Data by Miller Puckette and others
- libpd by the Peter Brinkmann, Dan Wilcox and others
- Juce by ROLI Ltd.
- MoodyCamel by Cameron Desrochers
- Kiwi by Eliott Paris, Pierre Guillot and Jean Millot
- LV2 PlugIn Technology by Steve Harris, David Robillard and others
- VST PlugIn Technology by Steinberg Media Technologies
- Audio Unit PlugIn Technology by Apple
- Juce LV2 interface by Filipe Coelho
What works:
- Very close to full support for pd (including all GUI objects, undo/redo, copy/paste, saving, loading, console, object properties, drawing functions, audio and MIDI I/O, help files)
- Most ELSE library objects work
- LV2, AU and VST3 formats available, tested on Windows (x64), Mac (ARM/x64) and Linux (ARM/x64), also works as AU MIDI processor for Logic
- Receive 8 DAW parameters using "receive param1"
Known issues:
- Tabs sometimes close when closing editor
- Needs more testing on different systems and DAWs
- Broken objects:
- text define
- There may still be some more bugs
v0.5:
- Ask to save when closing standalone
- Grid
- Tidy up feature
- Light theme
- Fix C externals support
- Blacked out background for dialogs
- Command line arguments
- Better rendering of pd patch layouts
- Stick to mouse when creating from menu
- Tail length option for plugins
- DAW Transport object
- Keyboard GUI component resize
- Ensure all object properties are supported
- Expand pddocs with more descriptions
Future plans:
- Support for GEM or Ofelia
Please contact me if you wish to contribute, I could use some help! Bug reports are also appricated, they help me to get to a stable version much faster.