Combining pattrstorage and pp/plugconfig


    Mar 20 2006 | 3:43 am
    Hi, I have started to fool around with a way to auto-configure pp and plugconfig to share data from an existing pattrstorage. For example, any parameter that is stored in pattrstorage will automatically script the creation of a pp object with the same name, thus saving the hassle of having to re-design the patch to have it function as a plug-in. I was wondering if anyone else has succeeded in doing something like this already, I didn't see much on the forum about it.
    I have made a jit.cellblock that displays and edits pattrstorage objects and data in a spreadsheet view, but I would like to be able to change the pp# of any object from the same place. Another thing would be the ability to rename objects and set their min and max values through this spreadsheet (allowing the pp to scale everything properly), but I have run into a bit of a wall in implementing this. Is there an easy way to accomplish any of this (I have a feeling it might be through thisobject)? Any thoughts on the validity/futility of this endeavor or tips for completing it would be greatly appreicated! Thanks...Joe

    • Mar 20 2006 | 10:33 am
      Joe Branciforte wrote:
      > Hi, I have started to fool around with a way to auto-configure pp and
      > plugconfig to share data from an existing pattrstorage. For example,
      > any parameter that is stored in pattrstorage will automatically
      > script the creation of a pp object with the same name.
      This sounds like a very valuable project.
      > I also would like the ability to edit pattrstorgae data in a
      > spreadsheet view, using a jit.cellblock, so that you can easily edit
      > data in pattrstorage and change the pp# of any object in the patch
      > remotely. Another thing would be the ability to rename objects and
      > set their min and max values through this spreadsheet
      this also would be very convenient...
      > but I have run into a bit of a wall in implementing this. Is there an
      > easy way to accomplish any of this (I have a feeling it might be
      > through thisobject)? Any thoughts on the validity/futility of this
      > endeavor or tips for completing it would be greatly appreicated!
      > Thanks...Joe
      How far did you get? Where did you run into the wall?
      You could send me your patches (off line if you want,) and I will have a
      look at it.
      Stefan
      --
      [][] [][][] [][] [][][]
      [][][][][][][][][][][][][][][]
      Stefan Tiedje
      Klanggestalter
      Electronic Composition
      &
      Improvisation
      /~~~~~
      \ /|() ()|
      ))))) )| | |( \
      /// _/)/ )))))
      ___/ ///
      -------------------------x----
      --_____-----------|-----------
      --(_|_ ----|-----|-----()----
      -- _|_)----|-----()-----------
      ----------()------------x-----
      14, Av. Pr. Franklin Roosevelt,
      94320 Thiais, France
      Phone at CCMIX +33-1-57 42 91 09
    • Mar 20 2006 | 2:33 pm
      To do these things, it seems like you need to access all of the raw
      preset data in pattrstorage. As far as I know, there is now way to do
      this using thispatcher or any other scripting solution - you can only do
      it by clumsily querying all the data in the pattrstorage, or by reading
      its xml file directly (though that might not contain the latest info).
      When writing my "colorblobs" abstraction which does 2d interpolations on
      pattrstorage data, I wrote a java class to do just that - connect it to
      a pattrstorage, and it will grab the values of all the data, by sending
      "getslotlist", "getclientlist", and "getclientvalue" messages. It is a
      bit tuned towards interpolating (it coerces everything to a number), but
      it could be a starting point for accessing the pattrstorage guts. The
      class is called "colorblobs.PattrGrabbr", and is included in the
      colorblobs source:
      Hope this helps,
      Charlie
    • Mar 21 2006 | 1:26 am
      >How far did you get? Where did you run into the wall? You could send me your patches (off line if you want,) >and I will have a look at it.
      I can get the data from pattrstorage into the jit.cellblock and have it dynamically update when client objects are created or removed. I did it by dumping the pattrstorage into a coll which is linked to the jit.cellblock using the refer message. It's pretty clumsy.
      The "wall" is the renaming of objects and seeting the min and max values. The cellblock is set up with 5 columns: objectname, value, min max, and pp number. Each row is a new object. I think of the grid as having a dual function: displaying data and being able to edit it. Presently: the objectname column can display but not edit, the value column can display and edit, the min and max columns can do neither, and the pp # column can display/edit through scripting (it's really the same thing in this case.) How can objects be renamed and how can their min/max values be set/changed? That is the real problem..
      I am actually traveling this week and away from the computer that I did the patch on. I probably shouldn't have started the thread until I got back but I was really curious...I'll post the patch this upcoming weekend when I get back.
      >When writing my "colorblobs" abstraction which does 2d interpolations on pattrstorage data, I wrote a java >class to do just that
      I will be sure to check that out when I get back. I have used your colorblobs in the past so I am somewhat familiar already.
      Thanks for the replies...Joe
    • Mar 21 2006 | 1:50 pm
      I am not sure you can rename objects, but if you filled a coll in the
      first place, you could use a coll to translate objectname collumn names
      to object names without the need of actually renaming them. min max
      values depend on the object. Numberboxes can be set by scripting. But as
      you script the pp object anyway, they usually take care of the min max
      values (as I recall, if a pp object is connected to anyhting it will
      restrict its behaviour to the range defined with the pp object).
      To change it use the replace scripting command and re-script them with
      different values.
      By the way replacing by first deleting and then recreating an object
      would also be a way to rename it, though this would only work if you
      know about all the connections, because then you need to reconnect as
      well....
      Stefan
      --
      [][] [][][] [][] [][][]
      [][][][][][][][][][][][][][][]
      Stefan Tiedje
      Klanggestalter
      Electronic Composition
      &
      Improvisation
      /~~~~~
      \ /|() ()|
      ))))) )| | |( \
      /// _/)/ )))))
      ___/ ///
      -------------------------x----
      --_____-----------|-----------
      --(_|_ ----|-----|-----()----
      -- _|_)----|-----()-----------
      ----------()------------x-----
      14, Av. Pr. Franklin Roosevelt,
      94320 Thiais, France
      Phone at CCMIX +33-1-57 42 91 09