HISE Logo Forum
    • Categories
    • Register
    • Login

    Chasing logic/auval validation...

    Scheduled Pinned Locked Moved General Questions
    18 Posts 5 Posters 1.2k 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.
    • Dan KorneffD
      Dan Korneff @Lindon
      last edited by

      @lindon Did you ever figure this out? I have 5 parameters that are failing due to Meta flag not being set.
      Trial and error is not fun 😵

      Dan Korneff - Producer / Mixer / Audio Nerd

      Matt_SFM LindonL 2 Replies Last reply Reply Quote 0
      • Matt_SFM
        Matt_SF @Dan Korneff
        last edited by

        @dustbro happend to me too. It can be easy... Depending on the size of your project 😅
        You want to set to 'meta parameters' the controls which act on others : "when you move this knob, then change the value of this knob"
        An example would be if you have 2 wetKnobs for the L & R channels of an effect and you've somehow linked them with a function (tell me if i'm not being clear)

        You 'just' have to find these controls and set them to 'meta'

        Develop branch
        Win10 & VS17 / Ventura & Xcode 14. 3

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

          @matt_sf this could be done programatically - Iterate all components and call setValue with a random value, then check if the value of the other components stay the same.

          1 Reply Last reply Reply Quote 3
          • LindonL
            Lindon @Dan Korneff
            last edited by Lindon

            @dustbro yes I did , but you are not going to like how I did it....

            • I went through every widget in my project and set the isPluginParameter to false, and also removed pluginParmeterName

            • ran auval - got a "pass"

            • Then I went back through them assigning unique names and turning on isPluginParmater as needed

            The thing I learned from this was....NEVER set up this stuff until EVERYTHING is built - clearly if you ctrl-D copy a widget it takes its isPlugin and pluginParameterName with it, and at that point auval will start to fail....

            One "nice" feature would be if ctrl-D DIDNT take these values from its progenitor...

            HISE Development for hire.
            www.channelrobot.com

            1 Reply Last reply Reply Quote 4
            • Dan KorneffD
              Dan Korneff
              last edited by Dan Korneff

              I'm getting some parameter warnings with auval, but it appears to be passing the test. The default and retrieved values seem to match. Fake news? Or should I worry?

              --------------------------------------------------
              PUBLISHED PARAMETER INFO:
              
              # # # 48 Global Scope Parameters:
              WARNING: retrievedValue = 0.400000 (was 0.400000), Parameter did not retain default value when set
              WARNING: retrievedValue = 1.000000 (was 1.000000), Parameter did not retain maximum value when set
              WARNING: retrievedValue = 0.495000 (was 0.495000), Parameter did not retain default value when set
              WARNING: retrievedValue = 0.400000 (was 0.400000), Parameter did not retain default value when set
              WARNING: retrievedValue = 1.000000 (was 1.000000), Parameter did not retain maximum value when set
              WARNING: retrievedValue = 0.398689 (was 0.398689), Parameter did not retain default value when set
              WARNING: retrievedValue = 0.400000 (was 0.400000), Parameter did not retain default value when set
              WARNING: retrievedValue = 0.400000 (was 0.400000), Parameter did not retain default value when set
              
              * * PASS
              

              Logic is also reporting the Plugin Version number incorrectly.

              Component Version: 0.0.0 (0x0)
              

              Screen Shot 2022-02-08 at 11.28.31 AM.png
              Screen Shot 2022-02-08 at 11.30.02 AM.png

              Dan Korneff - Producer / Mixer / Audio Nerd

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

                @dustbro - are there meta params? if so you'll need to set them as such in HISE

                HISE Development for hire.
                www.channelrobot.com

                Dan KorneffD 1 Reply Last reply Reply Quote 0
                • Dan KorneffD
                  Dan Korneff @Lindon
                  last edited by

                  @lindon These don't appear to be meta parameters. I've double checked those.

                  Dan Korneff - Producer / Mixer / Audio Nerd

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

                    @dustbro said in Chasing logic/auval validation...:

                    @lindon These don't appear to be meta parameters. I've double checked those.

                    well sadly isnt very user friendly - and it wont tell you which params its having problems with - only that its having problems....its a pita to be frank.

                    HISE Development for hire.
                    www.channelrobot.com

                    1 Reply Last reply Reply Quote 1
                    • Dan KorneffD
                      Dan Korneff
                      last edited by

                      @Lindon definitely a PITA.
                      @Christoph-Hart I'm getting an instant crash in Logic when trying to automate parameters on a scriptnode plugin. What's the proper way to attach Logic to xcode for debugging?

                      Dan Korneff - Producer / Mixer / Audio Nerd

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @Dan Korneff
                        last edited by

                        @dustbro Product -> Scheme -> Edit Scheme -> Debug -> Executable -> Logic.app

                        Dan KorneffD 1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff @Christoph Hart
                          last edited by

                          @christoph-hart Thanks!
                          I'm getting a break point instantly when inserting the plugin.

                          JUCE Assertion failure in juce_File.cpp:174
                          
                          // Mac or Linux..
                          
                              // Yes, I know it's legal for a unix pathname to contain a backslash, but this assertion is here
                              // to catch anyone who's trying to run code that was written on Windows with hard-coded path names.
                              // If that's why you've ended up here, use File::getChildFile() to build your paths instead.
                              jassert ((! p.containsChar ('\\')) || (p.indexOfChar ('/') >= 0 && p.indexOfChar ('/') < p.indexOfChar ('\\')));
                          

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @Dan Korneff
                            last edited by

                            @dustbro Check the callstack, somewhere you've hardcoded an absolute Windows path (C:\Something).

                            Dan KorneffD 3 Replies Last reply Reply Quote 1
                            • Dan KorneffD
                              Dan Korneff @Christoph Hart
                              last edited by

                              @christoph-hart It looks like I only have 1 line of code that does not reference {Project Folder}.
                              This is the script I'm using to save presets to an expansion folder designated for User Presets.

                              //----------------------save preset --------------------------------------
                              const var PRESET_SAVE = Content.getComponent("PRESET_SAVE");
                                
                              var pre_folder = FileSystem.getFolder(FileSystem.Expansions).getChildFile("User Presets/UserPresets/");
                              
                              function save(file)
                              {
                                  Engine.saveUserPreset(file);
                              }
                              
                              var shouldLoad = true;
                              
                              inline function onPRESET_SAVEControl(component, value)
                              {
                                  if (value)
                                  {
                                      FileSystem.browse(pre_folder, true, "*.preset", save); 
                                      UpdatePresetLabel();
                                  }
                                  
                              	
                              };
                              
                              Content.getComponent("PRESET_SAVE").setControlCallback(onPRESET_SAVEControl);
                              

                              Dan Korneff - Producer / Mixer / Audio Nerd

                              1 Reply Last reply Reply Quote 0
                              • Dan KorneffD
                                Dan Korneff @Christoph Hart
                                last edited by Dan Korneff

                                @christoph-hart Ended up being the AudioLoopPlayer I was using to test DSP. Had a file loaded from outside the project folder.
                                Now I can get back to debugging crashes :)

                                EDIT:
                                That was an easy fix. Removing the AudioLoopPlayer cured the issue.

                                Now on to why Latch automation doesn't work in Logic.

                                Dan Korneff - Producer / Mixer / Audio Nerd

                                1 Reply Last reply Reply Quote 0
                                • Dan KorneffD
                                  Dan Korneff @Christoph Hart
                                  last edited by

                                  @christoph-hart it appears that this no longer works:

                                  param.beginChangeGesture();
                                  param.setValueNotifyingHost (newValue);
                                  param.endChangeGesture();
                                  

                                  We should use instead:

                                  void mouseDown (const MouseEvent&) override
                                  {
                                      param.beginChangeGesture();
                                  }
                                  
                                  void mouseUp (const MouseEvent&) override
                                  {
                                      param.setValueNotifyingHost (newValue);
                                      param.endChangeGesture();
                                  }
                                  

                                  What do you think?

                                  Dan Korneff - Producer / Mixer / Audio Nerd

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

                                  32

                                  Online

                                  1.8k

                                  Users

                                  12.1k

                                  Topics

                                  105.7k

                                  Posts