You will need to defer your response.

ZeroValue's icon

Hi,

like a lot of LOM user I get the classical error " live.object: Changes cannot be triggered by notifications. You will need to defer your response."
I found this article and tried to use [defer] [delay] [pipe]https://cycling74.com/articles/event-priority-in-max-scheduler-vs-queue
But I still get a nice feedback, even when the patch is not in edit mode.
What can I change ?

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

ZeroValue's icon

All test I did remains unfortunately unsuccessful

Source Audio's icon

insert defer instead of pipe.

ZeroValue's icon

I tried [defer] between the [live.observer] and the [live.numbox] but still get the same error message

ZeroValue's icon

In fact when I'm connecting the [live.observer] to the [live.numbox] it works fine, but I get this error message ?!

OCH's icon

If you're still working on this and would like a second set of eyes feel free to share the patch. It's hard to know exactly what's the flow path.

tyler mazaika's icon

Usually [deferlow] works more reliably than [defer]. The issue isn't the changing the value of live.numbox, the issue is the "set value $1" message to the live.object. Hence the error message: live.object: Changes cannot be triggered by notifications.

ZeroValue's icon

Hi,
happy to see that people get interested with this question !
I gave a try still stuck with this problem

OCH's icon

Sorry I just saw the patch now.
Here you go:

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

No more "You will need to defer your response" error. Only a warning because live.numbox will actually output its value before live.object knows what's the id. you can fix that by applying a gate that only opens after the patch is loaded, which you can know via the live.thisdevice object.

Best,
OCH

ZeroValue's icon

a lots of small difference, have to do some test to understand how they modified the behavior
hope it helps someone one day :)

OCH's icon

a lots of small difference, have to do some test to understand how they modified the behavior
hope it helps someone one day :)

what?

ZeroValue's icon

inside the live.observer you add value

Iain Duncan's icon

Basically you need to ensure that in one Max message chain of operations you don't observe and set the API at the same time.

ZeroValue's icon

yes, I guess that in a perfect world this should be possible.

Max Gardener's icon

A "perfect world" where you could perform two operations "at the same time" would, most likely, not have computers in them. :-)

Iain Duncan's icon

If notifications could trigger the API and vice versa, it would be quite easy to make Live lockup by creating endless loops. They (Ableton) have gone to great pains to ensure that can't happen.

ZeroValue's icon

@max maybe this is a solution !
@Iain Yes I get it

Iain Duncan's icon

I'm not sure if this has been mentioned in this thread, but if you swap out Live API observing for plugsync~ in your patch anywhere (which depends on what you're observing) that can make a big difference. Plugsync's output is not considered a notification in this sense.