HISE Logo Forum
    • Categories
    • Register
    • Login

    Linked Sliders Automation conflict

    Scheduled Pinned Locked Moved General Questions
    15 Posts 3 Posters 602 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.
    • DanHD
      DanH
      last edited by

      I'm using a button to link a slider to a master slider. I need both sliders to have automation enabled. However when the sliders are linked the automation will conflict if it exists for both sliders.

      I tried toggling "isPluginParameter" but this doesn't seem to affect anything in the DAW (and I was afraid it might make the automation lanes disappear altogether!).

      I can't see any way to toggle automation for a control - does anyone have any ideas?

      A hacky solution could be to use a separate set of sliders for ones that need linking, and check the value of the button when scripting their callbacks...

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

      1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey
        last edited by

        Are you referring to CC automation? The MIDI automation handler can help with that - https://docs.hise.audio/scripting/scripting-api/midiautomationhandler/index.html

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

        DanHD 1 Reply Last reply Reply Quote 0
        • DanHD
          DanH @d.healey
          last edited by

          @d-healey Thanks, yes CC. I guess

          MidiAutomationHandler.setConsumeAutomatedControllers(bool shouldBeConsumed)
          
          

          Is probably what I'm after. Do you know if there are any examples of how to use these APIs? Do I now need to set the automation up as a data object or is it already there somewhere?

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

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @DanH
            last edited by

            @DanH said in Linked Sliders Automation conflict:

            Do you know if there are any examples of how to use these APIs

            I'm using it here, but not for the same purpose - might still be helpful for you:
            https://codeberg.org/LibreWave/RhapsodyBoilerplate/src/branch/main/includes/LookAndFeel.js#L29

            @DanH said in Linked Sliders Automation conflict:

            Do I now need to set the automation up as a data object or is it already there somewhere?

            See the very first function in the docs I linked to ;)

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

            DanHD 1 Reply Last reply Reply Quote 0
            • DanHD
              DanH @d.healey
              last edited by

              @d-healey Oh wait, sorry I'm getting confused! I don't want to control CC automation, only the standard DAW automation (is there a specific term for this?).

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

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @DanH
                last edited by

                @DanH said in Linked Sliders Automation conflict:

                only the standard DAW automation

                That's the isPluginParameter setting you mentioned. You'll probably also need to enable the isMetaParameter property too if you have one knob controlling another.

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

                DanHD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey
                  last edited by

                  There's also this thing but it looks complicated - https://docs.hise.audio/scripting/scripting-api/userpresethandler/index.html#setcustomautomation

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

                  DanHD 1 Reply Last reply Reply Quote 0
                  • DanHD
                    DanH @d.healey
                    last edited by

                    @d-healey I tried it and it doesn't make a difference in the DAW...

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

                    1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey
                      last edited by

                      Can you make a simple test project to demonstrate the problem in isolation?

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

                      DanHD 1 Reply Last reply Reply Quote 0
                      • DanHD
                        DanH @d.healey
                        last edited by

                        @d-healey Thanks, I'll stick with the hack for now! 😆

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

                        1 Reply Last reply Reply Quote 0
                        • DanHD
                          DanH @d.healey
                          last edited by

                          @d-healey well its as simple as linking two sliders, setting them both as isPluginParameter enabled and then automating them in different directions in the DAW...

                          But I can if you want me to!

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

                          d.healeyD 1 Reply Last reply Reply Quote 0
                          • d.healeyD
                            d.healey @DanH
                            last edited by

                            @DanH Ah in that case I don't see any way to avoid a conflict. If they are linked twice trouble will follow :)

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

                            DanHD 1 Reply Last reply Reply Quote 0
                            • DanHD
                              DanH @d.healey
                              last edited by

                              @d-healey that's the conclusion I have arrived at. 😆

                              Thanks!

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

                              1 Reply Last reply Reply Quote 0
                              • A
                                aaronventure
                                last edited by aaronventure

                                @DanH said in Linked Sliders Automation conflict:

                                A hacky solution could be to use a separate set of sliders for ones that need linking, and check the value of the button when scripting their callbacks...

                                I did the once, the key is to use a hidden slider for automation. You can achieve that by calling hiddenSlider.changed() in the GUI slider's onControlCallback, which tells the DAW that the last touched control was the hidden slider.

                                Of course it goes without saying that the hiddenSlider should have isPluginParameter = true, meta control and parameter name set, while the gui one shouldnt so it doesn't pop up in the automation list.

                                Then in the hidden control's automation callback, set the value of the gui controller, repeat the stuff it does (but refer to the guiSlider's value even though you're currently in hiddenSlider's callback), repaint it if it's using a paint routine or LLAF, and you're set.

                                It spams the component list but isn't otherwise messy. It's highly functional as you can always gate off the setting of the guiControl's value and its function stuff with a simple check for existing links.

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

                                  @aaronventure Thanks, that's more or less what I did this morning, works perfectly well, just a bunch of extra work! 😆

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

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

                                  46

                                  Online

                                  1.7k

                                  Users

                                  11.7k

                                  Topics

                                  101.9k

                                  Posts