Send CC to multiple channels to reset macros

Hi there, My original goal is to be able to reset the ModWheel macros (CC1) on all the tracks of an Electron Digi box (Digitakt, Syntakt) without mapping all tracks to the same midi channels on the digi box.

I am trying to find out if there is a more elegant way to send CC1 = 0 to channels 1 through 16, in the same way a dispatcher does that with notes?
So far I only was able to do this by creating a virtual pipe per channel, but was wondering if there was a more efficient way to do this?
Syntakt1.mhp (1.1 KB)


Thanks!

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

Wow, thank you so much to take the time to write this tutorial/response! I totally missed the “work with any channel” property in Transform too.
I will give it a go tonight, thanks again!

3 Likes

Thanks. As some of these features are new to me too, it’s useful to have the opportunity to think through the fine detail.

(I realised a few hours later, for example, that you likely won’t even need the extra Transform & Rescale after the “CH13 FX CC Table”: experiment with using mappings set to Clip and a single value range (0/64 in your cases))




Yep, Transform is immensely powerful with lots of subtleties (hence the big tutorial for one pipe).
Worth bearing in mind when looking at old patches that Transform is now bigger and better…

1 Like