Controlling Touchable from MTP

madjazz

2019-10-04 04:48:40

The project is nearly finished, and hoping to solve this one last bit with your assistance. I did attempt this before writing you, but failed (see below).

Let's say I have two touchable latch buttons -- and #1 is currently on, and #2 is currently off.  If I press Touchable latch button #2, I'd like to send a virtual button press to #1 so that it turns off -- without #1 sending the results of the #1 virtual button press back to Ableton Live.

So let's say #1 is note 78 and #2 is note 79...

if pp==79 then gg=78, qq=0

send out gg and qq to touchable to turn off button #1.

Attached file shows what happened (ignore first screen shot 7.44.09 in favor of 7.47.10).

Can this be done?

Thanks!


Attachments:

Screen Shot 2019-10-03 at 7.47.10 PM.png
Screen Shot 2019-10-03 at 7.44.09 PM.png

Steve-Bome Forum Moderator

2019-10-04 05:17:10

Hi, you can define the ports you want to get input from and send to at the preset or the translator level. So for instance if you want to convert to CC to send to Ableton Live and then send something else back to touchable (like note off) with the same incoming trigger, then what you need to do is create 2 translators with the same incoming trigger and on the first one, direct the CC to Ableton Live (BMT 2 ) only. On the second one, direct the note-0ff message back to touchable.

Again you can do this at the preset or translator level.  I usually group my inputs and outputs by preset and then put translators under the preset to the ports I want so that if later I make wide system changes, I can only change a few presets instead of maybe 100s of translators.

I did notice something else. You seem to be sending MIDI out B1 36 OF to both BMT 1 and BMT 2. I don’t think this is what you intended and this is a by product of MIDI through paths. You can fix this by adding a translator at the end with the same incoming trigger and outgoing action of none.  By doing this swallow will work for the new translator as a translator ONLY SWALLOWS a message if either the outgoing action executes OR the outgoing action is none.

In other words if you exit rules, skip outgoing action. The MIDI Thru path will still pass the MIDI message and not swallow it.

I doubt if the MIDI message that you send back to the touchable is going to be echoed back to Ableton Live.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

madjazz

2019-10-05 19:17:22

Hello,

Repeating the objective here for convenience, what I am trying to do is turn a latched Touchable button off if another button is pressed.  I’ve set up a second translator with the following code (I’ll move it out to a separate preset later after I get it working):

if pp==79 then pp=78
if pp==79 then qq=0

What is says is: if button #2 is pressed (pp==79), then set pp equal to the note # for button #1 (pp=78), and set the velocity for button #1 to 0.  Then Outgoing midi message is to the specific port touchAble -> BMT 2 VO.

Touchable is not responding.  Attached is the bmtp file (take v5, ignore v4).  Any thoughts on why this might not be working?

Many thanks!


Attachments:

RML Bome Script v4.bmtp
RML Bome Script v5.bmtp

Steve-Bome Forum Moderator

2019-10-05 22:19:30

I can see your code will not work

 

if pp==79 then pp=78
if pp==79 then qq=0

 

The second statement will never execute because the first statement always sets pp to 78 first.

Try this:

// default state for button 0=pressed

rr=1

// Is button 1 pressed?

if pp==79 then rr=0

// If not pressed, then then do nothing

if rr==1 then exit rules, skip outgoing action

// Now change outgoing note to 78 (we are finished with pp so we can reuse it for output)

pp=78

// I assume we are sending note on MIDI  CH 1  if 90 doesn’t work use 80

Outgoing : 90 pp qq

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Steve-Bome Forum Moderator

2019-10-05 22:39:01

comment

This might even be more elegant if pp!=79 then exit rules, skip outgoing action Outgoing: 90 pp 00 Or if always turning off 78 the outgoing would be the below (78 dec =4E hex) 90 4E 00

Steve-Bome Forum Moderator

2019-10-05 22:42:22

comment

Or —- if pp==79 then exit rules, execute outgoing action exit rules, skip outgoing action Outgoing 90 4E 00