Send CC to multiple channels to reset macros

You want elegant? 1.16+ gives you elegant!

(welcome to Midihub, by the way :smiley:)

To replace all “a virtual pipe per channel” stuff, we use two tools:

  1. CC Table (new in 1.16.0)

  2. Transform with the newish (1.15.2) addition of setting the channel to a value/id
    (see here and here for more on this)

CC Table

although you mention using Ch1 CC1 value 0 as your trigger, your line one creates this from any value of Ch16 CC64.

So let’s use that directly:


(I’ve set every “value” line to MIDI A Ch16 CC64)

Now, I’m setting the CC ids to 0,8,16,… for channel reasons.
I don’t care about the Channel value so I leave it at 1

See that the Monitor shows those 8 x CC values (here value = 9) coming out

The Special Transform…

…pipe then completes the task:

It takes the CC# we’ve just created and uses that to make the correct Channel number.
(We use the Arguments to set both the id and value – as you’ve done in your original line 1)


here’s that preset (Syntakt1.1.mhp – with unfinished CC Table2)…

but you may be able to make further savings

replacing the FX line

It looks like the same Virtual B CC that resets the CC#1’s also triggers the FX resets on Ch13.
If this is true, that line can be incorporated too:

we use the same mapping to create the FX reset CCs in a 3rd CC Table.
The selected Transform replaces the CCs 70-85 with zero values
(see the last Monitor line ~ I’ve set just one of the CCs as a demo)

using Slice Mappings to restrict incoming range

Below is a shot when I thought CC1 was coming in direct

The Slice Mode for the new mappings allows us to set them to only respond to certain value ranges.
This may or may not be useful if you only want to reset for a single CC64 value

In short, 1.16 may reduce your preset to just two lines

2 Likes