Button to toggle with Note On messages with 2 velocities

3 posts / 0 new
Last post
johan's picture
Button to toggle with Note On messages with 2 velocities


I managed to configure BC Manager for my BCF2000 to control an Allen & Heath idr-8 mixer. To mute a mixer channel a Note On message with velocity 7F is send. And to unmute a Note On with Velocity 1

Is it possible to create a toggle with a button to send a NoteOn with velocity 127 and velocity 1?

I have now implemented a dirty construction to send a NoteOn with 127 and a NoteOff and then translate/map this NoteoFF to a NoteOn with velocity 1 using MidiOX.

I tried using a custom output with velocity 127 and 1 as the 2 values, but then I miss the parameter feedback if I mute the channels via another tool/preset on the mixer itself..

Hope that someone has some advice on this?



Mark van den Berg
Mark van den Berg's picture

I think you can achieve this by a combination of a standard output definition and a custom output definition.

E.g. for button 33 In BC Manager:

General tab:
Show value: On
Value: 0

Standard output tab:
Type = Note
Channel = (e.g.) 1
Note = (e.g.) 60
Velocity = 127
Mode = Toggle On

Custom output tab:
ifn $90 60 1
Here, the channel (encoded in the status byte $9c) and the note number must of course match the values chosen in the standard output definition. The final byte is the Velocity parameter, so must always be 1 (your mixer's "unmute").

Equivalent BCL definition:
$button 33
  .easypar NOTE 1 60 127 toggleon
  .showvalue on
  .default 0
  .tx ifn $90 60 1

The standard output definition causes the BCF to send a Note On message with velocity 127 the first time you press the button, and a Note On message with velocity 0 the second time you press it.
The custom output definition appends a Note On message with velocity 1 the second time you press the button. (That's because anything after "ifn" is only output upon a negative change to the button's Value parameter. See section 14.6.4 in BC MIDI Implementation.pdf for discussion of ifn.)
So the BCF sends two Note On messages when you press the button the second time, first the one with velocity 0, then the one with velocity 1. So your mixer should be able to handle (basically: ignore) the first ("wrong") message.

Parameter feedback to this button should work correctly.
Section 15.5 of BCMI has this to say about the BCF/BCR's MIDI input behavior for standard NOTE button definitions:

The button responds to any incoming MIDI Note On message on the same channel (i.e. with status byte $9c) specifying the same note number. The button’s LED switches on (or stays on) if the incoming message’s velocity byte is greater than the button’s Velocity div 2; otherwise the LED switches off (or stays off).

So when the BCF receives a Note On message with Velocity 1 (or any other value in the range of 0 .. 63) from your mixer, the button gets switched off.

Hope this helps,

johan's picture

This is exactly what I needed!

I didn't played with the ifn ifp handles before.

thanks a lot.