HISE Logo Forum
    • Categories
    • Register
    • Login

    Global cable in Hardcoded FX working, then not, then yes, then...

    Scheduled Pinned Locked Moved Solved Bug Reports
    14 Posts 4 Posters 1.1k 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 @ustk
      last edited by

      Alright this just getting crazier each time...

      I deleted the binary folder and re-exported the DLLs, some cables came back but not all.

      I did not touch the ones that were working and just unloaded the DLL of the ones that weren't working.
      Restarted the project, load the DLL, no cables are working anymore even the ones that were in the DLL I haven't touched! 🤣

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

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

        @Christoph-Hart Ok so there still seem to be a connection issue somewhere that I am not able to track down in the generated header file for the DLLs, or the XMLs (everything seems to be fine when compared to a simple test project that is working once compiled)

        I have found several posts about that, and you apparently fixed something (commit 8a0d61f, oct. 5th), but the issue is still there, be it related or not.

        The cables are defined in the script:

        const var GRM = Engine.getGlobalRoutingManager();
        
        const var GC_BassLevelCable 	= GRM.getCable("GC_BassLevel");
        const var GC_BassCompLevelCable = GRM.getCable("GC_BassCompLevel");
        const var GC_ExciterLevelCable 	= GRM.getCable("GC_ExciterLevel");
        GC_BassLevelCable.setRange(0.0, 1.0);
        GC_BassCompLevelCable.setRange(0.0, 1.0);
        GC_ExciterLevelCable.setRange(0.0, 1.0);
        
        GC_BassLevelCable.registerCallback(function(value)
        {
            // do something
        }, false);
        
        GC_BassCompLevelCable.registerCallback(function(value)
        {
            // do something
        }, false);
        
        GC_ExciterLevelCable.registerCallback(function(value)
        {
            // do something
        }, false);
        

        And showing properly:

        Screenshot 2025-03-01 at 12.58.27.png

        Screenshot 2025-03-01 at 13.00.30.png

        Some related posts:
        https://forum.hise.audio/topic/10633/global-cable-not-working-in-compiled-vst/17
        https://forum.hise.audio/topic/10724/global-cable-bug/2

        Quick recap:

        • They are always working with ScriptFX
        • They may (rarely) connect with HardcodedFX

        I can send over to you my project if it can help to track down the issue as I am really stuck with this, and to my knowledge, this is the only way to get a value from a compiled DLL back to the UI.

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

        HISEnbergH griffinboyG 2 Replies Last reply Reply Quote 1
        • HISEnbergH
          HISEnberg @ustk
          last edited by

          @griffinboy sounds very familiar.

          @ustk I had this happen very recently to me (it's quite stressful). I forget what I did (if I even did anything), but I managed to get them working again. Just wondering if you clear them from the network, compile the network, add them back in (perhaps with new slot names), does that work for you? Still that would only be a temporary solution, it would be nice to get the bug fixed.

          ustkU 1 Reply Last reply Reply Quote 2
          • griffinboyG
            griffinboy @ustk
            last edited by

            @ustk

            This happened to me on a large project. I haven't recovered it yet. My idea was to start from scratch and slowly recreate everything until I discover the issue.

            A massive pain for a huge project. I can't offer any help yet as I haven't done it, but that was the only thing I could think to do next, as we tried everything else.

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

              @HISEnberg @griffinboy Thanks guys

              Yeah I tried all of those, and much more. Removed modules, changed node IDs, deleted cables, cleaned binary folders entirely, even moved the code to the beginning of the onInit script to be sure cables are created asap, tried with broadcaster and cable callbacks...
              But none of those gave a satisfying result. They can rarely connect, most of the time they cannot, with no clue on the differences that brings these different results...

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

              griffinboyG 1 Reply Last reply Reply Quote 1
              • griffinboyG
                griffinboy @ustk
                last edited by

                @ustk

                Oh dear xD
                That doesn't bode well for the work I was planning to do in the future to mix my project.

                Global cables have been a bit broken-ish for a long while.

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

                  @griffinboy @HISEnberg @Christoph-Hart Alright guys, so I've been TOTALLY FOOLED by this sunny Sunday! It appears the issue DOES NOT come from Global Cables.
                  They are triggering the callbacks but the value is so tiny (e-17 exponent value at most...) that I couldn't see anything. Yeah in fact I could if I would have printed the value at the right moment but I was so blind trying different things... Arffff...

                  For some reasons, it's the Enveloppe Follower that does not modulate the Global Cable once compiled!
                  Everything is up and running when using the network, but the DLL makes the Enveloppe Follower silent...

                  Here are screenshots in order of appearance (, and UI with HardcodedFX)

                  Script FX Network
                  GlobalCable_network.gif

                  ScriptUI with ScriptFX
                  GlobalCable_ScriptFX.gif

                  ScriptHardcodedFX Module
                  GlobalCable_HardcodedFX_Module.gif

                  ScriptUI with HardcodedFX
                  GlobalCable_HardcodedFX.gif

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

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

                    Alright so I finally have good news! I can confirm the Global Cables are indeed working, so I solved my problem by removing the modulation connection from the Attack of the Enveloppe Follower.
                    As soon as it is connected to a modulator, it refuses to work in a DLL

                    But connected straight to a Parameter it does work:

                    Screenshot 2025-03-02 at 17.19.11.png

                    @Christoph-Hart Any idea about what could cause this issue?

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

                    griffinboyG 1 Reply Last reply Reply Quote 1
                    • ustkU ustk marked this topic as a question on
                    • ustkU ustk has marked this topic as solved on
                    • griffinboyG
                      griffinboy @ustk
                      last edited by griffinboy

                      @ustk

                      Ah great that it's starting to work!. In my project, it actually works when freshly compiled, but if you save and reload the project its broken! I haven't checked on the project in a few months, so perhaps its time for me to reconfirm... It possible my issue has been resolved.

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

                        @griffinboy It's stable here, finger crossed it'll work on your side! 🤞

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

                        orangeO 1 Reply Last reply Reply Quote 1
                        • orangeO
                          orange @ustk
                          last edited by

                          @ustk I wonder, what is the reason for modulating the envelope follower's attack?

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

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

                            @orange Well it’s not modulation per say as a matter of time modification but it was just connected to a control so I could chose between two constant values. But this two states switch is still seen as "modulation" by Hise

                            I've just encountered the problem again in another network so I opened an issue on GitHub

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

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

                            11

                            Online

                            1.8k

                            Users

                            12.1k

                            Topics

                            105.6k

                            Posts