Where did my tail go?


#1

I’ve got an AU plugin that’s been working well, but is doing some peculiar things in some DAWs. The plug has a delay tail, so it should continue to pass audio after the DAW stops rolling. In Logic, it works fine. In Digital Performer, the plug stops being called as soon as the DAW stops. But other AU reverb/delay effects work as they should. So it appears I need to be doing something I’m not.

In the ‘JucePluginCharacterstics.h’ file, I have done the following:
[list]JucePlugin_SilenceInProducesSilenceOut is defined to 0.
JucePlugin_IsSynth is defined to 0.
JucePlugin_WantsMidiInput is defined to 0.
JucePlugin_ProducesMidiOutput is defined to 0[/list]
I’d define myself as quite stumped at the moment. Oh, and I’m using Juce 1.46. I’d appreciate a whack on the head to get going in the right direction.


#2

If you search for GetTailTime, you’ll see that at the moment I set that value to 0, but what I should do is add a setting for that to the plugin… That’s quite easy, actually, I’ll do it now.


#3

Are you talking about the method in juce_AudioUnitWrapper.cpp? I tried arbitrarily setting that value. I believe that it’s supposed to represent seconds. I tried values of 5.0, 100.0 and 1000000.0. In all cases, the tail actually dried up in normal operation–even in Logic where I’d previously had little problem. This is while I was sending constant signal through the plug. Quite strange.


#4

Well, that’s the only way an AU can provide the information - the host might be ignoring it, of course, but I don’t know what else could be done!