chee / PlugData

Pure Data as a plugin, with a new GUI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

PlugData

Plugin wrapper around Pure Data to allow patching in a wide selection of DAWs.

Workflows

Downloads Release License

Screenshot 2022-06-29 at 00 14 03

Screenshot 2022-06-29 at 00 18 35

PlugData is a plugin wrapper for Pure Data, 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.

Join the Discord here, for sharing patches, reporting issues or requesting features: https://discord.gg/eT2RxdF9Nq

Installation

Linux users are advised to install PlugData using the repositories here. Arch users can also install the AUR package.

For Mac and Windows, you can find the last stable-ish release in the releases section on the right, or download a recent build from the actions tab.

Build

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 or git submodule update --init --recursive in the PlugData repository .
  • On Linux, 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.

Credits

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
  • Inter font by Rasmus Andersson
  • 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

Status

What works:

  • Nearly complete support for pd
  • Most ELSE and cyclone library objects work
  • LV2, AU and VST3 formats available, tested on Windows (x64), Mac (ARM/x64) and Linux (ARM/x64)
  • Receive 512 DAW parameters using the [param] abstraction
  • Receive DAW playhead position, tempo and more using the [playhead] abstraction

Known issues:

  • Broken ELSE objects:
    • [oscope~]
    • [function]
    • [bicoeff]
    • [messbox]
    • [note]
    • [canvas.active]
    • [canvas.mouse]
    • [canvas.vis]
    • [canvas.zoom]
  • There may still be some more bugs

Roadmap

These are all the things I'm hoping to implement before version 0.7 I might release some smaller versions inbetween if any serious bugs are being found.

FEATURES:

  • Object discovery panel: a place where all objects (with descriptions) are listed by category
  • Search in patch
  • Autosave

PD COMPATIBILITY:

  • Fix broken objects
  • Some properties are not updated in the panel when set with a message

OTHER:

  • Expand documentation with more object descriptions and inlet/outlet hover messages
  • Restructure build directory
  • Clean up and document code
  • Codesign executables for Windows
  • Support for Gem and Ofelia

Please contact me if you wish to contribute, I could use some help! Bug reports are also appreciated, they help me to get to a stable version much faster.

About

Pure Data as a plugin, with a new GUI

License:GNU General Public License v3.0


Languages

Language:C 68.8%Language:Makefile 7.9%Language:Shell 7.5%Language:HTML 5.5%Language:C++ 4.9%Language:CMake 1.8%Language:M4 1.0%Language:Smarty 0.6%Language:TeX 0.5%Language:Assembly 0.4%Language:CSS 0.3%Language:Roff 0.2%Language:Perl 0.2%Language:XSLT 0.1%Language:Python 0.1%Language:JavaScript 0.0%Language:MATLAB 0.0%Language:Kotlin 0.0%Language:Batchfile 0.0%Language:Gnuplot 0.0%Language:Objective-C++ 0.0%