HISE Logo Forum
    • Categories
    • Register
    • Login

    Adventures in ScriptNode - compiling nodes (part 2)

    Scheduled Pinned Locked Moved General Questions
    18 Posts 4 Posters 320 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.
    • LindonL
      Lindon
      last edited by

      OK so I have the same "network" deployed a number of times in my project like this:

      5b795b00-92c7-4a21-955b-55d6a6a63ebc-image.png

      -- see those components called "BitRed_" or "Dirt_"

      In each case they are duplications of the same network ("BitRed01" and "DirtModule" in these cases...)

      So we come to(wards) compilation, do I need to set "Allow Compilation" on each network separately? Or will HISE work it out somehow?

      HISE Development for hire.
      www.channelrobot.com

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

        @Lindon You only need one copy of the network (XML), compile it to DLL, then load it into multiple hardcoded fx modules.

        LindonL 1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @d.healey
          last edited by Lindon

          @d-healey yeah-- i keep hearing this term without and documentation or even explanation

          "hardcoded fx modules"

          -- i fact Im stilll very confused...every time I try to compile one of these networks it seems to make a DDL called .dll so I cant see how I get multiple different compiled networks into my project

          HISE Development for hire.
          www.channelrobot.com

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

            @Lindon I think I should make a video :)

            When you compile your network, every single XML in your project that had allow compilation enabled will be compiled into a single DLL. Then you restart HISE and add a hardcoded fx module to your module tree and your network should be available from within it's drop down.

            The hardcoded fx is basically a slot effect for compiled script node effects.

            LindonL 1 Reply Last reply Reply Quote 1
            • LindonL
              Lindon @d.healey
              last edited by Lindon

              @d-healey - yeah but really really no, no no...

              First this sort of runs contrary to your first post, but even then....

              look at the image I posted above. I'm using a network called DirtModule, and I'm using it in 4 different places (basically each "listening" on a stereo pair 1&2, 3&4, 5&6, 7&8)....then I'm using a network called "distortionModule" and again its used 4 times, (again to "listen" to the channel I want it to be (optionally enabled) on).

              So perhaps your approach makes sense to you but what you said doesnt make sense to me - t-shirt time perhaps...

              oh hang on - perhaps its this:

              lets say I make the first Dirt module "Allow Compile" and the first "Distortion" module "Allow Compile.

              Then I run the compile, it makes a single DLL - but this DDL Contains both my networks, and I get to load them with the HardCodedmasterFX

              -- is that it?

              HISE Development for hire.
              www.channelrobot.com

              d.healeyD Christoph HartC 2 Replies Last reply Reply Quote 0
              • d.healeyD
                d.healey @Lindon
                last edited by

                @Lindon I'll try to find a bit of time to make a video this evening, can you send me a couple of your networks or a snippet to demonstrate with?

                LindonL 1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart @Lindon
                  last edited by

                  @Lindon If its the same module but just with different (public) parameters, then you just need to create three different networks (one shaper, one bitcrusher and one distorter), compile them to the dll and then create 12 hardcoded FX modules where you load up the corresponding network.

                  That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.

                  LindonL Matt_SFM 3 Replies Last reply Reply Quote 0
                  • LindonL
                    Lindon @Christoph Hart
                    last edited by

                    @Christoph-Hart said in Adventures in ScriptNode - compiling nodes (part 2):

                    @Lindon If its the same module but just with different (public) parameters, then you just need to create three different networks (one shaper, one bitcrusher and one distorter), compile them to the dll and then create 12 hardcoded FX modules where you load up the corresponding network.

                    That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.

                    -- yeah merging them is one approach but then I need to have everybody in separate soft-bypass containers, and have separate bypass params for each - so the number of params gets out of control pretty quickly...

                    HISE Development for hire.
                    www.channelrobot.com

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

                      @Christoph-Hart said in Adventures in ScriptNode - compiling nodes (part 2):

                      @Lindon If its the same module but just with different (public) parameters, then you just need to create three different networks (one shaper, one bitcrusher and one distorter), compile them to the dll and then create 12 hardcoded FX modules where you load up the corresponding network.

                      That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.

                      so let me see if I get this right...from where I am above....

                      for a single bitcrusher module, and a single distortion module I set them to Allow Compile...

                      I run the compile to get a DLL,

                      then I go round replacing each ScriptNodeFX with a HardCodedMasterFX, and select my required network from the drop down list?

                      HISE Development for hire.
                      www.channelrobot.com

                      1 Reply Last reply Reply Quote 1
                      • LindonL
                        Lindon @d.healey
                        last edited by

                        @d-healey said in Adventures in ScriptNode - compiling nodes (part 2):

                        @Lindon I'll try to find a bit of time to make a video this evening, can you send me a couple of your networks or a snippet to demonstrate with?

                        -- sent you a snippet....

                        HISE Development for hire.
                        www.channelrobot.com

                        1 Reply Last reply Reply Quote 1
                        • Matt_SFM
                          Matt_SF @Christoph Hart
                          last edited by Matt_SF

                          @Christoph-Hart said in Adventures in ScriptNode - compiling nodes (part 2):

                          That being said, it's probably smarter to merge them all into one FX per band, but that would just be my preferred design and I don't know the rest of the project and how you interact with the modules.

                          @Christoph-Hart In your opinion, what would be the best way to do it : one FX per band as you said or only one FX with an insane amount of parameters ? (because why not ?)

                          Develop branch
                          Win10 & VS17 / Ventura & Xcode 14. 3

                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @Matt_SF
                            last edited by

                            @Matt_SF cpu wise it might be a bit more efficient to have them all in one FX but from a development perspective I would choose the layout with the least amount of redudancy which would be the one FX per band approach.

                            Matt_SFM 1 Reply Last reply Reply Quote 0
                            • Matt_SFM
                              Matt_SF @Christoph Hart
                              last edited by

                              @Christoph-Hart noted 👍thank you!

                              Develop branch
                              Win10 & VS17 / Ventura & Xcode 14. 3

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

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey
                                  last edited by

                                  @Lindon I've just put a video up on Patreon https://www.patreon.com/posts/how-to-compile-72159610?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator

                                  Christoph HartC LindonL 2 Replies Last reply Reply Quote 5
                                  • Christoph HartC
                                    Christoph Hart @d.healey
                                    last edited by

                                    Great video. Just a minor remark: you don't have to press Escape anymore to get to the root properties, I've tucked them under the node-specific properties so they should be accessible when a node is selected too - it was super-bad UX having to press escape so that the green thing goes away...)

                                    d.healeyD 1 Reply Last reply Reply Quote 2
                                    • d.healeyD
                                      d.healey @Christoph Hart
                                      last edited by

                                      @Christoph-Hart Aha that's good to know! I will cut that part out before making the public video.

                                      1 Reply Last reply Reply Quote 0
                                      • LindonL
                                        Lindon @d.healey
                                        last edited by

                                        @d-healey said in Adventures in ScriptNode - compiling nodes (part 2):

                                        @Lindon I've just put a video up on Patreon https://www.patreon.com/posts/how-to-compile-72159610?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator

                                        yep - great video. Well done. Thanks...

                                        HISE Development for hire.
                                        www.channelrobot.com

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

                                        61

                                        Online

                                        1.7k

                                        Users

                                        11.7k

                                        Topics

                                        101.7k

                                        Posts