Keeping MIDI control LEDs up to date

May 14, 2008 at 9:07am

Keeping MIDI control LEDs up to date

I am using a combination of midi controllers to control my drum sequencer patch, which consists of a 32 slider multislider for each drum part.

Because I don’t have 56403860469820 buttons on my midi controller,

I use buttons to switch between parts – eg press pad 1 on my padkontrol, then the 16 buttons on my BCR correspond to the first 16 steps of the bassdrum part (I switch presets on the BCR to go between steps 1-16 or 17-32). Then If i want to sequence the snare, I hit pad 2 on my padkontrol, etc, etc.

Now the problem I have, is the LEDs on the BCR buttons, need to be ‘updated’ when I change which part I’m controlling – otherwise I get confused.

I’ve always struggled with data manipulation, can anyone help me here?

I’m guessing basically what I have to do, is when I select a new part, get the multislider object to output all of its values, figure out what CC each value corresponds to, then use ctlout to send this info to the BCR?

I hope I’ve explained myself clearly enough.

#37764
May 14, 2008 at 11:50am

gavin Peters wrote:
> Now the problem I have, is the LEDs on the BCR buttons, need to be ‘updated’ when I change which part I’m controlling – otherwise I get confused.
>
>
> I’m guessing basically what I have to do, is when I select a new part, get the multislider object to output all of its values, figure out what CC each value corresponds to, then use ctlout to send this info to the BCR?
>

Exactly.
Just don’t forget to avoid loops between [ctlin] and [ctlout] values.
Here is an example that might give you ideas (you will have to change
some stuffs according to your needs)

Ciao

– Pasted Max Patch, click to expand. –
#130645
May 14, 2008 at 1:56pm

Thanks..

Uh… what do I do with that code to turn it into a max patch?

(I’m new to this max thing…)

#130646
May 14, 2008 at 3:02pm

another idea (just made that for my BCR)

johann

gavin Peters schrieb:
> I am using a combination of midi controllers to control my drum sequencer patch, which consists of a 32 slider multislider for each drum part.
>
> Because I don’t have 56403860469820 buttons on my midi controller,
>
> I use buttons to switch between parts – eg press pad 1 on my padkontrol, then the 16 buttons on my BCR correspond to the first 16 steps of the bassdrum part (I switch presets on the BCR to go between steps 1-16 or 17-32). Then If i want to sequence the snare, I hit pad 2 on my padkontrol, etc, etc.
>
> Now the problem I have, is the LEDs on the BCR buttons, need to be ‘updated’ when I change which part I’m controlling – otherwise I get confused.
>
> I’ve always struggled with data manipulation, can anyone help me here?
>
> I’m guessing basically what I have to do, is when I select a new part, get the multislider object to output all of its values, figure out what CC each value corresponds to, then use ctlout to send this info to the BCR?
>
> I hope I’ve explained myself clearly enough.
>
>
>
>

{
“patcher” : {
“fileversion” : 1,
“rect” : [ 474.0, 207.0, 166.0, 159.0 ],
“bglocked” : 0,
“defrect” : [ 474.0, 207.0, 166.0, 159.0 ],
“openrect” : [ 0.0, 0.0, 0.0, 0.0 ],
“openinpresentation” : 1,
“default_fontsize” : 12.0,
“default_fontface” : 0,
“default_fontname” : “Arial”,
“gridonopen” : 0,
“gridsize” : [ 15.0, 15.0 ],
“gridsnaponopen” : 0,
“toolbarvisible” : 1,
“boxanimatetime” : 200,
“imprint” : 0,
“metadata” : [ ],
“boxes” : [ {
"box" : {
"maxclass" : "newobj",
"text" : "delay 20",
"numoutlets" : 1,
"outlettype" : [ "bang" ],
“fontname” : “Arial”,
“id” : “obj-8″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 765.0, 180.0, 56.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “sel 1″,
“numoutlets” : 2,
“outlettype” : [ "bang", "" ],
“fontname” : “Arial”,
“id” : “obj-24″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 765.0, 150.0, 36.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “== 0.”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“fontname” : “Arial”,
“id” : “obj-26″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 765.0, 120.0, 38.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “loadbang”,
“numoutlets” : 1,
“outlettype” : [ "bang" ],
“fontname” : “Arial”,
“id” : “obj-28″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 765.0, 60.0, 60.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “f #3″,
“numoutlets” : 1,
“outlettype” : [ "float" ],
“fontname” : “Arial”,
“id” : “obj-31″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 765.0, 90.0, 32.5, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “message”,
“text” : “1″,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-32″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 765.0, 210.0, 32.5, 18.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “sel 1″,
“numoutlets” : 2,
“outlettype” : [ "bang", "" ],
“fontname” : “Arial”,
“id” : “obj-23″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 690.0, 150.0, 36.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “== 0.”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“fontname” : “Arial”,
“id” : “obj-10″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 690.0, 120.0, 38.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “loadbang”,
“numoutlets” : 1,
“outlettype” : [ "bang" ],
“fontname” : “Arial”,
“id” : “obj-6″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 690.0, 60.0, 60.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “f #2″,
“numoutlets” : 1,
“outlettype” : [ "float" ],
“fontname” : “Arial”,
“id” : “obj-7″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 690.0, 90.0, 32.5, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “outlet”,
“numoutlets” : 0,
“id” : “obj-5″,
“numinlets” : 1,
“patching_rect” : [ 195.0, 555.0, 25.0, 25.0 ],
“comment” : “midi-out [0-127]“
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “loadbang”,
“numoutlets” : 1,
“outlettype” : [ "bang" ],
“fontname” : “Arial”,
“id” : “obj-21″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 45.0, 45.0, 60.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “int #1″,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“fontname” : “Arial”,
“id” : “obj-20″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 45.0, 75.0, 40.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “flonum”,
“numoutlets” : 2,
“numdecimalplaces” : 2,
“bordercolor” : [ 1.0, 1.0, 1.0, 1.0 ],
“outlettype” : [ "float", "bang" ],
“fontname” : “Arial”,
“presentation_rect” : [ 45.886238, 36.350361, 32.0, 15.0 ],
“id” : “obj-51″,
“fontsize” : 7.0,
“numinlets” : 1,
“triscale” : 0.54,
“patching_rect” : [ 420.0, 255.0, 35.0, 15.0 ],
“presentation” : 1
}

}
, {
“box” : {
“maxclass” : “flonum”,
“numoutlets” : 2,
“numdecimalplaces” : 2,
“bordercolor” : [ 1.0, 1.0, 1.0, 1.0 ],
“outlettype” : [ "float", "bang" ],
“fontname” : “Arial”,
“presentation_rect” : [ 45.886242, 47.008259, 32.0, 15.0 ],
“id” : “obj-50″,
“fontsize” : 7.0,
“numinlets” : 1,
“triscale” : 0.54,
“patching_rect” : [ 390.0, 210.0, 35.0, 15.0 ],
“presentation” : 1
}

}
, {
“box” : {
“maxclass” : “flonum”,
“numoutlets” : 2,
“numdecimalplaces” : 4,
“bordercolor” : [ 1.0, 1.0, 1.0, 1.0 ],
“outlettype” : [ "float", "bang" ],
“fontname” : “Arial”,
“presentation_rect” : [ 7.668552, 58.338406, 51.0, 17.0 ],
“id” : “obj-29″,
“fontsize” : 9.0,
“numinlets” : 1,
“triscale” : 0.54,
“patching_rect” : [ 165.0, 240.0, 42.0, 17.0 ],
“presentation” : 1
}

}
, {
“box” : {
“maxclass” : “textbutton”,
“border” : 1,
“rounded” : 0.0,
“numoutlets” : 3,
“bgoveroncolor” : [ 0.941176, 0.003922, 0.003922, 1.0 ],
“text” : “learn”,
“outlettype” : [ "int", "", "int" ],
“fontname” : “Arial”,
“spacing_x” : 0.270001,
“bgoncolor” : [ 0.976471, 0.0, 0.0, 1.0 ],
“texton” : “…”,
“presentation_rect” : [ 11.516631, 8.101565, 28.607677, 10.0 ],
“id” : “obj-25″,
“fontsize” : 9.0,
“numinlets” : 1,
“patching_rect” : [ 15.0, 147.52066, 27.580051, 14.397804 ],
“presentation” : 1,
“mode” : 1
}

}
, {
“box” : {
“maxclass” : “dial”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“presentation_rect” : [ 6.735538, 19.686499, 38.196159, 38.196159 ],
“id” : “obj-4″,
“numinlets” : 1,
“patching_rect” : [ 135.0, 150.0, 60.0, 60.0 ],
“presentation” : 1
}

}
, {
“box” : {
“maxclass” : “umenu”,
“rounded” : 0,
“numoutlets” : 3,
“items” : [ "a", ",", "b", ",", "c", ",", "d", ",", "e", ",", "f", ",", "g", ",", "h", ",", "i", ",", "j", ",", "k", ",", "l", ",", "m", ",", "n", ",", "o", ",", "p", ",", "q", ",", "r", ",", "s", ",", "t", ",", "u", ",", "v", ",", "w", ",", "x", ",", "y", ",", "z" ],
“outlettype” : [ "int", "", "" ],
“fontname” : “Arial”,
“presentation_rect” : [ 54.678112, 20.26425, 16.192104, 15.0 ],
“id” : “obj-15″,
“fontsize” : 7.0,
“framecolor” : [ 1.0, 1.0, 1.0, 1.0 ],
“types” : [ ],
“numinlets” : 1,
“patching_rect” : [ 645.0, 285.0, 13.953937, 15.0 ],
“presentation” : 1
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“id” : “obj-2″,
“numinlets” : 0,
“patching_rect” : [ 135.0, 30.0, 25.0, 25.0 ],
“comment” : “midi-value [0-127]“
}

}
, {
“box” : {
“maxclass” : “number”,
“numoutlets” : 2,
“bordercolor” : [ 1.0, 1.0, 1.0, 1.0 ],
“outlettype” : [ "int", "bang" ],
“fontname” : “Arial”,
“presentation_rect” : [ 44.666161, 7.202044, 30.501518, 18.0 ],
“id” : “obj-58″,
“fontface” : 1,
“fontsize” : 10.0,
“numinlets” : 1,
“triscale” : 0.72,
“patching_rect” : [ 60.0, 150.0, 36.429752, 18.0 ],
“presentation” : 1
}

}
, {
“box” : {
“maxclass” : “panel”,
“border” : 1,
“numoutlets” : 0,
“presentation_rect” : [ 2.716357, 4.546533, 78.871796, 74.539642 ],
“id” : “obj-12″,
“bgcolor” : [ 1.0, 1.0, 1.0, 1.0 ],
“numinlets” : 1,
“patching_rect” : [ 315.0, 450.0, 128.0, 128.0 ],
“presentation” : 1
}

}
, {
“box” : {
“maxclass” : “message”,
“text” : “0″,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-54″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 690.0, 180.0, 32.5, 18.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “pak 0. 0.”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-52″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 390.0, 330.0, 57.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “p learn”,
“numoutlets” : 2,
“outlettype” : [ "", "" ],
“fontname” : “Arial”,
“id” : “obj-38″,
“fontsize” : 9.664843,
“numinlets” : 1,
“patching_rect” : [ 45.0, 120.0, 56.20956, 18.0 ],
“patcher” : {
“fileversion” : 1,
“rect” : [ 454.0, 328.0, 640.0, 480.0 ],
“bglocked” : 0,
“defrect” : [ 454.0, 328.0, 640.0, 480.0 ],
“openrect” : [ 0.0, 0.0, 0.0, 0.0 ],
“openinpresentation” : 0,
“default_fontsize” : 12.0,
“default_fontface” : 0,
“default_fontname” : “Arial”,
“gridonopen” : 0,
“gridsize” : [ 15.0, 15.0 ],
“gridsnaponopen” : 0,
“toolbarvisible” : 1,
“boxanimatetime” : 200,
“imprint” : 0,
“metadata” : [ ],
“boxes” : [ {
"box" : {
"maxclass" : "newobj",
"text" : "delay 50",
"numoutlets" : 1,
"outlettype" : [ "bang" ],
“fontname” : “Arial”,
“id” : “obj-9″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 330.0, 285.0, 56.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “button”,
“numoutlets” : 1,
“outlettype” : [ "bang" ],
“id” : “obj-8″,
“numinlets” : 1,
“patching_rect” : [ 330.0, 255.0, 20.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “message”,
“text” : “0″,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-6″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 330.0, 315.0, 32.5, 18.0 ]
}

}
, {
“box” : {
“maxclass” : “outlet”,
“numoutlets” : 0,
“id” : “obj-10″,
“numinlets” : 1,
“patching_rect” : [ 330.0, 345.0, 25.0, 25.0 ],
“comment” : “to learn-button”
}

}
, {
“box” : {
“maxclass” : “toggle”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“id” : “obj-5″,
“numinlets” : 1,
“patching_rect” : [ 105.0, 270.0, 20.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “gate”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-3″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 105.0, 300.0, 105.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “outlet”,
“numoutlets” : 0,
“id” : “obj-2″,
“numinlets” : 1,
“patching_rect” : [ 105.0, 345.0, 25.0, 25.0 ],
“comment” : “ctl-Nr”
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“id” : “obj-1″,
“numinlets” : 0,
“patching_rect” : [ 105.0, 75.0, 25.0, 25.0 ],
“comment” : “”
}

}
, {
“box” : {
“maxclass” : “number”,
“numoutlets” : 2,
“outlettype” : [ "int", "bang" ],
“fontname” : “Arial”,
“id” : “obj-37″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 195.0, 225.0, 50.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “number”,
“numoutlets” : 2,
“outlettype” : [ "int", "bang" ],
“fontname” : “Arial”,
“id” : “obj-35″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 135.0, 225.0, 50.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “ctlin”,
“numoutlets” : 3,
“outlettype” : [ "int", "int", "int" ],
“fontname” : “Arial”,
“id” : “obj-33″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 135.0, 195.0, 135.0, 20.0 ]
}

}
],
“lines” : [ {
"patchline" : {
"source" : [ "obj-8", 0 ],
“destination” : [ "obj-9", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-9", 0 ],
“destination” : [ "obj-6", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-6", 0 ],
“destination” : [ "obj-10", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-37", 0 ],
“destination” : [ "obj-8", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-33", 1 ],
“destination” : [ "obj-37", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-33", 0 ],
“destination” : [ "obj-35", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-37", 0 ],
“destination” : [ "obj-3", 1 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-3", 0 ],
“destination” : [ "obj-2", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-5", 0 ],
“destination” : [ "obj-3", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-1", 0 ],
“destination” : [ "obj-5", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
]
}
,
“saved_object_attributes” : {
“default_fontname” : “Arial”,
“default_fontsize” : 12.0,
“fontname” : “Arial”,
“fontface” : 0,
“fontsize” : 12.0,
“default_fontface” : 0,
“globalpatchername” : “”
}

}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “unpack 0. 0.”,
“numoutlets” : 2,
“outlettype” : [ "float", "float" ],
“fontname” : “Arial”,
“id” : “obj-17″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 480.0, 90.0, 76.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “outlet”,
“numoutlets” : 0,
“id” : “obj-30″,
“numinlets” : 1,
“patching_rect” : [ 165.0, 555.0, 25.0, 25.0 ],
“comment” : “”
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “p”,
“numoutlets” : 4,
“outlettype” : [ "", "float", "", "int" ],
“fontname” : “Arial”,
“id” : “obj-27″,
“fontsize” : 12.0,
“numinlets” : 5,
“patching_rect” : [ 150.0, 480.0, 66.0, 20.0 ],
“patcher” : {
“fileversion” : 1,
“rect” : [ 202.0, 44.0, 943.0, 666.0 ],
“bglocked” : 0,
“defrect” : [ 202.0, 44.0, 943.0, 666.0 ],
“openrect” : [ 0.0, 0.0, 0.0, 0.0 ],
“openinpresentation” : 0,
“default_fontsize” : 12.0,
“default_fontface” : 0,
“default_fontname” : “Arial”,
“gridonopen” : 0,
“gridsize” : [ 15.0, 15.0 ],
“gridsnaponopen” : 0,
“toolbarvisible” : 1,
“boxanimatetime” : 200,
“imprint” : 0,
“metadata” : [ ],
“boxes” : [ {
"box" : {
"maxclass" : "outlet",
"numoutlets" : 0,
"id" : "obj-1",
"numinlets" : 1,
"patching_rect" : [ 600.0, 600.0, 25.0, 25.0 ],
“comment” : “”
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“id” : “obj-35″,
“numinlets” : 0,
“patching_rect” : [ 750.0, 45.0, 25.0, 25.0 ],
“comment” : “set port”
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“id” : “obj-34″,
“numinlets” : 0,
“patching_rect” : [ 675.0, 45.0, 25.0, 25.0 ],
“comment” : “set ctl-Nr”
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “unpack 1. 1.”,
“numoutlets” : 2,
“outlettype” : [ "float", "float" ],
“fontname” : “Arial”,
“id” : “obj-20″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 600.0, 255.0, 76.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “message”,
“text” : “port $1″,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-12″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 750.0, 90.0, 48.0, 18.0 ]
}

}
, {
“box” : {
“maxclass” : “message”,
“text” : “set $1″,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-11″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 675.0, 90.0, 43.0, 18.0 ]
}

}
, {
“box” : {
“maxclass” : “outlet”,
“numoutlets” : 0,
“id” : “obj-29″,
“numinlets” : 1,
“patching_rect” : [ 195.0, 601.5, 25.0, 25.0 ],
“comment” : “”
}

}
, {
“box” : {
“maxclass” : “message”,
“text” : “$1 $2″,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-28″,
“fontsize” : 12.0,
“numinlets” : 2,
“patching_rect” : [ 480.0, 225.0, 41.0, 18.0 ]
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“id” : “obj-21″,
“numinlets” : 0,
“patching_rect” : [ 480.0, 45.0, 25.0, 25.0 ],
“comment” : “range [min max]“
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “prepend set”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-6″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 375.0, 570.0, 74.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “outlet”,
“numoutlets” : 0,
“id” : “obj-4″,
“numinlets” : 1,
“patching_rect” : [ 375.0, 601.5, 25.0, 25.0 ],
“comment” : “”
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "float" ],
“id” : “obj-3″,
“numinlets” : 0,
“patching_rect” : [ 375.0, 45.0, 25.0, 25.0 ],
“comment” : “”
}

}
, {
“box” : {
“maxclass” : “flonum”,
“numoutlets” : 2,
“outlettype” : [ "float", "bang" ],
“fontname” : “Arial”,
“id” : “obj-19″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 134.5, 370.0, 50.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “ctlout a 97 1″,
“numoutlets” : 0,
“fontname” : “Arial”,
“id” : “obj-15″,
“fontsize” : 16.785185,
“numinlets” : 3,
“patching_rect” : [ 224.5, 426.973694, 100.0, 26.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “ctlin a 97 1″,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“fontname” : “Arial”,
“id” : “obj-14″,
“fontsize” : 15.093365,
“numinlets” : 1,
“patching_rect” : [ 90.0, 72.971016, 83.0, 24.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “prepend set”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“fontname” : “Arial”,
“id” : “obj-13″,
“fontsize” : 12.0,
“numinlets” : 1,
“patching_rect” : [ 89.5, 145.0, 74.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “scale 0. 1. 0 127″,
“numoutlets” : 1,
“outlettype” : [ "float" ],
“fontname” : “Arial”,
“id” : “obj-10″,
“fontsize” : 12.0,
“numinlets” : 6,
“patching_rect” : [ 89.5, 505.0, 99.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “newobj”,
“text” : “scale 0 127 0. 1.”,
“numoutlets” : 1,
“outlettype” : [ "float" ],
“fontname” : “Arial”,
“id” : “obj-5″,
“fontsize” : 12.0,
“numinlets” : 6,
“patching_rect” : [ 89.5, 430.0, 99.0, 20.0 ]
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "int" ],
“id” : “obj-25″,
“numinlets” : 0,
“patching_rect” : [ 165.0, 45.0, 25.0, 25.0 ],
“comment” : “”
}

}
, {
“box” : {
“maxclass” : “outlet”,
“numoutlets” : 0,
“id” : “obj-26″,
“numinlets” : 1,
“patching_rect” : [ 90.0, 600.0, 25.0, 25.0 ],
“comment” : “”
}

}
],
“lines” : [ {
"patchline" : {
"source" : [ "obj-13", 0 ],
“destination” : [ "obj-26", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-34", 0 ],
“destination” : [ "obj-15", 1 ],
“hidden” : 0,
“midpoints” : [ 684.5, 399.0, 274.5, 399.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-12", 0 ],
“destination” : [ "obj-15", 0 ],
“hidden” : 0,
“midpoints” : [ 759.5, 411.0, 234.0, 411.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-12", 0 ],
“destination” : [ "obj-14", 0 ],
“hidden” : 0,
“midpoints” : [ 759.5, 108.0, 729.0, 108.0, 729.0, 115.0, 99.5, 115.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-11", 0 ],
“destination” : [ "obj-14", 0 ],
“hidden” : 0,
“midpoints” : [ 684.5, 108.0, 87.0, 108.0, 87.0, 69.0, 99.5, 69.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-34", 0 ],
“destination” : [ "obj-11", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-35", 0 ],
“destination” : [ "obj-12", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-28", 0 ],
“destination” : [ "obj-20", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-19", 0 ],
“destination” : [ "obj-29", 0 ],
“hidden” : 0,
“midpoints” : [ 144.0, 415.0, 204.5, 415.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-21", 0 ],
“destination” : [ "obj-28", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-14", 0 ],
“destination” : [ "obj-13", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-6", 0 ],
“destination” : [ "obj-4", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-19", 0 ],
“destination” : [ "obj-6", 0 ],
“hidden” : 0,
“midpoints” : [ 144.0, 394.0, 384.5, 394.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-3", 0 ],
“destination” : [ "obj-19", 0 ],
“hidden” : 0,
“midpoints” : [ 384.5, 346.0, 144.0, 346.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-25", 0 ],
“destination” : [ "obj-15", 0 ],
“hidden” : 0,
“midpoints” : [ 174.5, 75.0, 210.0, 75.0, 210.0, 417.0, 234.0, 417.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-25", 0 ],
“destination” : [ "obj-5", 0 ],
“hidden” : 0,
“midpoints” : [ 174.5, 132.0, 174.0, 132.0, 174.0, 357.0, 99.0, 357.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-5", 0 ],
“destination” : [ "obj-19", 0 ],
“hidden” : 0,
“midpoints” : [ 99.0, 454.0, 89.5, 454.0, 89.5, 363.0, 144.0, 363.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-14", 0 ],
“destination” : [ "obj-5", 0 ],
“hidden” : 0,
“midpoints” : [ 99.5, 134.0, 51.5, 134.0, 51.5, 417.0, 99.0, 417.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-20", 0 ],
“destination” : [ "obj-5", 3 ],
“hidden” : 0,
“midpoints” : [ 609.5, 421.0, 147.0, 421.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-20", 1 ],
“destination” : [ "obj-5", 4 ],
“hidden” : 0,
“midpoints” : [ 666.5, 421.0, 163.0, 421.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-5", 0 ],
“destination” : [ "obj-10", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-20", 1 ],
“destination” : [ "obj-10", 2 ],
“hidden” : 0,
“midpoints” : [ 666.5, 496.0, 131.0, 496.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-20", 0 ],
“destination” : [ "obj-10", 1 ],
“hidden” : 0,
“midpoints” : [ 609.5, 501.0, 115.0, 501.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-10", 0 ],
“destination” : [ "obj-13", 0 ],
“hidden” : 0,
“midpoints” : [ 99.0, 536.0, 63.5, 536.0, 63.5, 135.0, 99.0, 135.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-19", 0 ],
“destination” : [ "obj-10", 0 ],
“hidden” : 0,
“midpoints” : [ 144.0, 415.0, 74.5, 415.0, 74.5, 490.0, 99.0, 490.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-10", 0 ],
“destination” : [ "obj-15", 0 ],
“hidden” : 0,
“midpoints” : [ 99.0, 539.0, 325.5, 539.0, 325.5, 408.0, 234.0, 408.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-14", 0 ],
“destination” : [ "obj-1", 0 ],
“hidden” : 0,
“midpoints” : [ 99.5, 132.0, 585.0, 132.0, 585.0, 585.0, 609.5, 585.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-25", 0 ],
“destination” : [ "obj-1", 0 ],
“hidden” : 0,
“midpoints” : [ 174.5, 81.0, 585.0, 81.0, 585.0, 585.0, 609.5, 585.0 ]
}

}
]
}
,
“saved_object_attributes” : {
“default_fontname” : “Arial”,
“default_fontsize” : 12.0,
“fontname” : “Arial”,
“fontface” : 0,
“fontsize” : 12.0,
“default_fontface” : 0,
“globalpatchername” : “”
}

}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“id” : “obj-3″,
“numinlets” : 0,
“patching_rect” : [ 480.0, 30.0, 25.0, 25.0 ],
“comment” : “scale to [min max]“
}

}
, {
“box” : {
“maxclass” : “inlet”,
“numoutlets” : 1,
“outlettype” : [ "" ],
“id” : “obj-1″,
“numinlets” : 0,
“patching_rect” : [ 195.0, 30.0, 25.0, 25.0 ],
“comment” : “value [on scale]“
}

}
],
“lines” : [ {
"patchline" : {
"source" : [ "obj-26", 0 ],
“destination” : [ "obj-24", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-31", 0 ],
“destination” : [ "obj-26", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-10", 0 ],
“destination” : [ "obj-23", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-7", 0 ],
“destination” : [ "obj-10", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-31", 0 ],
“destination” : [ "obj-51", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-28", 0 ],
“destination” : [ "obj-31", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-6", 0 ],
“destination” : [ "obj-7", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-7", 0 ],
“destination” : [ "obj-50", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-8", 0 ],
“destination” : [ "obj-32", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-24", 0 ],
“destination” : [ "obj-8", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-32", 0 ],
“destination” : [ "obj-51", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-54", 0 ],
“destination” : [ "obj-50", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-23", 0 ],
“destination” : [ "obj-54", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-58", 0 ],
“destination” : [ "obj-27", 3 ],
“hidden” : 0,
“midpoints” : [ 69.5, 185.285492, 86.096176, 185.285492, 86.096176, 185.290756, 69.635612, 185.290756, 69.635612, 435.0, 194.75, 435.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-38", 0 ],
“destination” : [ "obj-58", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-51", 0 ],
“destination” : [ "obj-52", 1 ],
“hidden” : 0,
“midpoints” : [ 429.5, 298.735535, 437.5, 298.735535 ]
}

}
, {
“patchline” : {
“source” : [ "obj-50", 0 ],
“destination” : [ "obj-52", 0 ],
“hidden” : 0,
“midpoints” : [ 399.5, 183.0, 399.5, 312.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-52", 0 ],
“destination” : [ "obj-27", 2 ],
“hidden” : 0,
“midpoints” : [ 399.5, 345.0, 183.0, 345.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-17", 1 ],
“destination” : [ "obj-51", 0 ],
“hidden” : 0,
“midpoints” : [ 546.5, 150.0, 405.0, 150.0, 405.0, 162.0, 429.5, 162.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-17", 0 ],
“destination” : [ "obj-50", 0 ],
“hidden” : 0,
“midpoints” : [ 489.5, 150.0, 405.0, 150.0, 405.0, 162.0, 399.5, 162.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-25", 0 ],
“destination” : [ "obj-38", 0 ],
“hidden” : 0,
“midpoints” : [ 24.5, 162.0, 12.0, 162.0, 12.0, 117.0, 54.5, 117.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-38", 1 ],
“destination” : [ "obj-25", 0 ],
“hidden” : 0,
“midpoints” : [ 91.709564, 138.0, 27.0, 138.0, 27.0, 144.0, 24.5, 144.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-27", 1 ],
“destination” : [ "obj-30", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-1", 0 ],
“destination” : [ "obj-29", 0 ],
“hidden” : 0,
“midpoints” : [ 204.5, 237.0, 156.0, 237.0, 156.0, 225.0, 174.5, 225.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-29", 0 ],
“destination” : [ "obj-27", 1 ],
“hidden” : 0,
“midpoints” : [ 174.5, 345.0, 171.25, 345.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-27", 2 ],
“destination” : [ "obj-29", 0 ],
“hidden” : 0,
“midpoints” : [ 190.833328, 381.0, 191.0, 381.0, 191.0, 295.0, 156.0, 295.0, 156.0, 228.773682, 174.5, 228.773682 ]
}

}
, {
“patchline” : {
“source” : [ "obj-4", 0 ],
“destination” : [ "obj-27", 0 ],
“hidden” : 0,
“midpoints” : [ 144.5, 225.0, 150.0, 225.0, 150.0, 435.0, 159.5, 435.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-27", 0 ],
“destination” : [ "obj-4", 0 ],
“hidden” : 0,
“midpoints” : [ 159.5, 380.0, 120.0, 380.0, 120.0, 117.0, 144.5, 117.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-3", 0 ],
“destination” : [ "obj-17", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-2", 0 ],
“destination” : [ "obj-4", 0 ],
“hidden” : 0,
“midpoints” : [ 144.5, 105.0, 147.0, 105.0, 147.0, 162.0, 144.5, 162.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-15", 0 ],
“destination” : [ "obj-27", 4 ],
“hidden” : 0,
“midpoints” : [ 647.97699, 435.0, 206.5, 435.0 ]
}

}
, {
“patchline” : {
“source” : [ "obj-20", 0 ],
“destination” : [ "obj-58", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-21", 0 ],
“destination” : [ "obj-20", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
, {
“patchline” : {
“source” : [ "obj-27", 3 ],
“destination” : [ "obj-5", 0 ],
“hidden” : 0,
“midpoints” : [ ]
}

}
]
}

}

Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

#130647
May 14, 2008 at 4:18pm

Thanks for the help,

I’ve managed to get it working, all but a slight problem -

The first element of the slider doesn’t update when I switch (all others do fine)

For some reason I’m having to add 2 to the index to get to the right control number when I send the data back out.

(should only be index+1 (?), going from element 0 -> cc#1)

currently it looks like this:

ctlin (part selection – eg 1 for BD, 2 for snare, etc)

if part == x
bang part x’s multislider

listfunnel the resulting output of multislider

unpack 0 0 (results in index & value being separated if I understand right (?))

+2 to index to get correct control number (except doesnt work for element 0/control 1 for some reason?? by all logic this seems like it should only have to be +1.. I have no idea whats going on)

ctlout (Button/led for corresponding step)

#130648
May 14, 2008 at 4:21pm

^ that should say “the first button on the controller”, not “the first element on the slider”.

The sliders are remaining correct value, just the LED is not updating properly for the first button/step

#130649
May 14, 2008 at 4:45pm

Hi.
I’m not sure I understand what you mean…
Could you provide a patch and explain which controllers you are using ?

#130650
May 14, 2008 at 5:28pm

8 multisliders, all played simultaneously, 2 bars long at 16th note resolution. (ignore the bottom multislider for bassline, its not important for now)

controlling the 8 multisliders of this patch i have:

bcr2000:I’m using 16 buttons on this which toggle between value 0 or 1 . assigned to CC#’s 1-16. (dont worry about steps 17-32 for now)

Each button has an led that is lit on 1, unlit on 0…

In addition to that control, I have a korg padkontrol (16 ‘pads’, 8 of which im using as buttons) – pressing one of these changes gates so that the first controller is set to control the selected track/multislider and not the others.

When I switch between tracks, the multislider of the newly selected track is banged, the resulting information (hopefully) being sent out to my midi controller, so that the led’s & values shown on the controller indicate the values stored in the multislider of the currently selected track.

The problem I’m having, is that for some reason the first element of the multislider is not getting sent through to the controller when I do this… the other 31 elements of the multislider update correctly to the controller.

Wow explaining a max patch in words is so cumbersome haha. .. I’ve attached the file… excuse the messiness.

(Only the snare and the bass drum have been fully setup for the time being, the ctlin/ctlout objects arent well labelled or predefined either. . just know that the separate ctlin objects are for different sources of control signals.)

#130651

You must be logged in to reply to this topic.