Midi Controller - CC to trigger different midi notes for single, double and triple press.

Stephen Cranney's icon

Hi there.

I have a issue where I’m looking to use a midi foot controller to send different midi notes to a vst to trigger different drum parts.

The midi output from the midi foot controller is midi cc only, so i need max for live device to convert midi cc to midi note (which is easy enough and I have a device that does this).

I also want a single, double and triple press of each button to send different midi notes. For example - single press send C3, double press send C#3... This is easy enough as well using threshold (to aggregate the number of presses within a certain time), zl.sum (to sum list) and then having different converted notes trigger based on the number of presses.

The issue that I have is that while i can click a button or bang message to flow into threshold, sum in zl.sum and output as the number of “presses”, this doesn’t seem to work at all when I press the foot controller - which always outputs 1 and does not sum based on the number of times I press it within the threshold timeframe.

I hope this makes sense, I’m at bit of a loss .

Bill 2's icon

Hi Stephen, it's much easier to help if you post your patch. :-)

Source Audio's icon

even if you make it, what sense would it make to trigger drum sounds like that ?
But if that works for you using bang then simply use sel 1 to convert incoming number 1 into bang

👽'tW∆s ∆lienz👽's icon

midi cc only

sounds like an FCB1010..
posting the patch(or a screenshot) would be best here: the use of zl.sum seems the same as a simple multiply by the number of presses(no need to think in terms of lists)... but we can't tell for sure where you're going wrong(my guess is at the zl.sum, though).

Stephen Cranney's icon

Will post patch this evening! Thanks for the help :)

Source Audio's icon

If that gear only sends when switch is pressed try this :

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

If it sends something for both press & release, you have more options,
but at the end there will aways be some delay involved
when detecting multi-presses , being double, tripple,or long hold & release etc

Stephen Cranney's icon

Hi all.

I've copied and pasted a portion that is giving me the grief, and used SOURCE AUDIO's great patch to show the issue.

The problem that I have is that if I double or triple click the button (before t b stop set) in SOURCE AUDIO's patch, all works well to determine if has been single, double, triple etc. (registers the final number in the message box as 1, 2, 3...)

The issue I still have is if I press the button on y midi controller, the midi cc in (CC num 1, set to momentary) doesn't register a double or triple press and always just defaults to 1.

The patch defaults the CC num and Controller value to 0 and 0 but I have these as 1 and 127 to match the foot controller (sends cc1 value 127 on press)

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

Source Audio's icon

You are overcomplicating in that patch.
As first, if CC number is known
you can use ctlin 1 and then > 0 to get the value higher than zero

At right you'll find option to select CC number.
I could not resist using that long sausage : if (bla bla) then ... , ha ha

Selecting CC to listen to can be done in different ways
midiselect, or ctlin & match etc etc
Is selecting midi channel also needed ?
I can't wait to make even longer sausage to include that too....

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

Stephen Cranney's icon

That's done it! Solved :)

Thanks heaps Source Audio!