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

      Oh, and I should mention that its not all the cables.
      For instance I have two in a network where the first is working and not the second... So it's definitely a "lost connection" thing... I'll try to investigate the .h exported network but I doubt being able to find anything...

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

      ustkU 1 Reply Last reply Reply Quote 0
      • 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

                              29

                              Online

                              1.8k

                              Users

                              12.1k

                              Topics

                              105.5k

                              Posts