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:
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:
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