controlling color kinetics spotlights on network
hi maxlist,
i was wondering if anyone has recently had success in controlling color kinetics LED spotlights using the network protocol?
this thread looked promising:
https://cycling74.com/forums/color-kinetics-network-control
but i'm a java/mxj novice and didn't get any immediate results from aka.datagram (aside from a few crashes). does anyone have a working patch they'd be willing to share?
thanks!
jesse
i've no experience with the color kinetics, but here is a simple java class demonstrating how to send raw bytes from max using the udp protocol.
http://www.esbasel.ch/Downloads/UdpSend+RecvRaw.zip
you can use the UdpSendRaw class directly in max to send a list of integer values which represent raw byte values (0 - 255) to a specified address, or you might want to use the code as a starting point for your own experiments (sources are included).
apperently you need to send a list of 537 bytes, which might cause some trouble in max4 (256 list length limit), but should be no problem using max5.
aka.datagram should work fine, too. maybe send the patch you are working on.
volker.
success! volker - thanks tons for sending the java example, it worked without any tweaking. using "mxj UdpRecvRaw" i was able to view the messages CK's software was sending. they turned out to be formatted slightly differently than had been suggested in the earlier thread. once i had the correct format it was pretty easy to send the correct messages from Max using "mxj UdpSendRaw" as well as aka.datagram.
below are the two patches if anyone would like to try this themselves. this was done with a PDS 150e interface and a Colorblast 12 fixture.
~~
using mxj UdpSendRaw:
{
"boxes" : [ {
"box" : {
"maxclass" : "comment",
"text" : "tested on a PDS 150e interface and Colorblast 12 fixture",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 15.0, 144.77417, 245.0, 34.0 ],
"id" : "obj-45",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial Italic",
"presentation_rect" : [ 47.0, 204.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "figured out in 2010 by a collection of people using some collective knowledge.",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 15.0, 114.774185, 245.0, 34.0 ],
"id" : "obj-44",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial",
"presentation_rect" : [ 48.0, 172.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "COLOR KINETICS NETWORK CONTROLLER",
"linecount" : 3,
"fontsize" : 26.403702,
"patching_rect" : [ 15.0, 15.0, 278.0, 98.0 ],
"id" : "obj-43",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial Bold",
"presentation_rect" : [ 43.0, 91.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "IP of the CK interface",
"fontsize" : 12.0,
"patching_rect" : [ 105.0, 375.0, 124.0, 20.0 ],
"id" : "obj-42",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial",
"presentation_rect" : [ 157.0, 386.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "actual outgoing bytes",
"fontsize" : 12.0,
"patching_rect" : [ 195.0, 540.0, 124.0, 20.0 ],
"id" : "obj-41",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial",
"presentation_rect" : [ 759.0, 458.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "make the right amount of 0's and pack them into a message to be joined with your header and RGB value",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 420.0, 300.0, 337.0, 34.0 ],
"id" : "obj-40",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial",
"presentation_rect" : [ 387.0, 319.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "how many 0's need to be tacked on the end of this message to make it 533 bytes total?",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 420.0, 210.0, 347.0, 34.0 ],
"id" : "obj-39",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial",
"presentation_rect" : [ 383.0, 219.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "header for outgoing message",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 675.0, 120.0, 150.0, 34.0 ],
"id" : "obj-38",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial",
"presentation_rect" : [ 647.0, 134.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "RGB value (0 - 255) for first fixture",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 600.0, 30.0, 150.0, 34.0 ],
"id" : "obj-37",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "loadbang",
"fontsize" : 12.0,
"patching_rect" : [ 15.0, 315.0, 60.0, 20.0 ],
"id" : "obj-35",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "message",
"text" : "$1 $2 $3",
"fontsize" : 12.0,
"patching_rect" : [ 330.0, 90.0, 57.0, 18.0 ],
"id" : "obj-34",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial",
"presentation_rect" : [ 609.0, 93.0, 0.0, 0.0 ]
}
}
, {
"box" : {
"maxclass" : "swatch",
"patching_rect" : [ 330.0, 15.0, 258.0, 65.0 ],
"compatibility" : 1,
"id" : "obj-27",
"numinlets" : 3,
"numoutlets" : 2,
"outlettype" : [ "", "float" ]
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "prepend 4 1 220 74 1 0 1 1 0 0 0 0 0 0 0 0 255 255 255 255 0",
"fontsize" : 12.0,
"patching_rect" : [ 330.0, 120.0, 338.0, 20.0 ],
"id" : "obj-15",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "message",
"text" : "host 10.0.0.24",
"fontsize" : 11.619446,
"patching_rect" : [ 15.0, 375.0, 84.0, 18.0 ],
"id" : "obj-1",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "mxj UdpSendRaw 6038",
"fontsize" : 13.745002,
"patching_rect" : [ 15.0, 450.0, 155.0, 22.0 ],
"id" : "obj-23",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "message",
"text" : "4 1 220 74 1 0 1 1 0 0 0 0 0 0 0 0 255 255 255 255 0 211 254 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
"linecount" : 10,
"fontsize" : 8.708448,
"patching_rect" : [ 330.0, 450.0, 434.0, 105.0 ],
"id" : "obj-8",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "zl 1000 join",
"fontsize" : 12.0,
"patching_rect" : [ 330.0, 405.0, 80.0, 20.0 ],
"id" : "obj-30",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "t i i",
"fontsize" : 12.0,
"patching_rect" : [ 360.0, 240.0, 33.5, 20.0 ],
"id" : "obj-29",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "int", "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "zl 1000 group",
"fontsize" : 12.0,
"patching_rect" : [ 345.0, 360.0, 83.0, 20.0 ],
"id" : "obj-28",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "t l b l",
"fontsize" : 12.0,
"patching_rect" : [ 330.0, 150.0, 49.0, 20.0 ],
"id" : "obj-16",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "bang", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "t 0",
"fontsize" : 12.0,
"patching_rect" : [ 345.0, 330.0, 24.0, 20.0 ],
"id" : "obj-13",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "uzi 2",
"fontsize" : 12.0,
"patching_rect" : [ 345.0, 300.0, 49.0, 20.0 ],
"id" : "obj-12",
"numinlets" : 2,
"numoutlets" : 3,
"outlettype" : [ "bang", "bang", "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "!- 533",
"fontsize" : 12.0,
"patching_rect" : [ 360.0, 210.0, 41.0, 20.0 ],
"id" : "obj-11",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "zl len",
"fontsize" : 12.0,
"patching_rect" : [ 360.0, 180.0, 39.0, 20.0 ],
"id" : "obj-3",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"fontname" : "Arial"
}
}
],
"lines" : [ {
"patchline" : {
"source" : [ "obj-27", 0 ],
"destination" : [ "obj-34", 0 ],
"hidden" : 0,
"midpoints" : [ 339.5, 78.0, 339.5, 78.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-35", 0 ],
"destination" : [ "obj-1", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-34", 0 ],
"destination" : [ "obj-15", 0 ],
"hidden" : 0,
"midpoints" : [ 339.5, 112.0, 339.5, 112.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-15", 0 ],
"destination" : [ "obj-16", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-12", 0 ],
"destination" : [ "obj-13", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-13", 0 ],
"destination" : [ "obj-28", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-11", 0 ],
"destination" : [ "obj-29", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-3", 0 ],
"destination" : [ "obj-11", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-1", 0 ],
"destination" : [ "obj-23", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-30", 0 ],
"destination" : [ "obj-23", 0 ],
"hidden" : 0,
"midpoints" : [ 339.5, 434.0, 24.5, 434.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-16", 1 ],
"destination" : [ "obj-12", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-30", 0 ],
"destination" : [ "obj-8", 1 ],
"hidden" : 0,
"midpoints" : [ 339.5, 434.0, 754.5, 434.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-16", 0 ],
"destination" : [ "obj-30", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-16", 2 ],
"destination" : [ "obj-3", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-28", 0 ],
"destination" : [ "obj-30", 1 ],
"hidden" : 0,
"midpoints" : [ 354.5, 392.0, 400.5, 392.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-29", 0 ],
"destination" : [ "obj-12", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-29", 1 ],
"destination" : [ "obj-28", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
]
}
~~
using aka.datagram:
{
"boxes" : [ {
"box" : {
"maxclass" : "newobj",
"text" : "t b l",
"fontsize" : 13.745002,
"patching_rect" : [ 60.0, 465.0, 33.0, 22.0 ],
"id" : "obj-14",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "bang", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "message",
"text" : "length 533",
"fontsize" : 12.0,
"patching_rect" : [ 30.0, 375.0, 67.0, 18.0 ],
"id" : "obj-5",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "udpsend 10.0.0.24 6038",
"fontsize" : 12.0,
"patching_rect" : [ 30.0, 555.0, 140.0, 20.0 ],
"id" : "obj-2",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "tested on a PDS 150e interface and Colorblast 12 fixture",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 30.0, 159.77417, 245.0, 34.0 ],
"id" : "obj-45",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial Italic"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "figured out in 2010 by a collection of people using some collective knowledge.",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 30.0, 129.774185, 245.0, 34.0 ],
"id" : "obj-44",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "COLOR KINETICS NETWORK CONTROLLER",
"linecount" : 3,
"fontsize" : 26.403702,
"patching_rect" : [ 30.0, 30.0, 278.0, 98.0 ],
"id" : "obj-43",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial Bold"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "IP of the CK interface",
"fontsize" : 12.0,
"patching_rect" : [ 120.0, 390.0, 124.0, 20.0 ],
"id" : "obj-42",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "actual outgoing bytes",
"fontsize" : 12.0,
"patching_rect" : [ 210.0, 555.0, 124.0, 20.0 ],
"id" : "obj-41",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "make the right amount of 0's and pack them into a message to be joined with your header and RGB value",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 435.0, 315.0, 337.0, 34.0 ],
"id" : "obj-40",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "how many 0's need to be tacked on the end of this message to make it 533 bytes total?",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 435.0, 225.0, 347.0, 34.0 ],
"id" : "obj-39",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "header for outgoing message",
"linecount" : 3,
"fontsize" : 12.0,
"patching_rect" : [ 690.0, 135.0, 103.0, 48.0 ],
"id" : "obj-38",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "comment",
"text" : "RGB value (0 - 255) for first fixture",
"linecount" : 2,
"fontsize" : 12.0,
"patching_rect" : [ 615.0, 45.0, 156.0, 34.0 ],
"id" : "obj-37",
"numinlets" : 1,
"numoutlets" : 0,
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "loadbang",
"fontsize" : 12.0,
"patching_rect" : [ 30.0, 330.0, 60.0, 20.0 ],
"id" : "obj-35",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "bang" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "message",
"text" : "$1 $2 $3",
"fontsize" : 12.0,
"patching_rect" : [ 345.0, 105.0, 57.0, 18.0 ],
"id" : "obj-34",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "swatch",
"patching_rect" : [ 345.0, 30.0, 258.0, 65.0 ],
"compatibility" : 1,
"id" : "obj-27",
"numinlets" : 3,
"numoutlets" : 2,
"outlettype" : [ "", "float" ]
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "prepend 4 1 220 74 1 0 1 1 0 0 0 0 0 0 0 0 255 255 255 255 0",
"fontsize" : 12.0,
"patching_rect" : [ 345.0, 135.0, 338.0, 20.0 ],
"id" : "obj-15",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "aka.datagram",
"fontsize" : 13.745002,
"patching_rect" : [ 30.0, 510.0, 95.0, 22.0 ],
"id" : "obj-23",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "message",
"text" : "4 1 220 74 1 0 1 1 0 0 0 0 0 0 0 0 255 255 255 255 0 0 164 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
"linecount" : 10,
"fontsize" : 8.708448,
"patching_rect" : [ 345.0, 465.0, 434.0, 105.0 ],
"id" : "obj-8",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "zl 1000 join",
"fontsize" : 12.0,
"patching_rect" : [ 345.0, 420.0, 80.0, 20.0 ],
"id" : "obj-30",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "t i i",
"fontsize" : 12.0,
"patching_rect" : [ 375.0, 255.0, 33.5, 20.0 ],
"id" : "obj-29",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "int", "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "zl 1000 group",
"fontsize" : 12.0,
"patching_rect" : [ 360.0, 375.0, 83.0, 20.0 ],
"id" : "obj-28",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "t l b l",
"fontsize" : 12.0,
"patching_rect" : [ 345.0, 165.0, 49.0, 20.0 ],
"id" : "obj-16",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "", "bang", "" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "t 0",
"fontsize" : 12.0,
"patching_rect" : [ 360.0, 345.0, 24.0, 20.0 ],
"id" : "obj-13",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "uzi 2",
"fontsize" : 12.0,
"patching_rect" : [ 360.0, 315.0, 49.0, 20.0 ],
"id" : "obj-12",
"numinlets" : 2,
"numoutlets" : 3,
"outlettype" : [ "bang", "bang", "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "!- 533",
"fontsize" : 12.0,
"patching_rect" : [ 375.0, 225.0, 41.0, 20.0 ],
"id" : "obj-11",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"fontname" : "Arial"
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "zl len",
"fontsize" : 12.0,
"patching_rect" : [ 375.0, 195.0, 39.0, 20.0 ],
"id" : "obj-3",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "", "" ],
"fontname" : "Arial"
}
}
],
"lines" : [ {
"patchline" : {
"source" : [ "obj-30", 0 ],
"destination" : [ "obj-14", 0 ],
"hidden" : 0,
"midpoints" : [ 354.5, 449.0, 69.5, 449.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-14", 1 ],
"destination" : [ "obj-23", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-14", 0 ],
"destination" : [ "obj-23", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-35", 0 ],
"destination" : [ "obj-5", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-5", 0 ],
"destination" : [ "obj-23", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-23", 0 ],
"destination" : [ "obj-2", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-29", 1 ],
"destination" : [ "obj-28", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-29", 0 ],
"destination" : [ "obj-12", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-28", 0 ],
"destination" : [ "obj-30", 1 ],
"hidden" : 0,
"midpoints" : [ 369.5, 407.0, 415.5, 407.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-16", 2 ],
"destination" : [ "obj-3", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-16", 0 ],
"destination" : [ "obj-30", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-30", 0 ],
"destination" : [ "obj-8", 1 ],
"hidden" : 0,
"midpoints" : [ 354.5, 449.0, 769.5, 449.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-16", 1 ],
"destination" : [ "obj-12", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-3", 0 ],
"destination" : [ "obj-11", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-11", 0 ],
"destination" : [ "obj-29", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-13", 0 ],
"destination" : [ "obj-28", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-12", 0 ],
"destination" : [ "obj-13", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-15", 0 ],
"destination" : [ "obj-16", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}
}
, {
"patchline" : {
"source" : [ "obj-34", 0 ],
"destination" : [ "obj-15", 0 ],
"hidden" : 0,
"midpoints" : [ 354.5, 127.0, 354.5, 127.0 ]
}
}
, {
"patchline" : {
"source" : [ "obj-27", 0 ],
"destination" : [ "obj-34", 0 ],
"hidden" : 0,
"midpoints" : [ 354.5, 93.0, 354.5, 93.0 ]
}
}
]
}
good to hear, that it works!
maybe try considering to use 'copy compressed' from the edit menu next time you post a patch.
v