Forum
    • Categories
    • Register
    • Login

    Matrix modulation connection is broken in exported plugin

    Scheduled Pinned Locked Moved Bug Reports
    11 Posts 3 Posters 43 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.
    • ustkU
      ustk
      last edited by ustk

      So I have:

      • UI sliders connected to Matrix Modulators via matrixTargetId
      • networks using extra_mod nodes and ExternalModulation for their parameters
      • and of course because it is necessary, a Global Modulation Container.

      Everything works fine within Hise.

      But once exported, the sound does not change, neither from UI sliders nor from preset load.

      • I tried to connect the UI sliders to the Value parameter of the Matrix Modulator for direct control, but it does not help.
      • The same issue applies for interpreted networks (ScriptFX) and compiled DLL (hardcoded master FX)

      so the connection is broken somewhere in exported plugin, but AI seems to be lost with it...

      Should anything be taken care of in the script? Like a connection initialisation of some sort?

      Hise made me an F5 dude, any other app just suffers...

      Oli UllmannO 1 Reply Last reply Reply Quote 0
      • Oli UllmannO
        Oli Ullmann @ustk
        last edited by

        @ustk
        Do you have this in your script:

        Engine.addModuleStateToUserPreset(“Your Global Modulator Container Name”)

        I don't remember 100% for sure, but I think I had the same issues as you. Adding the Global Modulator Container to the preset solved all the problems.

        Christoph HartC ustkU 3 Replies Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart @Oli Ullmann
          last edited by

          Are you exporting a FX plugin?

          1 Reply Last reply Reply Quote 0
          • ustkU
            ustk @Oli Ullmann
            last edited by

            @Oli-Ullmann I have seen this! Testing...

            @Christoph-Hart Yes

            Hise made me an F5 dude, any other app just suffers...

            1 Reply Last reply Reply Quote 1
            • ustkU
              ustk @Oli Ullmann
              last edited by

              @Oli-Ullmann So in the end it's not this. I have it noted in my project check list like so:

              /*
              In the case the modulation is deleted when loading a DAW project, do this:
              Engine.addModuleStateToUserPreset("Global Modulator Container");
              https://forum.hise.audio/topic/14137/modulation-is-deleted-when-loading-a-daw-project/5
              */
              

              Thanks anyway!

              Hise made me an F5 dude, any other app just suffers...

              Oli UllmannO 1 Reply Last reply Reply Quote 0
              • Oli UllmannO
                Oli Ullmann @ustk
                last edited by

                @ustk
                Okay, here’s something else that comes to mind regarding an FX plug-in:
                You need to check the Enable Sound Generators FX box in the settings for it to work in the compiled plug-in.

                Additionally, I have the following in the extra definitions:
                HISE_ENABLE_MIDI_LEARN=1
                Otherwise, you won’t be able to access the context menu for the buttons. And just to be safe, I also checked the box for Enable Midi Input FX in the settings.

                I think that might solve your problem.

                ustkU 2 Replies Last reply Reply Quote 0
                • ustkU
                  ustk @Oli Ullmann
                  last edited by

                  @Oli-Ullmann Mmmm... I have them all already...

                  Do you mean you actually have an FX plugin working with the matrix modulation system? (extra_mod nodes, UI matrixTargetId, etc...)

                  Hise made me an F5 dude, any other app just suffers...

                  1 Reply Last reply Reply Quote 0
                  • ustkU
                    ustk @Oli Ullmann
                    last edited by ustk

                    @Oli-Ullmann @Christoph-Hart Alright I got something!

                    When setting the hardcoded DLL to "" then back to the original one, the connection is made.
                    So why it's not connecting at init I don't know...

                    @Oli-Ullmann Do you set your networks/DLL from script or are they just set in the module tree like I do?

                    Perhaps I should also add those module states to the presets?

                    Hise made me an F5 dude, any other app just suffers...

                    Oli UllmannO 1 Reply Last reply Reply Quote 0
                    • Oli UllmannO
                      Oli Ullmann @ustk
                      last edited by Oli Ullmann

                      @ustk
                      Okay, I have a working FX plug-in with modulation. However, I control the parameters using HardcodedFx.setAttribute(parameter, value) because I’m controlling multiple parameters simultaneously with a single UI element. So I’m not using extra_mod nodes. Since modulation in an FX plug-in is usually monophonic and I don’t need sample-accurate modulation, this works for me.

                      The UI element has a matrixTargetId, and I’m using HISE’s modulation system.

                      I load the HardcodedFX dynamically via script. I haven’t added the module states to the preset. Just the Global Modulator Container.

                      So it’s possible that it works for me because I control the parameters via setAttribute and the UI elements aren’t directly linked to the effect parameters. But that’s just a guess.

                      If it helps and you're really stuck, I'd be happy to send you my project without the effects DLLs and C++ files....

                      ustkU 1 Reply Last reply Reply Quote 1
                      • ustkU
                        ustk @Oli Ullmann
                        last edited by

                        @Oli-Ullmann Thanks a lot for the detailed explanation!

                        This confirms what I see, so the main difference is that you load your hardcoded DLLs dynamically.
                        I doubt the setAttribute is the origin of the problem because when I force the DLL it then works.
                        I need sample accuracy so the targetId is what I want.

                        Now, when you say "I load the HardcodedFX dynamically via script", do you mean once at init or on preset load CB? (or other behaviour to swap them on the fly)

                        Hise made me an F5 dude, any other app just suffers...

                        Oli UllmannO 1 Reply Last reply Reply Quote 0
                        • Oli UllmannO
                          Oli Ullmann @ustk
                          last edited by Oli Ullmann

                          @ustk
                          I load the effects via the ControlCallback of my UI elements using SlotFX.setEffect(String effectName). The UI elements are saveInPreset.

                          I can also swap the effects on the fly.

                          What do you mean by “when I force the DLL”?

                          Here’s some additional information that might be important:
                          I created the basic effects in Max and then imported them into HISE via RNBO. I then combined these effects further in a ScriptNode network. I compiled this network and loaded it into a HardcodedFX.

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

                          12

                          Online

                          2.3k

                          Users

                          13.6k

                          Topics

                          118.5k

                          Posts