Hi,
On Mon, Sep 13, 2010 at 02:50:26AM -0300, jm jones wrote:
One new thing in Max 5 is traditional musical time values, and new transport capabilities. Is something like that available in PD (working without milliseconds as measure)? Maybe it can be done in a simple way in pd, but Im a noob in this, so I want to know the big differences.
Converting between milliseconds and other time scales like quarterbeats is just a matter of some math. The rj library I mentioned already contains mapping objects to convert between time counted in milliseconds and in beats: [m_ms2beat] and [m_beat2ms]. Both need a reference pulse measured in BPM, so you'd use them as [m_beat2ms 120] for example. (The object [m_bpm2ms] and [m_ms2bpm] convert bpm values, if you forgot how that's done.) Then when you feed [m_beat2ms 120] a number like 4, you get the duration of that in milliseconds, 2000 in this case.
If you want to convert a whole list of beats to a ms-duration, you can apply this to every item of the list, easily done with something like [u_listmap] in rj or [list-map] from the list-abs collection (they are the same).
Of course that's just for a start. As I see here: http://www.cycling74.com/docs/max5/vignettes/core/maxtime_syntax.html Max 5 seems to directly support inputting beats or ticks into time objects like [metro] which surely is nice, but with some helper abstractions like above can be cloned in Pd as well.
I think, getting to know the math behind time conversions is a good excercise. There's no higher math involved, just divisions and multiplications, addition ad substraction and you've learn all of this at school, so there's no reason to be intimidated. But once you've gone through it, it will make you understand musical time a bit better and maybe even lead you to work with "unusual" polyrhythms like matching 5 against 7, which seems not to be covered by Max-5's strictly four-to-the-floor tick/beat based system.
Oh, and instead of [transport] just use a metro with a counter sending to some global receiver. Read from this with [select] to get a kind of Max-5's [timepoint] clone.
See, there's no magic behind these new Max 5 features, they just unified a bit what all Max/Pd users do anyway in their patches.
Frank Barknecht Do You RjDj.me? _ ______footils.org__