live.observer bang/updating too fast
I am observing property playing_position for currently playing clip via the live.observer…
It works fine and I can find the exact beat at the current time. I am outputting it as an number directly from the live observer to the number object.
The problem is that I don’t know how to use this value further because the live.observer updates/bangs so fast that its nearly impossible to forward the value further from the number box (for example to the counter) due to this fast re-banging (nearly 5 times per 1 beat) even there was no change in property playing_position in the meantime.
Could anyone help me how to pass the value only if the value has changed (means that the property playing_position has changed its value)?
You need either the change object or the speedlim object….
Hey d. you are on every m4l forum on the internet aren’t you? :-D
anyway using get instead of observer or limiting it with the speedlim…. hm that sounds usable but I am afraid that it will be not flexible enough…- if I limit the speed with speedlim or use metro to get the value periodically the behavior and the value will differ on for example 80 bpm and 140 bpm…
Because I am trying to get the position and the beatcount, I need to be as much realtime as possible – isn’t there any object/way how to bang a value only if it has really changed (or dynamically generate suitable metro or speedlim interval) ?
maybe convert the current bpm to milliseconds and use it as a parameter for the metro or speedlim… what do you think?
yes…-seems to be working as I expected :-)
You don’t need explicit conversion since metro and speedlim accept tempo relative arguments.
For example, [metro 4n] will bang every quarter note (beat), regardless of tempo.