3 ms·
> [sample accuracy] is part of both the AudioUnit and AAX specification heh, i did wonder if i'd get picked up on this :) whilst practically speaking often tr
by foxhill 4y ago
> [sample accuracy] is part of both the AudioUnit and AAX specification
heh, i did wonder if i'd get picked up on this :)
whilst practically speaking often true, this is actually not the case. w.r.t. AAX: during parameter automation events that involve a continuous change (e.g., a linear increase in gain), the process block size is reduced to 64 samples (if i recall correctly), and parameters are interpolated by the host and fed into the processor as fixed values for that time period. it means that it's not possible to answer the question: "at sample n, what is the value of this parameter?"
> Again, AU and AAX are designed with this in mind
you're right, i omitted AU (only because i didn't have fond memories of it), but i stated AAX allows for this type of seperation.
> but there's nothing about VST3 that guarantees this.
which is the same guarantee that AAX and AU give you. i'm not talking about how the host is implemented, i'm talking about what the API models. VST3 - like AAX - defines its presentation and processing interfaces completely seperately. VST3 (initially) didn't allow for a combined processor and interface model, whereas AAX did (through its "singleton" description).
> Every major DAW that supports VST2 also supports VST3
you're right, i was being pessimistic: at the time, i wanted to drop VST2 support, but i couldn't at the time because of ableton live, although i see they now support VST3. but you still have lots of dinosaurs; i still had to support RTAS...
- casion 4y ago> whilst practically speaking often true, this is actually not the case. w.r.t. AAX: during parameter automation events that involve a continuous change (e.g., a linear increase in gain), the process block size is reduced to 64 samples (if i recall correctly), and parameters are interpolated by the host and fed into the processor as fixed values for that time period. it means that it's not possible to answer the question: "at sample n, what is the value of this parameter?" This is correct if you implement parameter events naively (i.e. following the documentation!), but there's a way around it to get per-sample events. The unfortunate thing here is that it's not possible to talk about the protocol openly, AND a lot of devs use JUCE (or whatever wrapper) which doesn't support AAX's capabilities in this area. The bigger issue here is that VST3 doesn't pass MIDI events (CC/RPN/NRPN) directly to/through the plugin, which is a major hassle if you're doing anything that heavily relies on those facilities like scripters for orchestral plugins.
- foxhill 4y ago> This is correct if you implement parameter events naively (i.e. following the documentation!) interesting, i tried to solve this issue - i ended up talking to rob major at AVID (as far as i can tell, the lead engineer behind AAX), over this exact matter. he didn’t think there was a way around this. this was 2017 though, so perhaps it’s changed. if you have something i could read, i’m interested!