On Mon, 26 Jun 2006, IOhannes m zmoelnig wrote:
#X obj 100 100 inlet; #G tooltip reset the game
what i'll implement tonight is most likely:
#X obj 100 100 inlet; #V name reset_the_game;
then suppose one wants [inlet] to look red at once:
#X obj 100 100 inlet; #V color red;
the combination of both will look like:
#X obj 100 100 inlet; #V name reset_the_game , color red;
because , is the A_COMMA as found in messageboxes; so "name" and "color" are selectors in #V. This will also be loadable as:
#X obj 100 100 inlet; #V name reset_the_game; #V color red;
but pd won't remember the difference so will save using only the first form.
Also note that "color" is reserved for the color of the objectbox while "icolor" (or any other name that you suggest) will be used for the color of the inlet itself.
At runtime, for each t_gobj *x, those values will be held in g_adix->g_adix->visual, which is of type t_hash *.
Note that t_hash is not thread-safe, because i'm lazy.
Semicolon still ends each line, because absence thereof still signifies continuation of the same line, because it's really not worth it to introducing parsing rules specific to #V (or to your #G).
any pd interpreter could just omit lines starting with "#G", and still the functionality of the patch would be untouched.
That's also one of my goals.
an interpreter could also choose to ignore certain tags in the #G lines (e.g. no fanzy color support).
The problem is that Miller's Pd will ignore #V upon load, so saving back will remove #V information from the file.
#G (like "Gui") is attached to the preceding "#X" line. i would prefer "#P" (Properties), but this is already taken
The problem with "Properties" is that everyone else's "Properties" are already stored in the #X line. To complicate matters, many object classes (IEMGUI and anything that was created by copypasting IEMGUI files) have visual (patch-only) properties stored in #X. Makes you wonder what the right-click menu should look like when a class has both #X properties and #V properties.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada