Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Turning Pure Data into an embeddable audio synthesis library
C Objective-C C++ C# Java Makefile Other
branch: master
Failed to load latest commit information.
cpp reorganized all samples & tests by language, updated C & C++ sample M…
csharp libpd_init now returns 0 on success & -1 on failure to match C conven…
dist Added support for including native libraries in libpd.jar
java/org/puredata/core General reformatting.
jni Fixed incorrect pointer dereference.
libpd.xcodeproj Allow Xcode to generate a valid archive.
libpd_wrapper call bob_tilde_setup in z_libpd.c
libs added original mingGW LGPL pthreads dll
objc Update PdBase.m
pure-data @ 905695a updated to pure-data 0.46 branch for multi instance bugfix
python reorganized all samples & tests by language, updated C & C++ sample M…
samples typo fixes to pdtest_multi.c
.classpath cosmetic change
.gitignore reorganized all samples & tests by language, updated C & C++ sample M…
.gitmodules changed submodule to pure-data tracking repo
.project Added integration test for MIDI in particular
Android.mk switched submodule to pure data sourceforge git repo; udpated to pd 0…
CHANGES.txt updated changes for 0.8.0 release
LICENSE.txt Added license info, improved tests
Makefile added simple install & uninstall Makefiel targets, closes #59
README.md added simple install & uninstall Makefiel targets, closes #59
libpd_win.sln removed example for now
mingw_build.bat Copy compiled dll to C# wrapper solution

README.md

libpd

Pure Data as an embeddable audio synthesis library

Copyright (c) Peter Brinkmann & the libpd team 2010-2015

Documentation

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:

Repository Layout

pure-data

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:

https://github.com/pure-data/pure-data.git  

If you're cloning this repo, make sure to checkout the submodule:

git submodule init
git submodule update

libpd_wrapper

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/util ringbuffer and print concatenator
  • EXTRA=true, compiles pure-data/extra externals 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.

samples

Contains small sample programs and tests in the various supported langauges.

Java Builds

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)

Something went wrong with that request. Please try again.