routing one to variable multiple number of output channels.

hu's icon

It may be basic thing. But I am not able to get how.
I would like to make routing from one channel and one velocity to multiple channels with the same velocity.

ch1 vel12 >>> ch10 vel12 , ch11 vel12,
ch2 vel23 >>> ch13 vel23, ch14 vel23,

but I would like to change the routing and the number of output channels like the example below.

ch1 vel12 >>> ch10 vel12, ch11 vel12, ch124 vel 12,
ch2 vel23 >>> ch13 vel23, ch14 vel23, ch201 vel23, ch312 vel23,

I cannot figure out how to make the patch having flexibility for the numbers of output channels. I tried “coll” object and “unpack” but the number of output channels is fixed.

DK's icon

Plenty of ways to improve this, but here's one way to do what I think you want to do

Max Patch
Copy patch and select New From Clipboard in Max.

hu's icon

DK thanks. I didn’t have this way of solution.

If I want to send more than 10ch, sometimes more than 100ch without creating 100 “receive” objects, do you have an idea how to make it variable numbers of “receive”.

I may need maximum 512ch (for DMX), but not always. sometimes I need just 10ch, sometimes more than 100ch. So having 512ch receive object in the patch may be wasted. So I would like to find a way to have appropriate numbers of receive objects according to the number that is needed in each time.

If you have an idea, it will be helpful to me.

mizu's icon

maybe a way: scripting connections between pack and unpack, who supports 512 items (nice !). Then, send lists via listfunnel, and route or zl nth ?

Max Patch
Copy patch and select New From Clipboard in Max.

hth
zzz

hu's icon

MIZU, thank you very much. I didn't have any idea like that!! I will look into that and try to apply it to my patch!

Roman Thilenius's icon

there is nothing wrong with s/r or the gate object. if you need 0-512 you could make yourself a set of abstractions for 64 outputs each.

Roman Thilenius's icon


i would use [110.sheep] with [spray]

but [spray] does not work with lists, so if you need lists you would have to tosymbol/fromsymbol them.

however, scripting connections like mizu says will produce code which is the most effective later in realtime use. (eventually you can combine both methods in the sense of my first post.)

multicast distribute spam

Roman Thilenius's icon

not sure if scripting is always thread safe but it is the least work