page 1 | 6 posts new topic Store  
thread starter

OK im building a drum sequencer in max. Each drum part's sequence represented by a multislider with value either 0 or 1 for each slider.

Because I dont have a monome, I use a midi controller to switch between which drum part i am controlling with my other midi controller
(12 pads on a padkontrol select the drum part, 16 buttons on a BCR turn steps 1-16 for that part on/off)

All is working surprisingly well and came together very easily. .. just one thing I need help on!
I need to make it so that when I press a padkontrol pad (switch drum parts), the newly selected drum part's sequence gets sent out to CC1-16 on my BCR2000, so that the LED's on these buttons match the sequence for the currently selected part. At the moment I'm using a very retarded way of doing it, that for some reason doesn't update the first LED (for step 1/cc#1), but 2-16 update fine.

Could someone please show me an example of a way to send all the data of a multislider back out to my BCR2000?

currently:

a pad is hit on the PK to select a different drum part:

bang the multislider for that part
take the resulting list and put it into listfunnel
unpack 0 0 (split the index and the value)

index + 2

Here is where the problem seems to be
+2 to the index, which works for steps 2-16 fine (and they correspond to the right slider element)..
but shouldnt it be index+1? (index 0 -> CC#1). But if I put it index +1 everything gets out of order. Same deal with no addition.

ctlout to BCR2000



Help appreciated!
Replies

can you post the patch?
i'd be able to have a look at it, when i come home from work.

it depends how you want to format the message. I don't have a bcr, so I don't know the exact format you're trying to spit out, but instead of doing the addition wizardry, can't you use iter to spit out the list messages one by one, send that to a [trigger b i] and connect that to a counter which is constricted to values between 1 and 16. It's hard to say without actually seeing the patch, but if you're working with 2 numbers simultaneously without eventually packing them back into a list, it's probably a matter of some numbers getting processed and spit out faster than others.

i do have a bcr that i am currently (slowly) building a patch around. but yeah, definitely post the patch. if it's max5 i can't read it tho... soon...

ive had the same problem when working with a sequencer, take a long hard look at your order of operations. i'd guess that the problem is a bang reaches the value of your multislider before one reaches the incrementer on the indexer, which is why you had to compensate with a +2 instead of +1. hook up a print object to your counter and to your index, and feed it bangs one at a time to see whats going on.

a lazyman's workaround ive used in that situation is to keep everything in place and use a "sel 17" object hooked up to a message box with a "1" so that your 17s turn to one, its sloppy programming but if it works whatever

or you increment your indexer before you should, either way hook up a print and go bang by bang with your thinking cap on


Register / login
You must be a member to reply or post. signup or login