I’m actually working on a project that aims to facilitate the creation of GUI externals in Pd and to easily convert source code from Max to Pd and from Pd to Max. I’ve created a small C/C++ library (at the end, it will be a full C library) with:

  • An automatic generation of border and inlets/outlets
  • A better graphics behavior (layers and functions to clip the drawings within the box boundaries)
  • Attributes (size, value, whatever you want) that are saved with the patch
  • Dynamic inlets/outlets
  • An easy management of mouse motion and keys
  • Macros to convert from Max to Pd and from Pd to Max

So, here the git of the project :

You can find Mac examples in the Pd Chocolate folder, a small set of externals that is not essential, unlike Pd vanilla, but that can be useful (there’re a vu~ and a nbx~ that don’t have the blink effect of their homologue). You will also find a library, much more substantial with many quite complex GUIs dedicated to ambisonics on the git project HOA where the codes are almost similar to those used in Max:


As you can guess, I would like to get feedbacks and advises.

The things I want to improve are:

  • the automatic creation of the properties window based on the attributes
  • a better captation of mouse events (right click in run mode for example)
  • creation of object in a sort of « canvas » or « window » like popmenu or entry (I want to use the clip functions of tcl/tk)

So, if you want to participate to this project, you are welcome.