[PD] open array window by message

Christof Ressi christof.ressi at gmx.at
Sat Jun 3 23:04:17 CEST 2017


> my proposal would be to include the 'vis' method in canvas_add_for_class. 

and/or add 'click' and 'close' to [array define], just like [text define]

> Gesendet: Samstag, 03. Juni 2017 um 20:49 Uhr
> Von: "Christof Ressi" <christof.ressi at gmx.at>
> An: oliver <oliver at klingt.org>
> Cc: pd-list at mail.iem.at
> Betreff: Re: [PD] open array window by message
>
> Hi, short answer:
> 
> [click 0 0 0 0 0( --> [array define foo] or [;pd-foo click 0 0 0 0 0(. this click method is for canvases and takes 5 arguments. it has nothing to do with the click method for [text]. 'pd-foo' is the name of the canvas where the actual garray 'foo' lives.
> 
> long answer:
> 
> [array define] itself creates a canvas containing a graphical array just like [table] (the garray itself is just another canvas with GOP enabled and a data structure array inside). if you have a table named 'foo', the canvas where the garray lives is called 'pd-foo'. you can open it just like a subpatch and send it all of the canvas messages, like 'vis' etc. 
> unfortunately, this doesn't work for [array define] and this is the reason:
> 
> in the contructor method (array_define_new in x_array.c), Miller bashes the class of the created canvas to 'array_define_class', which means that all incoming messages are routed there and not to the canvas_class. array_define_class automatically routes unknown messages to the garray_class which finally gives you the error message: 'array: no method for ...' (for example, if you optimistically try [vis 1( :-). this effectively means that the canvas has all of its methods removed. but Miller has a function called canvas_add_for_class in g_canvas.c which (re)attaches some indispensible methods - and one of them is 'click'.  
> 
> sending 'click 0 0 0 0 0' for opening the canvas of [array define] is pretty hacky - and naturally you can't use it to close the canvas. 
> 
> my proposal would be to include the 'vis' method in canvas_add_for_class. and as a general basic question: why do we inhibit the user from being able to edit the canvas of [array define] in the first place?
> 
> Christof
> 
> > Gesendet: Samstag, 03. Juni 2017 um 18:34 Uhr
> > Von: oliver <oliver at klingt.org>
> > An: pd-list at mail.iem.at
> > Betreff: [PD] open array window by message
> >
> > hi,
> > 
> > a [text] object can be opened with the message "click"
> > 
> > what about the [array] object ?
> > 
> > 
> > when i send it a "click", the PD window says "Bad arguments for message 
> > 'click' to object 'array define'". i also tried "click 1" or "click 
> > open" to no avail.
> > 
> > but the message itself seems to be valid, isn't it ?
> > what arguments would it need to show the array window ?
> > 
> > 
> > best
> > 
> > oliver
> > 
> > -- 
> > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
> > /////////////// http://pendler.klingt.org //////////////
> > \\\\\\\\\\\\\\\ http://oliver.klingt.org  \\\\\\\\\\\\\\
> > ////////////////////////////////////////////////////////
> > 
> > _______________________________________________
> > Pd-list at lists.iem.at mailing list
> > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> > 
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> 



More information about the Pd-list mailing list