live.observer bang/updating too fast

maara's icon

Hi,

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)?

thanks

S4racen's icon

You need either the change object or the speedlim object....

Cheers
D

maara's icon

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) ?

maara's icon

maybe convert the current bpm to milliseconds and use it as a parameter for the metro or speedlim... what do you think?

maara's icon

yes...-seems to be working as I expected :-)

broc's icon

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.