ontime icon indicating copy to clipboard operation
ontime copied to clipboard

OSC Integration: On Update

Open tcconway opened this issue 2 years ago • 7 comments

Within the OSC Integration portion of OnTime v2, is "On Update" triggered only when an event is running or is it triggered constantly?

If it's not supposed to be triggered constantly: I assumed (incorrectly?) that this would be triggered only during when an event is running. If that's the case, perhaps this could be renamed to "On Event Running" or something better?

If it's supposed to be triggered constantly: Can On Update be renamed to something like "On Tick", "On Every Second", "On App Update" (or something better than my crappy suggestions). That way users will know this will... Triggers at least once a second, can be more.

tcconway avatar Apr 19 '23 10:04 tcconway

Hi @tcconway. This is a great suggestion.

I appreciate your focus on UX, this is one of the hardest parts of app development and something that I appreciate help with

Onto your question:

On Update happens once a second (your second case). Even if the timer is stopped, we still update clocks and check all the remaining. It also happens if something changes in playback (eg. pressing start, will change the playback state and trigger an update)

Changing the name to On Every Second is great, not very cool, but definitely explicit.

cpvalente avatar Apr 19 '23 13:04 cpvalente

Thanks for your considerations!

There's a definite use case for the former - On Active Event - or whatever. That way we can update other apps/screens without having to flood the network with OSC messages that go unused/unneeded.

tcconway avatar Apr 19 '23 14:04 tcconway

Is the onLoad entry not what you mean? It gets triggered when an event is armed

cpvalente avatar Apr 19 '23 16:04 cpvalente

Not really. I was looking for something that gets triggered only while an event is running.

tcconway avatar Apr 19 '23 23:04 tcconway

A-ha, that is not a construct that exists as of now.

Previously, we had issues with a third-party service which counted on ontime to provide a clock. Since we did not call the update function when there were no running timers, the clocks would stop until we continued playback.

It was then decided that the update callback should symbolise that we have recalculated all the timers, even if changes are minimal. In this case, even though the running countdown is not running, other elements are recalculated (delay and added time, clock...)

If we have objective information that ontime updates are overwhelming integrations, we should consider a more limited message cycle such as On Running Timer Update. So far, we haven't experienced this to be true, but our tests have been limited to clean integrations with Companion.

I hope this clarifies the app's perspective on the issue. Please do keep an open dialogue on this if you feel necessary or experience any negative side effects

cpvalente avatar Apr 20 '23 12:04 cpvalente

Not really. I was looking for something that gets triggered only while an event is running.

This looks to be how it works right now, as shouldNotify is only set if an event is loaded image

should we change this so that it actually triggers at least once a second, leave it as is or create a options for onEverySecond and onTimerUpdate?

alex-Arc avatar Dec 27 '23 15:12 alex-Arc

Hi @tcconway , this has been implemented in v3 and you can see it in the beta. A new event cycle "On timer update" will only be triggered if the there is an event running

Would you mind checking in and we can maybe close this ticket?

cpvalente avatar Apr 16 '24 15:04 cpvalente

Closing this as implemented in v3

cpvalente avatar May 13 '24 12:05 cpvalente