HISE Logo Forum
    • Categories
    • Register
    • Login

    Reorder fx - Gui ?

    Scheduled Pinned Locked Moved General Questions
    14 Posts 6 Posters 657 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.
    • lalalandsynthL
      lalalandsynth
      last edited by

      Can anyone think of a way to achieve something like this in HISE , I am guessing it aint easy if at all possible.

      Switching.gif

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

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

        This springs to mind.

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

        lalalandsynthL 1 Reply Last reply Reply Quote 1
        • lalalandsynthL
          lalalandsynth @d.healey
          last edited by

          @d-healey Ah, Indeed , so it might be possible :)

          https://lalalandaudio.com/

          https://lalalandsynth.com/

          https://www.facebook.com/lalalandsynth

          https://www.facebook.com/lalalandsynth

          1 Reply Last reply Reply Quote 0
          • Casey KolbC
            Casey Kolb
            last edited by

            Definitely possible and actually not terribly complicated aside from the filter. You'll just need to have draggable panels underneath the effect slots and track when they intersect with each slot area. Also bear in mind that if you don't script your own filter in ScriptFX, the filter will always have to be the first in the chain.

            But with some good logic and event tracking you can achieve pretty much anything! 😉

            Casey Kolb
            Founder & CEO of Lunacy Audio
            Composer | Producer | Software Developer

            lalalandsynthL 2 Replies Last reply Reply Quote 1
            • lalalandsynthL
              lalalandsynth @Casey Kolb
              last edited by lalalandsynth

              @Lunacy-Audio indeed , so I could use setDraggingBounds to control the boundaries , any thougths on how I can track the movement ?
              Still a bit of a noob here but eager to learn :)

              Looking at the API , I can see some options to do this , having a look.

              https://lalalandaudio.com/

              https://lalalandsynth.com/

              https://www.facebook.com/lalalandsynth

              https://www.facebook.com/lalalandsynth

              1 Reply Last reply Reply Quote 0
              • lalalandsynthL
                lalalandsynth @Casey Kolb
                last edited by

                @Lunacy-Audio said in Reorder fx - Gui ?:

                Definitely possible and actually not terribly complicated aside from the filter. You'll just need to have draggable panels underneath the effect slots and track when they intersect with each slot area. Also bear in mind that if you don't script your own filter in ScriptFX, the filter will always have to be the first in the chain.

                But with some good logic and event tracking you can achieve pretty much anything! 😉

                Will I have problems with assigning control to the Script fx as it will be unloaded from a slot and moved to another ?
                I will have to deal with that for all fx just wondering if its different with the Script Fx ?

                https://lalalandaudio.com/

                https://lalalandsynth.com/

                https://www.facebook.com/lalalandsynth

                https://www.facebook.com/lalalandsynth

                1 Reply Last reply Reply Quote 0
                • Casey KolbC
                  Casey Kolb
                  last edited by Casey Kolb

                  You actually don't need to track the movement. You only need to track when there is a mouseUp event. You'll need to use a panel for each draggable object and then assign a mouse callback. Whenever there is a mouseUp event, you'll need to check if the e.x and e.y intersect with the slot area.

                  You can pass both objects into a function like this to check for intersection:

                  inline function intersect(obj1, obj2) {
                  	local rectAx1 = obj1.getGlobalPositionX();
                  	local rectAy1 = obj1.getGlobalPositionY();
                  	local rectAx2 = rectAx1 + obj1.getWidth();
                  	local rectAy2 = rectAy1 + obj1.getHeight();
                  
                  	local rectBx1 = obj2.getGlobalPositionX();
                  	local rectBy1 = obj2.getGlobalPositionY();
                  	local rectBx2 = rectBx1 + obj2.getWidth();
                  	local rectBy2 = rectBy1 + obj2.getHeight();
                  
                  	return rectAx1 < rectBx2 && rectAx2 > rectBx1 &&
                  		rectAy1 < rectBy2 && rectAy2 > rectBy1;
                  }
                  

                  If it does intersect, you just fill the effect slots with the new order of effects. If it doesn't intersect, you just set the draggable panel back to its original position.

                  For Script FX, I'm actually not entirely sure as I haven't built something with it. Might take some tweaking but I'm sure it's doable 😀

                  Casey Kolb
                  Founder & CEO of Lunacy Audio
                  Composer | Producer | Software Developer

                  lalalandsynthL 1 Reply Last reply Reply Quote 1
                  • lalalandsynthL
                    lalalandsynth @Casey Kolb
                    last edited by

                    @Lunacy-Audio thanks mate !

                    https://lalalandaudio.com/

                    https://lalalandsynth.com/

                    https://www.facebook.com/lalalandsynth

                    https://www.facebook.com/lalalandsynth

                    1 Reply Last reply Reply Quote 0
                    • UD AUDIOU
                      UD AUDIO
                      last edited by

                      Hello! ;) Did you make any progress?
                      I am trying it too, but didn't found a solution yet.
                      It would be super cool if you will share your wisdom..

                      1 Reply Last reply Reply Quote 0
                      • UD AUDIOU
                        UD AUDIO
                        last edited by

                        Some older posts showed other methods with the ability to select from different FX.
                        Here is one of the methods which I find is a really good one.

                        In HeatUp you can reorder FX too. But it could be better with the ability to select from different FX.
                        So you could pick two reverbs, two distortions etc.
                        And it would be fine to have many empty slots if one wants to get crazy. (If the VST can handle it)
                        In a DAW you can simply reroute to the next free mixer track to use more FX.

                        You could predefine the effect chain. But why building plugins with less freedom to users?
                        So this is one of the most essential functions to me.

                        9a076fb6-6d7a-4fe5-923a-723bf5979184-grafik.png

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

                          @UD-AUDIO - its been in HISE for a long time - use a series of SlotFX

                          HISE Development for hire.
                          www.channelrobot.com

                          UD AUDIOU 1 Reply Last reply Reply Quote 0
                          • UD AUDIOU
                            UD AUDIO @Lindon
                            last edited by

                            @Lindon Ok, I see! Do we need to use ScriptFX with Base64 encoded state?
                            Or can we just use effect slots? My FX are made on those slots, with the intention to make it work later.
                            Never touched the routing matrix but I guess it is made for the routing behind?!
                            There was no snippet I could learn from. Maybe you could tell me some more.

                            My plugin is made with the interface designer and it would be a bit of work to recode it by hand.
                            Can't really code myself but I am not a noob with the logic behind it. 🎓

                            ustkU 1 Reply Last reply Reply Quote 0
                            • ustkU
                              ustk @UD AUDIO
                              last edited by

                              @UD-AUDIO yes you'll need base64 states of your scriptFXs

                              Can't help pressing F5 in the forum...

                              UD AUDIOU 1 Reply Last reply Reply Quote 1
                              • UD AUDIOU
                                UD AUDIO @ustk
                                last edited by

                                Thank you both! I will dive into it again.

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

                                27

                                Online

                                1.7k

                                Users

                                11.7k

                                Topics

                                102.0k

                                Posts