Personal tools
You are here: Home documentation developer WorkingWithPdExtendedSources

To enable a full development cycle it is necessary to know how to put together the many different source code repositories for Pd, which are listed in GettingPdSource. This document provides some developer-friendly suggestions for downloading relevant source code and for putting it all together.

Downloading Pd Extended for Development

The relevant source code with version control includes the following:

* The core of Pd extended, which is in Git. We will refer to this code base as pd-extended.git.

 git clone git://

* The full community repository for Pd extended with most of the externals. This is in Subversion, we refer to this as pd-svn.

 svn co svn:// pd-svn

 # For uniformity, we suggest using a Git interface instead of the above command as follows:
 git svn clone pd-svn
(See for a development workflow with git+svn)

* Gem has its own Git repository.

 git clone git:// gem.git

Putting it all Together

There are two approaches for putting these sources together into a developer's build.

Full Approach

This approach centers on pd-svn and links to the latest pd-extended.git and Gem. If you need many libraries and develop and test things as a whole, this might be the best approach as it will build almost all all the available libs for Pd.

Download pd-svn, pd-extended.git, and Gem as above. Then Replace the 'pd' subdir of pd-svn with a symlink to pd-extended.git

 cd pd-svn/
 mv pd pd-original
 ln -s ../pd-extended.git pd
Symlink Gem to pd-svn/Gem and pd-svn/externals/Gem
 ln -s ../gem.git Gem
 cd externals
 ln -s ../../gem.git Gem

Under Linux, compile using the linux-make approach described in BuildingPdExtended.

Selective Approach

This approach centers on pd-extended.git, with symlinks inside pd-extended.git/extra to the libraries you want to develop at a given time. If you need to isolatedly develop things, this might be the best option.

Download pd-extended.git, pd-svn and Gem as described above. Inside pd-extended.git/extra, link to the libs you need, e.g. from pd-svn or Gem. for instance:

 libdir -> ../../pure-data/trunk/externals/loaders/libdir
 cyclone -> /Applications/
 extra -> ../../pure-data/trunk/externals/extra
 vanilla -> ../../pure-data/trunk/externals/vanilla/
 pddp -> ../../pure-data/trunk/externals/pddp
 pdlua -> ../../pure-data/trunk/externals/loaders/pdlua/src/

Build everything inside pd-extended.git, so you can quickly test core changes and run Pd directly from there:

 cd ~/code/pd-extended.git

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser