Observing is_playing possible API bug

t3mpuser's icon

Live 8.2.6 / Max 5.1.8

I am using live.observer to look at is_playing. When i turn on the transport in Ableton Live, it sends two 1's.

Max Patch
Copy patch and select New From Clipboard in Max.

I can't figure out why it would do that. There's nothing in the documentation about it. Just says 1 when playing, 0 when not. Is this expected behavior? Should it send a 1 twice when the transport starts?

broc's icon

I've noticed this too and would consider it as bug.
Interestingly, there is a time difference between the 1's in the range of 20-50 ms (measured with cpuclock).

As reliable alternative I'm using 'Transport State' from [plugsync~].

broc's icon

On closer examination I've found that the behavior depends on the playhead position when Live is started:
If the position is at 1.1.1 the observer sends a single '1', otherwise twice. Apparently the first is triggered by jumping to the start position and the second by the actual start of transport.

t3mpuser's icon

Interesting. I hadn't noticed that.

However i did talk with Cycling74 on this. It seems it is expected behavior. In my own device I just put a [change] object after the API call so in effect I did what I needed to do despite this behavior.

Max Patch
Copy patch and select New From Clipboard in Max.

They did recommend as you did to use plugsync instead though like this: