Keeping a message intact going through cycle?


    Apr 11 2013 | 2:12 pm
    Hey everyone,
    I've run into an issue with the cycle object (not cycle~). I want to send a "bgcolor x x x x" message through it to color certain parts of my gui but the cycle object cuts the message and sends "bgcolor" and then each of the numbers out seperately. If I add quotations then it'll keep the whole thing together but the objects receiving the object can't parse it. Am I just going to have to suck it up and use stacks and stacks of separate message boxes? Cycle seems like it would have been such a nice, clean solution :/

    • Apr 11 2013 | 2:23 pm
      Have a look at [tosymbol] and [fromsymbol] which will combine messages into a single string and then split them out again.
    • Apr 12 2013 | 12:49 am
      or build your own cycle patch using [counter] and [gate]
    • Apr 12 2013 | 7:23 am
      My "rotator" external allows you to enable/disable list separation. FAT OSX .mxo attached until I've had time to update my tools page.
      Best, Jeremy
    • Apr 12 2013 | 7:25 am
      Also the jit.cycle object leaves lists intact. If I recall, it's basically the same code as rotator.
      Best, Jeremy
    • Apr 12 2013 | 7:53 am
      Here's a javascript that will (hopefully) do what you want:
      // lh.cycle.js
      outlets = jsarguments[1];
      var mode = (jsarguments[2]>0); var t = new Task(timer); var i = 0;
      function anything() { if (mode) { if (t.running) { t.cancel(); } t.schedule(100); } outlet(i++ % jsarguments[1],arrayfromargs(messagename,arguments)); }
      function timer() { i = 0; }
      function set(x) { i = Math.min(Math.max(x,0),jsarguments[1] - 1); }
      function thresh(x) { mode = x; }
      autowatch = 1;
      //EOF
    • Apr 15 2013 | 2:38 am
      Thank you everyone! All of your responces were really helpful. I ended up going with a [route] based solution in the end, but I learnt a lot from your responces!