Skip to content

Adding Externals (Devs)

Page to document the details of how you can contribute with pd4web.

pd4web: Adding Support to Externals

pd4web consists of a set of tools accessible via a Python module named pd4web. Internally, pd4web utilizes EMSCRIPTEN to compile external components into dynamic static libraries.

To integrate a new library, you must create a CMakeLists.txt. It's highly recommended to use pd.cmake due to assumptions made (such as the TARGET name convention like earplug~ becoming earplug_tilde). After creating the CMakeLists.txt for the library you need, submit a pull request that modifies Externals.yaml within Sources/pd4web/. In this file, simply add a new entry similar to the provided example.

  - Name: cyclone # name of the pd library
    Source: GITHUB_RELEASES # source
    Developer: porres # in this case, Github user name
    Repository: pd-cyclone # in this case, Github Repo
    Version: cyclone_0.7-0 # version

Below the complete fields for enviroment.


Key Name Description
Name With name you specify the name of the library, for example else, cyclone, timbreIdLib.
Developer The username of the user where the repository is hosted. For example porres.
Repository The name of the repository where it is hosted. For example pd-else.
Source The download source, it must be GITHUB_RELEASES or GITHUB_TAGS.
DirectLink If you repository dev don't publish Releases or Tags you must use the direct link to a zip file.
Dependencies It is a list of all dynamic libraries used, for example, convolve~ uses fftw3 so we need to set ["fftw3"]. It should be in the supported Dynamic Libraries..