[linux-audio-dev] XAP: a polemic
Tim Goetze
tim at quitte.de
Mon Dec 16 20:41:20 UTC 2002
David Olofson wrote:
>> you absolutely need ppq for the tick system to properly map
>> different measures (5/4 time, 6/8 time etc) as per previous
>> post.
>
>I'm not sure if you absolutely need it (you *can* translate), but
>indeed, it's *much* nicer when the "speed" of musical time depends
>only on tempo, and not the whole meter.
right on.
>> add seconds-per-beat for plugins that are not limited to
>> audio purposes.
>
>How about checking the audio sample rate? (Yes, that will not map
>exactly to seconds, but it *would* allow you to have the same idea of
>"1 second" as your wordclock sync'ed audio devices, which seems much
>more useful to me.)
>
>If you want to deal with *actual* wall clock time to do some I/O,
>you're in the wrong thread (host audio thread) and/or asking the
>wrong questions, I think.
seconds_per_tick is what i actually use, and it's central
to easily mapping ticks to seconds, and from there to frames.
seconds-per-beat would be a little exotic actually, sorry
for bringing it into play.
>Anyone here ever used non-integer # of beats/bar, and/or "weird" note
>lengths?
non-integer is not proven to be needed i think. if you say you
need 9.5 beats per measure, simple make that 19 half beats. it
is a lot simpler to implement on a machine, and the denominator
is just a matter of convention but not of precision.
>> * time in seconds
>
>What time? Wall clock? If you have the current time info struct,
>it'll contain that (as calculated by the timeline "driver", based on
>audio latency), and then you can convert back and fort as you like
>by, though musical time position/"tick".
in a system where audio is the master clock, the time i mean
is simply frames / sample_rate.
>> a separate function. i have opted for the latter -- to keep
>> things sane, b.b.f conversion is only done for ticks and
>> vice versa though.
>
>Yeah, it's just that that would be a *lot* of calls if you want to
>cover all combinations. Look at VST's VstTimeInfo, or whatever Paul's
>corresponding struct in JACK is called; those cover what you need.
i don't care how complicated you make it, it just has to be
there. ;)
besides it's ok by me to complicate life for host coders.
it's the plugins that should get the better part of the deal.
tim
More information about the Linux-audio-dev
mailing list