Pure Data as an embeddable audio synthesis library
Copyright (c) Peter Brinkmann & the libpd team 2010-2015
See our website and book at http://libpd.cc
For documentation of libpd, see the wiki: https://github.com/libpd/libpd/wiki
If you are using Processing, iOS, or Android, see our companion repositories:
The folder containing the sources of Pd Vanilla and standard externals. This is a git submodule of Miller Puckette's official Pd git repository (git://git.code.sf.net/p/pure-data/pure-data), available through a Github mirror:
If you're cloning this repo, make sure to checkout the submodule:
git submodule init git submodule update
This folder contains the source files that make up the core of libpd.
Android.mk, Makefile, libpd.xcodeproj, libpd_win.sln
Build support for various platforms. Feel free to improve the build system in any way you see fit.
Currently the main Makefile builds a dynamic lib on Windows (in MinGW), Linux, & Mac OSX and has the following targets:
- libpd: (default) builds if no target is specified, builds the libpd.so/dylib/dll
- cpplib: builds libpd with the cpp wrapper
- csharplib: builds libpdcsharp.dll (tested on Windows only)
- javalib: builds libpdnative and the jni wrapper
- clean: removes the object files
- clobber: removes the linked library files
- install: installs libpd C library (+ C++ if built) and headers, set location with prefix= (default: /usr/local)
- uninstall: removes libpd C library and headers, set location with prefix= (default: /usr/local)
Makefile options allow for conditional compilation of libpd util and pd extra externals sources into libpd as well as other options:
- UTIL=true, compiles
libpd_wrapper/utilringbuffer and print concatenator
- EXTRA=true, compiles
pure-data/extraexternals which are then inited in libpd_init()
- DEBUG=true, compiles libpd with -Wall & no optimizations
For example, to build libpd with both util and extra:
make UTIL=true EXTRA=true
java, csharp, objc, cpp, python
Glue for using libpd with Java, C#, Objective C, C++ and Python. Feel free to improve or add support for other languages such as Lua.
Contains small sample programs and tests in the various supported langauges.
Ready-made binaries for Java are available at libpd-java-build: https://github.com/wivlaro/libpd-java-build/blob/master/libpd.jar (may not be up to date)