translate ms to notevalues

Exit Only's icon

Translating ms to notevalues will only output a zero, however if I translate ms to ticks and then ticks to notevalues I get the correct result.

Its no big deal to have the tick stage in there but it might be confusing to some people.

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

Exit Only's icon

weird... it seems to work sometimes now, and also sometimes the tick->notevalues thing doesn't work.

Also, it seems to be more predictable when I specify the @in and @out attributes rather than just using the first two arguments for the translate format.

Adam Murray's icon

Quote: Nick Inhofe wrote on Thu, 16 October 2008 20:02
----------------------------------------------------
> it seems to be more predictable when I specify the @in and @out attributes rather than just using the first two arguments for the translate format.
>
----------------------------------------------------

I ran into something like this before, and my solution was to use @in and @out. I think it always works when you do that? The arguments never seemed to work right for me.

Exit Only's icon

Ok. So I think I've tracked down the root of the problem. The translate ms to notevalues seems to depend on the current transport tempo. For a lot of bpm values, translate will behave as desired. However certain tempo values will cause translate to output a 0. when going from ms to notevalues.

Here is an example patch:

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

Exit Only's icon
Tj Shredder's icon

Nick Inhofe schrieb:
> Ok. So I think I found the root of the problem. Translate seems to
> only behave correctly at certain tempo values. Here is an example
> patch:

the notevalues have to be bound to the set tempo, but I think putting
out 0. if it doesn't fit is plain wrong, it should pass the ms instead
unchanged. You could still [route float]...

I would vote for a different behavior as it is now...

Stefan

--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com

Exit Only's icon

Yes, but if you look at my example patch- the note values ARE bound to the current tempo. I'm just translating a timevalue to ms and then back. Translate will put out a 0. on certain tempo values and not others.

Here is the example again to be clear-

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

Tj Shredder's icon

Nick Inhofe schrieb:
> Here is the example again to be clear-

I can confirm, seems a resolution/rounding problem.

My suggestion/feature request would be, that notevalues should be
rounded to the next tick, and if that doesn't fit to a notevalue instead
of "0.", it should give the ticks. I'd assume ticks to be a sort of a
notevalue anyway. The "0." seems to be a design bug of the object, it
doesn't make sense for me, as its plain wrong, no matter which unit you
might want to interpret it with...

Stefan

--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com

Ben Bracken's icon

Nick, thanks for tracking this down for us. I can confirm that this is an issue and we will be looking into it.

All the best,
-Ben

Exit Only's icon

great! thanks for reading my post :)

11OLSEN's icon

2 years ago and it isn't fixed...i'm getting a 0. from time to time when
i translate ticks to notevalues

11OLSEN's icon

again problems with translate ms to n

i'd like to try a selfmade translation.
can someone help with a little bit math?

isn't it possible to calculate n out of ms and the bpm of the transport?
(n are beats, floating point, 6 numbers behind the .) maybe we come across
the same problems they seem have had with building the translation object.
(certain tempo values will cause translate to output a 0. when going from ms to notevalues)

O.

Ben Bracken's icon

Hi there,

Can you post a patch? The bug that is described above is most definitely fixed. Perhaps you are experiencing something else?

If you don't have a tick value that makes sense given your current bpm, then you will indeed get a 0.

-Ben

11OLSEN's icon
Max Patch
Copy patch and select New From Clipboard in Max.

ok, the translation was easier then i expected: ms to n

@Ben
more annoying in the moment was ms to n not working properly,
i will see if i can post something producing the "errors" with
translate. i'm getting 0. and sometimes "0" (with qoutes as output)

Ben Bracken's icon

Sorry that you are still having some problems with it. It appears to work here as expected, but maybe you are doing something that I'm not. Please do post a patch, I'll be happy to take a look.

-Ben

Ben Bracken's icon
Max Patch
Copy patch and select New From Clipboard in Max.

fwiw, here is what works here:

-Ben

11OLSEN's icon

it's funny, i'm not talking about the notevalues, i just used the letter n.
i tryed to translate with it but now i noticed it behaves like a get clip_playing_position live.object (wondered why the n isn't in the translate object help umenus)

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

can you check that? this now with a metro is in my patch observing the clip_playing position in device_track.

Ben Bracken's icon

I'm not familiar with the 'n' time value. Can you describe what it is you are trying to translate ms to exactly? The transport output is outputting ticks. Do you want to translate from ticks to something else?

-Ben

11OLSEN's icon

tried to translate ms delta times to the value type you get for the positions of notes in midiclips. where 1/16 steps look like this 0 0.250
0.5 0.75... in fact i have now a translater for that (what i posted some posts ago)
but strange that you tell me "n" isn't a shortcut for any timevalue

if someone could check the last code, and see what it outputs for him

would the translate object send an error message if it gets an unknown time parameter? edit: yes it does, it says n: bad number

Ben Bracken's icon

you will have to do this conversion yourself. The valid time values can be found here:

good luck!
-Ben

11OLSEN's icon

they should really add that to the translate obj. i guess e. g. observing the clip length (start and end marker) is frequently used. now i have to write my own translators just to have a cliplength or position in bbu or ms for example.

regards.

Emmanuel Jourdan's icon

notevalues are there for convenience to express common individual notes duration. translate ticks bbu is going to give you bars.beats.units which is probably what you need (you don't have ms coming out the raw ticks outlet of transport).