AAX plugin doesn't initiate default slider values when loaded in Pro Tools
-
I must admit - I'd really like this fixing too...
-
@Lindon Do you think this is HISE-related or PT?
-
it's pretty annoying but what I do to work around this is: in a timer: if value of slider that never makes sense to be on 0 on initialization (like gain) load init preset.
-
@gorangrooves said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:
@Lindon Do you think this is HISE-related or PT?
I think its HISE in PT...
-
Kind man, @Christoph-Hart , if you can, would you please wave your magic wand and fix this for us all?
-
@gorangrooves Are you using AAX SDK version 2.4.0?
If not, can you try with it? -
@orange I am using 2.4.1. That's the latest one if I am correct.
-
@gorangrooves Yes, but that retrospective SDK test can help to solve the cause of the issue. You can download the SDK v2.4.0, compile the static libraries and give it a go.
-
@orange i will try. You are not having the issue with that SDK?
-
@gorangrooves I built on June and it was working. If you'd like, you can download Need 73 or 81 or 84 from here and try on your system.
-
@orange I compiled a plugin using AAX SDK 2.4.0, and the issue still remains.
:folded_hands_light_skin_tone: @Christoph-Hart
-
There's also an issue with linking controls in multi-mono mode. I haven't built an AAX binary with a recent version of HISE yet so I'll try to do that over the weekend and see what happens.
-
Also, regarding AAX export: HISE autogenerated compiler specifies "Use static runtime" for Runtime Library, while the AAX SDK requires DLL. I had to change that to make the compilation successful.
-
@ps Would you mind sharing that bit of script, please (as a fall-back)?
-
This problem is definitely unacceptable. I can't believe even the button issue is happening for years!
I am sure rather than adding no-urgent additions to Hise, @Christoph-Hart has already started to debug this critical issue and I am sure he will find a way to fix this and the already many years active button issue too.
-
@Fortune Yes, I have my faith in @Christoph-Hart . There was an issue with FL Studio multi-out, and fixed that in a very timely manner recently. Didn't say he was doing it, but just published the fix when it was ready.
-
@gorangrooves i don‘t have hise in front of me right now but it‘s very simple:
Start a timer on init for something like 500ms.
In the timer callback check for a slider value that will usually never be set to 0 (only by protools) and is a plug-in parameter. (This could be your main out gain knob for example).
If (MainGainKnob.getValue() == 0)
{
load your init preset(depending on how your preset system works it either your own function or Engine.loadUserPreset);timer.stopTimer();
}That’s it :)
-
So a "generic" script would look like this:
const var ProtoolsParameterFixer = Engine.createTimerObject(); ProtoolsParameterFixer.setTimerCallback(function() { for(c in Content.getAllComponents(".*")) { if(c.get("isPluginParameter")) { c.setValue(c.get("defaultValue")); c.changed(); } } this.stopTimer(); }); ProtoolsParameterFixer.startTimer(600);
@gorangrooves if this solves the problem I could add this as native C++ function, then it will only be called when loaded as AAX plugin and I'll try to not make a educated guess how long it will take, but somehow call it after the plugin initialisation. Still not sure why the default values aren't used by Protools, the code in HISE looks OK.
-
@Christoph-Hart This is not a proper solution.
It can clutter with the saved settings in the Pro Tools project. It is obvious that there is a bug and it has to be fixed. Other plugins doesn't do that, so it is Hise related.
-
Yeah, that's correct, but I don't know what else can be done. Protools simply ignores the value returned by
juce::PluginParameter::getDefaultValue()
(or overrides it with zero afterwards).In the JUCE forum you can read stuff like that:
Short answer - yes, when Pro Tools loads a session, it does its own recall (like automation, but not dependent on the parameters being armed for automation) of parameter values.
It does this first, and then calls the setStateInformation method (passing it back whatever chunk of data, presumably some XML, that you might have given it from getStateInformation). So you have the option then to overwrite your choice of parameter values.
For setting a “new default” state (like @jcomusic and @parkellipsen are talking about above) you could set that explicity from within setStateInformation, if you detect (by parsing the XML for some telltale values) that it was passed the “old default” XML.
https://forum.juce.com/t/aax-protools-plugin-states-persistent-over-multiple-sessions/29977/6