Claude Heiland-Allen wrote:
Yes, a simple one: there is a function typedef (for the loader hook functionality) and a function to add a hook to the list. I forget the exact names, they're in m_pd.h if you have a new enough Pd.
You mean this? (From your Lua external.)
/* defined in pd/src/s_loader.c but not in any header file... */ typedef int (*loader_t)(t_canvas *, char *); void sys_register_loader(loader_t loader);
This looks like it may be useful for Pd/Q, too. I guess I'll have to dive into the sources to see how it works, or is it documented somewhere?
In my experience trying to use Haskell in Pd didn't work so well, partly because it was compiled. Lua, being interpreted, worked much better.
Yeah, the nice thing about interpreted languages is that they allow you to change the code on the fly which is great for live coding. Pd/Q does that, too. It's still work in progress, but all the basic functionality for processing Pd messages is already there and seems to work quite well. (In fact you could see it in action in Julius' Faust guitar demo at LAC08, where it did all the table-driven MIDI-to-Faust controller mapping behind the scenes.)
Thanks, Albert