Translate ms to beats.bars.units in Liveset with metrum changes?
Hey, what would be the best way to get the Beats.Bars.Units position from a miliseconds value in a Liveset with M4L.
When I use the max translate object the ms value and beat value doesnt correspond. Is there any way to grab this value directly from Live?
You can get 'property current_song_time' by observing the live_set. It seems what you get is a beat counter as float number. Do what you want from here. No need for [translate] object.
Thanks Stephane, the problem is though the metrum changes. The ms are actually translated from the beatcounter, though I wonder if you have 4/4, then 7/8 etc. how to gain the correct beats:bars:units from the beatcounter?
Observe 'property signature_numerator' and there you go.
Thanks for the help Stephane, I really appreciate it!
Though I think the problem is a bit more tricky.Right now if I would calculate the b:b:u from the observed signature_numerator and song_time it would only be based on the last signature change.
However if you have automation in your Liveset, altering between different time-signatures and you want to calculate the b:b:u from the beatcounter value you would have to know and incorporate all signature changes.
I wonder if there is not an easier way to translate the beatcounter to b:b:u so that it goes directly with the one ableton displays?
It seems to me that something like that would work, because the live.observer for signature denominator will update.
Hey Stephane, thanks for the patch but the problem is the same. It doesn't work as soon as you have timesignature changes in Live. I also can grab the internal transport values with tick which works too but only if the whole set is in one metrum (eg no automated changes between 7/4, 4/4, 3/4 etc)
Does anyone has some ideas for this and could join in here? Really would love to solve this.
I think from the [transport] object you get basically the same bbu as displayed in Live.
Hey Brok, thanks that's clear. I wonder though how you can get the bbu for points in time that are not related to the current playing position of live.
For example I have a certain ms values and want to translate them to the bbu in the Ableton Live Set.
may be late but since I came here inorder to find solution to get bar and beat count.
I made this. It does work even if its odd time signature