Setting attributes using newobject()


    Jun 03 2008 | 6:37 pm
    I'm trying to create a bunch of number boxes with a custom appearance,
    and I cant' quite figure out what I'm missing here. All the values
    prior to my setting the bordercolor attribute work fine (postion, nin
    & max values, etc.) but none of the appearance-related attributes
    change. Am I doing something completely boneheaded, or are appearance
    attributes handled differently?
    M
    this.patcher.message("script", "newobject", "flonum",
    "@varname", i + "_volbox",
    "@patching_rect", 280, 400, 130, 20,
    "@maximum", 0.0,
    "@minimum" , -90.,
    "@bordercolor" , 0.0, 0.0, 0.0, 0.0,
    "@textcolor" , 0.031373, 0.160784, 0.466667, 1.0 ,
    "@fontface", 1,
    "@triangle" , 0,
    "@fontsize" , 12.0,
    "@bgcolor" , 0.94902, 0.94902, 0.94902, 0.509804 ,
    );

    • Jun 03 2008 | 9:36 pm
      On 3 juin 08, at 20:37, mattyo wrote:
      > I'm trying to create a bunch of number boxes with a custom
      > appearance, and I cant' quite figure out what I'm missing here. All
      > the values prior to my setting the bordercolor attribute work fine
      > (postion, nin & max values, etc.) but none of the appearance-related
      > attributes change. Am I doing something completely boneheaded, or
      > are appearance attributes handled differently?
      >
      > M
      >
      >
      > this.patcher.message("script", "newobject", "flonum",
      > "@varname", i + "_volbox",
      > "@patching_rect", 280, 400, 130, 20,
      > "@maximum", 0.0,
      > "@minimum" , -90.,
      > "@bordercolor" , 0.0, 0.0, 0.0, 0.0,
      > "@textcolor" , 0.031373, 0.160784, 0.466667, 1.0 ,
      > "@fontface", 1,
      > "@triangle" , 0,
      > "@fontsize" , 12.0,
      > "@bgcolor" , 0.94902, 0.94902, 0.94902, 0.509804 ,
      > );
      This is working fine here (after removing the extra coma at the end).
      blue text flonum, without triangle, and almost half transparent white
      background as expected.
      ej
    • Jun 03 2008 | 9:47 pm
      I think I had accidentally put the js out of the searchpath, and it
      was not recompiling properly -- it all seems fine now.
      But while I'm on the topic, let me ask this: I'm trying to create a
      bunch of messageboxes with a different index in each, so that they
      would appear as [set 0 $1] [set 1 $1] etc, using an incrementing index
      in the js to get the changing value. However, you can't format that
      using the @text attribute, as the middle value is a variable, and
      @text "set", v, "$1"
      or any of several variants doesn't work. I've run around it by
      creating the object first with the @text attribute set to "set" &
      then doing this:
      var mess = this.patcher.getnamed( v + "_index");
      mess.message("append", v);
      mess.message("append", "$1");
      but I feel it lacks style. is there a better way?
      Thanks,
      M
      On Jun 3, 2008, at 17:36, Emmanuel Jourdan wrote:
      > On 3 juin 08, at 20:37, mattyo wrote:
      >
      >> I'm trying to create a bunch of number boxes with a custom
      >> appearance, and I cant' quite figure out what I'm missing here.
      >> All the values prior to my setting the bordercolor attribute work
      >> fine (postion, nin & max values, etc.) but none of the appearance-
      >> related attributes change. Am I doing something completely
      >> boneheaded, or are appearance attributes handled differently?
      >>
      >> M
      >>
      >>
      >> this.patcher.message("script", "newobject", "flonum",
      >> "@varname", i + "_volbox",
      >> "@patching_rect", 280, 400, 130, 20,
      >> "@maximum", 0.0,
      >> "@minimum" , -90.,
      >> "@bordercolor" , 0.0, 0.0, 0.0, 0.0,
      >> "@textcolor" , 0.031373, 0.160784, 0.466667, 1.0 ,
      >> "@fontface", 1,
      >> "@triangle" , 0,
      >> "@fontsize" , 12.0,
      >> "@bgcolor" , 0.94902, 0.94902, 0.94902, 0.509804 ,
      >> );
      >
      > This is working fine here (after removing the extra coma at the
      > end). blue text flonum, without triangle, and almost half
      > transparent white background as expected.
      >
      > ej
      >
      >
    • Jun 03 2008 | 9:57 pm
      On 3 juin 08, at 23:47, mattyo wrote:
      > I think I had accidentally put the js out of the searchpath, and it
      > was not recompiling properly -- it all seems fine now.
      >
      > But while I'm on the topic, let me ask this: I'm trying to create a
      > bunch of messageboxes with a different index in each, so that they
      > would appear as [set 0 $1] [set 1 $1] etc, using an incrementing
      > index in the js to get the changing value. However, you can't
      > format that using the @text attribute, as the middle value is a
      > variable, and
      >
      > @text "set", v, "$1"
      Did you try ... "@text", "set " + v + " $1"?
      ej
    • Jun 04 2008 | 1:49 pm
      >>
      >>
      >
      > Did you try ... "@text", "set " + v + " $1"?
      Yes, I got message boxes containing only the symbol "set"
    • Jun 04 2008 | 2:02 pm
      I stand corrected -- don't make assumptions about yesterday's code pre-
      coffee....
      I was using commas instead of pluses, which was not happening, but
      this works perfectly. Thanks very much.
      M
      On Jun 4, 2008, at 9:49, mattyo wrote:
      >
      >>>
      >>>
      >>
      >> Did you try ... "@text", "set " + v + " $1"?
      >
      >
      > Yes, I got message boxes containing only the symbol "set"
    • Jun 04 2008 | 2:06 pm
      On 4 juin 08, at 15:49, mattyo wrote:
      > Yes, I got message boxes containing only the symbol "set"
      This works for me:
      var i = 12;
      this.patcher.message("script", "newobject", "message",
      "@patching_rect", 10, 10, 130, 20,
      "@presentation", 1,
      "@text", "set " + i + " $1"
      );
      Best,
      ej
    • Jun 04 2008 | 2:09 pm
      On 4 juin 08, at 16:02, mattyo wrote:
      > I was using commas instead of pluses, which was not happening, but
      > this works perfectly. Thanks very much.
      Right, you need the plus to use the string concatenation mechanism of
      JavaScript, and pass only one string as argument for the "@text"
      attribute. I'm glad it works.
      There's a few examples like that in the "Re-purposing Plug-ins in Max
      5" tutorial on the website.
      ej