Sudden Bug: 10s added to outgoing action delay

mattz

2016-12-19 01:42:50

Hi,

Terrible (and sudden) bug: The time delays before executing an outgoing action are being delayed precisely by an additional 10s. I have a 500ms delay programmed in, which has always worked perfectly. Upon startup, the 500ms delay is realized, and then, after about 7 or so translations, the 10s bug comes in. I can assure you this a nuclear bug for me--this is how I scroll through my entire Ableton Live set using a foot pedal (I have a show in 9 days).

I was on MTP 1.80 (Mac SierraOS 10.12.1); I upgraded to 1.81 to no avail. I've tried making a new preset with the same commands, and that did not work. I also tried tricking the system, and I assigned jj=500 in Rules, and then assigned the outgoing delay to jj. (Also did not work). The problem appears when I have no other software running (except Midi Monitor).

I've judged the +10s delay by using Midi Monitor: It's clearly exactly a 10.5s delay in total. No OS upgrades since Nov. 25th; but everything was fine as of a few days ago. I can't find any rhyme or reason to when it occurs: Sometimes it's fine for 4 iterations, other times 7 or 10. When the error occurs it takes a long time for it to stop, and return to the proper 500ms delay.

I hoped it was related to the way MTP was accessing the Time from OSX; I tried disabling automatic setting of time to no avail. I'm out of ideas, please help!

**Update: in the 2 hours since I posted this, Apple releases 10.12.2, which I installed...but no change. Still works fine about 5-8 times and then delays +10s.

florian

2016-12-19 10:50:27

Hi Mattz,
that's catastrophic! This can surely be related to a macOS update. Can you please post your project, and a captured log in the Log Window (use copy/paste) when it still works, and then when it doesn't work anymore.

We'll definitely find a way for you before your gig!

Thanks!
Florian

mattz

2016-12-20 02:48:17

I think I got it!

Several months ago, I (against all my knowledge and experience) tried making an Aggregate Device with my audio interface and another. Even though that Aggregate Device was never in use, it seemingly still negatively affected the Audio system: as soon as I deleted it, everything was fine. It probably has something to do with the 10.12.1 or 10.12.2 updates--they aren't playing nicely with a device that's merely listed in an Aggregate Device. The really happy ending: everything seems to work better. I used to need a 400ms delay minimum to guarantee functionality, now I'm down to 300ms! Still, the lesson is clear: do not use aggregate devices for pro audio.

The EXACTLY +10s part is very odd though, and I will post for future reference my bmtp and some data from Midi Monitor. The Translator in question takes a foot pedal press, sends a Scene Down message to Ableton (3.0). The same incoming message (3.1), after a delay, sends a Play Scene button to Ableton. (The delay is necessary, otherwise Live will just play the current scene. Another message is sent out too, which cuts any recorded guitar so I can play the guitar part live.)

[x] Preset 3: New Scene Advance

[x] Translator 3.0: Stop+Scene-SL Expression - Moves Down
Options: swallow
Incoming: MIDI BE 54 00, on port ReMOTE ZeRO SL Port 2
Outgoing: MIDI BE 63 7F, to port Bome MIDI Translator 1 Virtual Out

[x] Translator 3.1: Stop+Scene-SL Expression: Delays Scene Play and Guitar Stop after previous Scene Down
Options: swallow
Incoming: MIDI BE 54 00, on port ReMOTE ZeRO SL Port 2
Outgoing: MIDI be 0f 7f BE 4E 00 BE 4E 7F, to port Bome MIDI Translator 1 Virtual Out, delay:300 millisec

--------
Here are the relevant lines from Midi Monitor. This is when I had the delay set for 500ms.
--------
16:15:53.233 From Port 2 Control 15 84 0
16:15:53.233 From Bome MIDI Translator 1 Control 15 99 127
16:16:03.733 From Bome MIDI Translator 1 Control 15 15 127
16:16:03.733 From Bome MIDI Translator 1 Control 15 78 0
16:16:03.733 From Bome MIDI Translator 1 Control 15 78 127

An extra 10s exactly! It was maddening, and still doesn't quite make sense. Here's the whole project, in case anyone else every has this issue and there's something illuminating in there:
Attachments
DoubleKorg.txt
(133.33 KiB) Downloaded 102 times

sjcaldwell

2016-12-20 07:07:25

Just looking at the following from BMT manual. Are you using initial delay or outgoing action delay?
Timer Initial Delay vs. Outgoing Action delay
Note that for starting a timer, you can specify an initial delay, and there is
also the possibility to specify an action delay (see Delaying Outgoing
Actions). Those two delays add up, but there is a big difference: by delaying
the outgoing action, the timer will not exist before the outgoing action delay
has passed. So during that time you cannot kill or override that timer!
Consequently, you should avoid delaying an outgoing timer action, and
rather use the timer's (initial) delay.

florian

2016-12-20 11:54:26

Hi Mattz,
thanks for posting! It's very strange indeed. If you ever experience something like that, let us know. And good that it's documented here! We'll double check the relevant parts in the MT Pro implementation to see if something there facilitates an additional 10s delay.

sjcaldwell -- thanks! I believe he's only using the Outgoing Action Delay, so he should be save.