HISE Logo Forum
    • Categories
    • Register
    • Login

    AAX plugin doesn't initiate default slider values when loaded in Pro Tools

    Scheduled Pinned Locked Moved General Questions
    49 Posts 10 Posters 2.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      ps @Christoph Hart
      last edited by

      @Christoph-Hart the problem is that you really have to find a specific custom trigger value for your plugin that a user will never save as preset / store the session with or that will most likely never be set when the user is duplicating the plugin in the daw. this is why I suggested main gain out because why would you store a session with main out put to -100.
      That's something I forgot to mention you have to use the lowest value of the slider range because that is what protools will set it to on init.
      So If you have set master gain range -70/ 0 you have to call If MasterGain.get Value()== -70 - load preset that you want as init.
      you could use a hidden dummy slider of course as well bit it will show up as plugin parameter and might lead to confusion.

      orangeO 1 Reply Last reply Reply Quote 0
      • orangeO
        orange @ps
        last edited by orange

        @ps @gorangrooves

        I've checked again the the plugins that are exported on June 2022 (develop branch). All of the sliders are working without any issues.

        I haven't built plugins with the current commit, but if this issue still persists, then the root cause might be some commits after that date.

        But I think setting the gain range to -70 or setting a timer object to call the settings won't be more than a temporary solution and won't be healthy.

        Since the time hasn't been passed so much from June, it could be easier to find the root cause.

        develop Branch / XCode 13.1
        macOS Monterey / M1 Max

        1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @Christoph Hart
          last edited by Lindon

          @Christoph-Hart said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:

          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.

          -- Im confused - wont this just reset every component to its default value everytime you start the plugin?

          So I load it into PFools for the first time and it does this = good, I change some things and save my session, then I reopen the session only to lose all the changes I made to components = bad?

          -- or do I not really understand(likely)?

          HISE Development for hire.
          www.channelrobot.com

          orangeO 1 Reply Last reply Reply Quote 0
          • orangeO
            orange @Lindon
            last edited by orange

            @Lindon Yes I think it will override the saved PT session settings, so PT daw session can't be saved.

            develop Branch / XCode 13.1
            macOS Monterey / M1 Max

            LindonL 1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @orange
              last edited by

              @orange said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:

              @Lindon Yes I think it will override the saved PT session settings, so PT daw session can't be saved.

              hmm, thats not a solution then is it...sadly.

              HISE Development for hire.
              www.channelrobot.com

              Christoph HartC 1 Reply Last reply Reply Quote 1
              • Christoph HartC
                Christoph Hart @Lindon
                last edited by

                I think the secret ingredient that I forgot to make this work with restoring projects is like @ps suggested: use a bogus value that no sane user will ever use for a particular parameter, then restore if that value is met.

                Is it hacky? Sure. Is it the appropriate solution to the problem. Hell yes.

                LindonL 1 Reply Last reply Reply Quote 0
                • LindonL
                  Lindon @Christoph Hart
                  last edited by Lindon

                  @Christoph-Hart said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:

                  I think the secret ingredient that I forgot to make this work with restoring projects is like @ps suggested: use a bogus value that no sane user will ever use for a particular parameter, then restore if that value is met.

                  Is it hacky? Sure. Is it the appropriate solution to the problem. Hell yes.

                  I think I'm going to prefer a config file read/write:

                  if the file is not there then do this thing, and write the file...

                  in fact what (I assume) we all want is ProTools to load our "default" preset, does it not do this also?

                  HISE Development for hire.
                  www.channelrobot.com

                  orangeO LindonL 2 Replies Last reply Reply Quote 0
                  • orangeO
                    orange @Lindon
                    last edited by orange

                    @Lindon said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:

                    I think I'm going to prefer a config file read/write:

                    if the file is not there then do this thing, and write the file...

                    Let's say the user has 50 sessions with your plugins (and on each session there are a couple of plugins), so the plugin will save each setting for each plugin instance?

                    Why try harder? All of these sliders were working till a couple of months ago, I think the reason will be (needs to be) fixed.

                    develop Branch / XCode 13.1
                    macOS Monterey / M1 Max

                    d.healeyD LindonL 2 Replies Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @orange
                      last edited by

                      @orange Can you narrow down to which commit?

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      orangeO 1 Reply Last reply Reply Quote 0
                      • LindonL
                        Lindon @orange
                        last edited by

                        @orange well I have a user with AAX plugins from over a year ago -- and these are not working either - so its not a recent problem.

                        HISE Development for hire.
                        www.channelrobot.com

                        1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @Lindon
                          last edited by

                          @Lindon said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:

                          I think I'm going to prefer a config file read/write:

                          Actually I'm pretty sure none of these approaches work if we think about it for a minute....

                          HISE Development for hire.
                          www.channelrobot.com

                          1 Reply Last reply Reply Quote 0
                          • orangeO
                            orange @d.healey
                            last edited by orange

                            @d-healey said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:

                            @orange Can you narrow down to which commit?

                            @Lindon said in AAX plugin doesn't initiate default slider values when loaded in Pro Tools:

                            @orange well I have a user with AAX plugins from over a year ago -- and these are not working either - so its not a recent problem.

                            No it is a recent issue (I haven't compiled the current commit yet). The button issue is there for years. But sliders were working.

                            The exported plugins on June (develop branch) are working. You can try these yourself, I checked yesterday.

                            develop Branch / XCode 13.1
                            macOS Monterey / M1 Max

                            gorangroovesG 1 Reply Last reply Reply Quote 0
                            • gorangroovesG
                              gorangrooves @orange
                              last edited by

                              Ideally, PT should load the default values. If we can't have the ideal, we need to settle for the next best solution, at least until the ideal is achievable.

                              Looking at Christoph's script and comparing it to my sliders, this is what I notice:
                              The default values for the sliders do not match the initial values of the sliders. Some sliders may be at 0.34, while the default value is set to 0.8. Actually, most sliders seem to have this value of 0.8. So restoring the defaultValue would not solve the problem unless we go and manually enter default values for all sliders to match what they are on the initial load normally. This would be very time-consuming.

                              So, I guess recalling the default preset would be a more practical solution, as @ps suggested. Of course, this means that you must have the presets implemented in your plugins.

                              Goran Rista
                              https://gorangrooves.com

                              Handy Drums and Handy Grooves
                              https://library.gorangrooves.com

                              gorangroovesG 1 Reply Last reply Reply Quote 0
                              • gorangroovesG
                                gorangrooves @gorangrooves
                                last edited by

                                So, to get around the defaultValue not being equal to the actual value, I tweaked a portion of Christoph's script which should be run once when final settings are made, then commented out before compiling.

                                //Set defaultValue of all components, which are plugin parameters, to their current values
                                // IMPORTANT: Comment this out before the plugin compiling
                                
                                for(c in Content.getAllComponents(".*"))
                                	{
                                		if(c.get("isPluginParameter"))
                                		{
                                			c.set("defaultValue", c.getValue());
                                		}
                                	}
                                

                                Now that the default values are correct, we can proceed with the combination of Christoph's and ps scripts.

                                Goran Rista
                                https://gorangrooves.com

                                Handy Drums and Handy Grooves
                                https://library.gorangrooves.com

                                gorangroovesG 1 Reply Last reply Reply Quote 0
                                • gorangroovesG
                                  gorangrooves @gorangrooves
                                  last edited by

                                  Alright, guys, please check if this looks OK, using @Christoph-Hart 's script and combined with @ps strategy.

                                  //-------Pro Tools initial settings fix
                                  
                                  const var ProtoolsParameterFixer = Engine.createTimerObject();
                                  const var DrumsSlider = Content.getComponent("DrumsSlider"); // This should not be 0 by default
                                  
                                  
                                  ProtoolsParameterFixer.setTimerCallback(function()
                                  {
                                  	for(c in Content.getAllComponents(".*"))
                                  		{
                                  			if(DrumsSlider.getValue() == 0 && c.get("isPluginParameter"))
                                  			{
                                  				c.setValue(c.get("defaultValue"));
                                  				c.changed();
                                  			}
                                  		}
                                  	this.stopTimer();
                                  });
                                  
                                  ProtoolsParameterFixer.startTimer(600);
                                  

                                  Goran Rista
                                  https://gorangrooves.com

                                  Handy Drums and Handy Grooves
                                  https://library.gorangrooves.com

                                  orangeO 1 Reply Last reply Reply Quote 0
                                  • orangeO
                                    orange @gorangrooves
                                    last edited by

                                    @gorangrooves Does this AAX issue happens in all operating systems? Windows, macOS intel & M1?

                                    develop Branch / XCode 13.1
                                    macOS Monterey / M1 Max

                                    gorangroovesG 1 Reply Last reply Reply Quote 0
                                    • gorangroovesG
                                      gorangrooves @orange
                                      last edited by

                                      @orange I've only tested it with Windows, and the above script did not do the trick, unfortunately. Maybe I didn't write it properly. I'll have to revise it.

                                      Goran Rista
                                      https://gorangrooves.com

                                      Handy Drums and Handy Grooves
                                      https://library.gorangrooves.com

                                      gorangroovesG 1 Reply Last reply Reply Quote 0
                                      • gorangroovesG
                                        gorangrooves @gorangrooves
                                        last edited by

                                        There is actually a build error. The plugin didn't compile. I was testing my previous AAX plugin version. I will be posting the compiling error info as soon as I test whether VSTi compiling works.

                                        Goran Rista
                                        https://gorangrooves.com

                                        Handy Drums and Handy Grooves
                                        https://library.gorangrooves.com

                                        gorangroovesG 1 Reply Last reply Reply Quote 0
                                        • gorangroovesG
                                          gorangrooves @gorangrooves
                                          last edited by

                                          Guys, I am happy to report that the above script works well and restores the default values in Pro Tools seamlessly. This should do the trick until a "proper" fix is figured out. It certainly beats having customers load the plugin for the first time that doesn't make any sound with no indication of why.

                                          I am yet to test this in the release version of Pro Tools when I can save a session (once I get my PACE signing tools). I'll report back.

                                          Thank you, @Christoph-Hart and @ps, for all of your help!

                                          Goran Rista
                                          https://gorangrooves.com

                                          Handy Drums and Handy Grooves
                                          https://library.gorangrooves.com

                                          DanHD 1 Reply Last reply Reply Quote 0
                                          • DanHD
                                            DanH @gorangrooves
                                            last edited by

                                            trying to find a more recent thread on this issue - I'm sure it was discussed again very recently!! Forum search is such a disaster lol!

                                            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                            https://dhplugins.com/ | https://dcbreaks.com/
                                            London, UK

                                            gorangroovesG 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            24

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts