Rule for Talkbackfunktion

We want to use buttons to talkback via Yamaha Mixer to our talents. Sometimes we want to talkback to more than one talent at the same time. Therefor we use the native talkback funktionality of the mixer plus one output assign per TB button. So a button triggers talkback funktionality “on” AND channel “on”.

When releasing the button, talkback funktionality is switched “off” and channel is switched to “off”.

Now the problem: If more than on button is pressed for TB to multible talents it works for “On” but if one single button for one specific talent is realeased, TB for all other talents is also switched to “off” as well. But we only want to switch talkback funktionality to “off” if all the buttons are released. I tried with rules, but can not get it programmed.

Summary:
We need to trigger an output action if one button or more buttons are pressed.
We also need an output trigger, but only if all buttons are released.

Can you help me?

Talkback.bmtp (1.9 KB)

HI, this should get you started.

In this example I created 2 timers, “Talkback On” and “Talkback Off”. Right now the outgoing actions of the timers are PC 0 on MIDI CH1 and PC1 on MIDI CH1 respectively. You can change the outgoing actions to your liking

We use a global variable (ga) as a bitmap for which buttons are pressed. If no buttons are being pressed then the value of ga will be 0.

For talkback on, we look at the value of ga. If ga is already non-zero, we do not trigger the talkback timer again, however we update the bitmap for that button.

For talkback off, we look at the value of ga and if ga is non-zero, (meaning a button is still pressed) we suppress triggering the “talkback off” timer.

For global talkback on , we simply set all bits on note on and clear them all on note-off. For global talkback off, after changing the bits, we unconditionally trigger the talkback off timer.

Using a single global variables and checking bits might seem a bit strange but it is really easier to just check a single global variable than 5 different ones to determine the current talkback state.

To set a bit you shift 1 into the proper position
rr=1<<pp

then OR it with ga
ga=ga|rr

To clear a bit you shift 1 into proper position
rr=1<<pp
Then exclusive OR it with -1 which will reverse which bits are set (negative 1 is all bits set)
rr=rr^-1
Then AND it with ga to ensure the bit position you want has been cleared
ga=ga&rr

That, in essence , is the secret of bit shifting, setting and clearing bits.

Here is the project file. Not extensively tested

Talkback-example-sjc.bmtp (8.5 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

This is it. :slight_smile:
Thanks a lot.

A post was split to a new topic: Fader Output Delay