Hi Alexandre,

> I wonder if a thing like libpd could work as turning a vanilla patch into a
compiled object to be used inside pd... that'd be something like gen~ in
> max/msp. 

Can you be more specific ? For the moment, I think it would be equivalent to use an abstraction or the object [pd~] (libpd loads dynamically a patch so I guess that the execution of the patch cannot be optimized and except if the patch has been be somehow included inside the binary, you'll have to share the patch with the object). For me, the main advantage of gen~ is that it generates code that can be used inside an application but libpd already offers this feature. So what would be the advantage? 

> A - being able to retrieve control data from [inlet~]

I did it in the Cicm Wrapper but it was pretty tricky. If you use the object [hoa.process~], you can send messages via a signal inlet for example. I'm not very proud of this because I had to hack a bit the inlet class. Now, I don't know if I must remove this feature or keep it... Perhaps somebody could tell/remind us if there is a reason why signal inlets can't receive messages.

B - being able to know if a signal is connected to [inlet~]

I also did it in the Cicm Wrapper, perhaps this feature could be included in the "m_pd.h" interface because for the moment you need to include "g_canvas.h" and "m_imp.h". Anyway, if you want a simple code that shows how to do it, I have an example in my dummy library. 

Cheers