show/hide named object


    Feb 01 2006 | 12:27 pm
    This seems so simple, but my simple brain doesn't want to grasp how to deal w/ maxobj properties. I just want to show or hide specific objects using javascript. I would have expected to do something like this.patcher.objectname.hidden = 1 but that is too obvious, and wants to invoke a method, of course.
    So how would I do this incredibly basic thing?
    thanks,
    Peter.

    • Feb 01 2006 | 4:08 pm
      JavascriptinMax.pdf p. 28. The hidden propert of a max object.
      wes
    • Feb 01 2006 | 4:38 pm
      i was there...
      and my mail should have stated i also tried
      this.patcher.objectname.hidden = 1
      and that "objectname" is of course the "scripting name". and variations on that. I'm totally lame w/ javascript. I've managed to get some things done with it, quite happily, but i don't use it enough for a "second nature."
      so basically, i don't quite get it....
      p.
    • Feb 01 2006 | 4:59 pm
      You have to do somthing like
      myMaxObj = myPatcher.getnamed(objectName); myMaxObj.hidden = 1;
      It's a property of a JS maxobject. You can't reference it through that crazy struct notation you posted.
      wes
    • Feb 01 2006 | 5:10 pm
      > You have to do somthing like > > myMaxObj = myPatcher.getnamed(objectName); > myMaxObj.hidden = 1; > > It's a property of a JS maxobject. You can't reference it through > that crazy struct notation you posted.
      thanks for clearing that up. I told you I don't know what I'm doing!!
      p.
    • Feb 09 2006 | 6:05 pm
      and the resulting successful js and its associated helpfile
      -------BEGIN JS----------
      /* show and hide controls for input options takes a message "show ob n h" where ob is the "base" name of a group of objects, named ob[1], ob[2], and so on ( if you copy/paste a named object in Max, it results in names with the [n] appendage) n is the number of objects in the group h is the show/hide integer, where hide=1, show = 0.
      by peter nyboer, with the help of the ever-knowledgeable Wes
      */
      //variables
      var sinecontrols = 4; var altname = "sine";
      function show(ob,n,h) {
      for (i=1;i altname = ob+"["+i+"]"; intelement = this.patcher.getnamed(altname); intelement.hidden = h; }
      }
      ---------------END JS----------------------
      ---------------BEGIN HELPFILE--------------
      ---------------END HELPFILE--------------
    • Jan 04 2013 | 1:53 pm
      to me this made a little bit more sense:
      :)
      not sure if the .js posts - if not:
      inlets = 1; outlets = 0;
      var box = [8]; var paramName = "paramName";
      function bang() {
      for(var i = 0; i
      paramName = String("paramName" + i);
      box[i] = this.patcher.newdefault(50*i,100, "number", "@varname", paramName, "@fontsize", 10, "@minimum", 0, "@maximum", 127, "@patching_rect",50*i,100,35, 30);
      } }
      function shit(h) { var named = "shit";
      for(i = 0; i
      named = String("paramName" + i);
      visible = this.patcher.getnamed(named);
      visible.hidden = h;
      } }