AAX setLatencySamples not working


#1

It seems ProTools just ignoring the latency changes ( even after starting/stopping the transport source)

Checked with ProTools 11 on Mac


#2

When are you changing the latency? Looking at juce's AAX wrapper, SetSignalLatency is only called on initialization or when the bufferSize or sampleRate changes (i.e. right after a prepareToPlay call).


#3

AudioProcessor::setLatencySamples allows to change the delay compensation of the Host (if a plugin introduces latency), it triggers the AudioProcessorListener, which is connected to the wrapper, which calls the plugin-format specific method to change the latency.

 


#4

If you have an Avid Developer Account, please have a look here https://developer.digidesign.com/phpbb/viewtopic.php?f=95&t=1398

 


#5

update, its working with the windows build of my plugin, but not with the mac version


#6

Sorry I should have been more specific: AAX plug-ins report their latency to ProTools via the AAX controller's SetSignalLatency call. You report your plug-ins latency to JUCE via the AudioProcessor's setLatencySamples call. The way the AAX wrapper is written, the latency is only passed on to the DAW immedietely after a prepareToPlay call. In essence, your latency will only come into effect after JUCE calls your plug-ins prepareToPlay call which, in turn, is called when the sampleRate or sample buffer size changes or on plug-in initialization. Callng setLatencySamples outside of this function will not have an immediate effect. Therefore, my question was about when you call the AudioProcessor's setLatencySamples. Sorry for the confusion.


#7

okay my fault! Delay Compensation wasn't turned on in ProTools!


#8

> Callng setLatencySamples outside of this function will not have an immediate effect. Therefore, my question was about when you call the AudioProcessor's setLatencySamples

Thats not right, you can call it every time and it works (if you turn delay compensation on ;-)

Sorry for wasting your time!!!