On 05/18/2014 08:33 PM, Tobias Doerffel wrote:

> Yes, AFAIK there's no way to add an offset information to MIDI events.
> The only solution here is to use as small buffer/period sizes as
> possible.

Hmm. How do VST instruments in other DAWs handle this? Afaik VST
instruments use MIDI, but I'm pretty sure they have some ways to do
sample-exact timing... someone who knows MIDI better than me should
investigate this, it'd be beneficial if we could find some workaround or
existing solution... maybe we can reach out to other open source DAW
developers (Ardour et al.) and see how they've handled it (if at all).

>> I suppose the instrument can read it from the
>> noteplayhandle? If not, it should probably be implemented too...
> See PlayHandle::offset() - this offset always has to be taken into
> account during the lifetime of a PlayHandle so the rendered buffer
> always gets mixed to the FX mixer (to be exact: the AudioPort buffers
> of the appropriate FX chain) with offset X where the remainder buffer
> is mixed to the second buffer which is going to be processed in the
> next period.

Oh, so the offset applies for the entire note. I figured it'd work by
just shortening the first period and adding offset to compensate... Hmm,
that's going to complicate things slightly... this means that for
sample-exact data, we're going to have to store the previously-fetched
buffer of values so we can use it in the next period. But yeah, I think
that can be managed. I think that can be handled within the instrument...

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
LMMS-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmms-devel

Reply via email to