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@gmx.at An: oliver oliver@klingt.org Cc: pd-list@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@klingt.org An: pd-list@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@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list