HISE Logo Forum
    • Categories
    • Register
    • Login

    Reorder FX for Hardcoded Master FX

    Scheduled Pinned Locked Moved Solved ScriptNode
    7 Posts 2 Posters 319 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.
    • O
      obolig
      last edited by

      I am attempting to make a modular DSP network comprised of 4 effects that can be rearranged. The current system works perfectly in scriptnodes. This was possible thanks to this forum post https://forum.hise.audio//post/39430. The interface controls successfully trigger the commands within the scriptnodes script.

      My issue is that the command does not trigger after it is exported as a dll and used as a hardcoded master effect. Is it possible to rearrange processors within a dll through the "setParent" method presented is the forum post linked above? Thank you for your help.

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

        @obolig the most convenient way to make reorderable fx is to use Hardcoded master FX and change the loaded scriptnode FX in each one - not re-order the HMFX itself...

        HISE Development for hire.
        www.channelrobot.com

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

          @Lindon Thank you. I figured that was the case. A little unfortunate since it is a multiband effect and the current system is pretty clean. I'll go down that route and check back into this thread when I'm done.

          42677d2f-9711-4ce8-a648-54261f123d69-image.png

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

            @obolig - why would that be a problem? just compile your scriptnode into a dll and load it into an HMF

            HISE Development for hire.
            www.channelrobot.com

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

              @Lindon The advantage to the current system was that it was built in a single HMFX processor. Each module retained its state after it was moved to a new parent container within the scriptnode. I believe you are suggesting that I create a series of HMFX processors in the module tree and swap the loaded effect depending on the order set by the user. Looks like I can export/import the state of each processor to achieve a similar effect as the current system.

              Not really a "problem", just unfortunate that I have to pivot from the simple system I've already created.

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

                @obolig yes you would need to hold the values of all the controls in each HMF so you could swap them between slots...your call.

                HISE Development for hire.
                www.channelrobot.com

                1 Reply Last reply Reply Quote 0
                • O
                  obolig
                  last edited by obolig

                  I'm back after ripping apart my project and putting it back together. The "Mother-Network" that was originally structured in the exported scriptnode has now been recreated in the Module Tree.

                  20bd4638-8a11-4e64-8deb-c5449c9db2cb-image.png

                  The minimal module tree from before will be missed. RIP

                  I have a few important notes. You need to use Synth.getSlotFX() not Synth.getEffect() when making a reference to the HMFX processor when using the setEffect command. This allows you to load in the exported scriptnode to the module.

                  Other notable functions are exportState() and restoreState(). These can be used to copy/paste control states of the processors after they move. Use the Synth.getEffect() for this one. The exported string even stores the loaded effect. This means you can simply use this command instead of having to load the effect and then the parameter settings. Both processes are accomplished by this single command.

                  I still need to set up a system for all the UI controls to adapt their connections depending the updated locations for each module. That should be fun.

                  1 Reply Last reply Reply Quote 4
                  • O obolig has marked this topic as solved on
                  • First post
                    Last post

                  40

                  Online

                  1.7k

                  Users

                  11.8k

                  Topics

                  103.0k

                  Posts