[PD-dev] adding an "Open" method to pdlua and tclpd
Hans-Christoph Steiner
hans at at.or.at
Fri Oct 28 01:07:12 CEST 2011
On Thursday, October 27, 2011 4:43 PM, "Martin Peach"
<martin.peach at sympatico.ca> wrote:
> On 2011-10-12 12:43, Hans-Christoph Steiner wrote:
> >
> > Now that pdlua and tclpd are officially part of Pd-extended, I just had
> > a little thought/feature request to make working with those objects
> > easier. It would be very nice if you could right-click on the object,
> > and click "Open" and have Pd open the script file in the associated
> > editor. You can do this on all platforms using:
> >
> > ::pd_menucommands::menu_openfile {filename}
> >
> > Or at least use that as example code for how to do it.
> >
>
> I have just got that working for pdlua in svn. Some notes:
>
> A class must have a menu-open method before the Open item will be
> highlighted:
>
> class_addmethod(our_class, (t_method)our_menu_open, gensym("menu-open"),
> A_NULL);
>
> and the method itself:
>
> static void our_menu_open(t_our_class *x)
>
> calls sys_vgui("::pd_menucommands::menu_openfile {%s}\n", filename);
>
> So the object needs to know the name of its script. For pdlua I added a
> field "_scriptname" in the lua side with an accessor "_whoami".
>
> Martin
Ah, that's cool! That's cleaner than I thought it'd be, I thought it'd
be some kind of ugly hack.
It would be really awesome if you could edit the file and have the
object automatically updated. That would be a lot harder. I suppose
using the file alteration monitor stuff in GNU/Linux and Mac OS X, you
could efficiently get notification whether the file changed, but polling
might not be so bad. I guess the hard part would be re-registering the
object with Pd.
.hc
More information about the Pd-dev
mailing list