Hi,
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 (like Max)
- A better graphics behavior (layers and functions to clip the drawings within the box boundaries) (like Max)
- Attributes (size, value, whatever you want) that are saved with the patch (like Max)
- Dynamic inlets/outlets (like Max…)
- 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 :
https://github.com/pierreguillot/PdEnhanced.git
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:
http://www.mshparisnord.fr/hoalibrary/
https://github.com/CICM/HoaLibrary.git
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 and if you have externals that you want to convert from Max to Pd or from Pd to Max, i can help you.
Sorry if you have already seen this topic on one of the puredata forum but I don't want to miss a potential helper.
Best,
Pierre