HISE Logo Forum
    • Categories
    • Register
    • Login

    Compiled Faust node breaks upon being loaded into a multichannel network

    Scheduled Pinned Locked Moved ScriptNode
    7 Posts 2 Posters 258 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.
    • A
      aaronventure
      last edited by aaronventure

      1. I have a multichannel project
      • Master Channel matrix > right click > change channel count
        dc1a7e1a-5234-4be8-a886-79286bae238f-image.png

      I have a ScriptFX instance with all channels mapped

      • Click on matrix, right click, All Channels
        ec923f5a-e73c-4203-a8e7-24c002fbac50-image.png

      In there I have a DSP network. It has a large number of channels (I'm running 32), so I need to split them up to do processing in pairs.

      I have a multi node that does this, with 16 chains in there so every chain gets 2 channels.
      cd734181-a58b-416b-8c39-bde89800ceb8-image.png


      If I load in a stereo faust effect, let's say the tape stop demo

      import("stdfaust.lib");
      process = _,_ : dm.tapeStop_demo : _,_;
      

      It works fine. Just play a note and trigger the stop parameter.


      If I add one more node to the multi, now we don't have exactly two channels for each chain and faust starts complaining because the code is specifying two inputs and outputs.
      c2073767-c659-44ad-8614-14405d413e33-image.png

      Good. This confirms all is good when we have exactly 16 chains in there.


      Since Faust needs to be compiled to work, we have to do that first before using this is a final project. Let's do that. I will:

      • put the faust node into a separate DSP network called Faust Nodes
      • right click any node and set to Allow Compilation
      • Export > Compile DSP Networks so that the node(s) get compiled
      • Restart HISE
      • FInd my compiled Faust node (not the compiled "Faust Nodes" network) in the Project category when adding a new node
      • Add the compiled Faust node to one of my chains in the multichannel network so it can do its thing

      And now we arrive at the problem: the compiled node does not work. Compiled Faust nodes do not complain about channel mismatch, they just stop working. So to make sure all is good, I have my faust node right above the compiled node
      ffc4de5e-9eac-45c0-8757-a43a6d9cb688-image.png

      The uncompiled Faust node works. The compiled doesn't.

      It's not just me, right? Can anyone else confirm this? Thank you.

      A 1 Reply Last reply Reply Quote 0
      • A
        aaronventure @aaronventure
        last edited by aaronventure

        @aaronventure alright, it's definitely a bug. @Christoph-Hart

        Something happens when loading a compiled node into a multichannel network and it breaks. Being able to trick the node into working confirms this.

        • Set the network back to stereo
          495961dd-4fc6-4c82-90b3-6884c1801d69-image.png
        • load in the compiled node
          c71bb89e-34fb-4d8f-9efa-8688b7f3937d-image.png
        • turn the network back into multichannel
          b0006846-d498-4229-8140-b51d3e143abe-image.png
        • move the compiled node into a two-channel chain inside of the multi node
          8ce3a118-ca4f-472f-98f1-e59c0db93af6-image.png
        A 1 Reply Last reply Reply Quote 0
        • A
          aaronventure @aaronventure
          last edited by

          @Christoph-Hart I know you're busy at the moment, but could I please get your take on this? If this can be fixed, I can keep designing the networks with uncompiled Faust nodes and replace them once you get the fix in.

          But if it cannot be fixed, that's a big bummer and I'll have to rethink the entire architecture with multiple ScriptFX instead as multichannel networks would be out of the question. I'd like to know this before I sink a week into it.

          Thanks a lot.

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

            @aaronventure it can definitely be fixed, but if you can't wait for me to do this does it help if you wrap the faust FX into a network with the same parameters and then export this?

            I can imagine that the code generator for the faust nodes is not as robust when it comes to the channel API as the scriptnode code generator.

            A 1 Reply Last reply Reply Quote 0
            • A
              aaronventure @Christoph Hart
              last edited by

              @Christoph-Hart Oops, forgot to reply here:

              • Compile Faust node
              • Put compiled Faust node into a network
              • Load network into a multi node

              Same result as when I put in the compiled Faust node itself. The CPU usage is still showing, so the node is definitely doing the processing. It's just not outputting what it should.

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

                @aaronventure That's weird, I've just checked your exact procedure and I can reproduce the issue, however just the first time when I create the multichannel network.

                If I save the multichannel network, then unload the network (and ignore the crash that happens when you try to do this => HISE!), then the compiled faust effect works the next time I load it.

                Might be some order of initialisation issue.

                A 1 Reply Last reply Reply Quote 0
                • A
                  aaronventure @Christoph Hart
                  last edited by

                  @Christoph-Hart definitely something like that, see my second post where you can effectively trick it into working -- the node detects the channel count of the network on load, and doesn't react if the network channel count changes.

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

                  60

                  Online

                  1.7k

                  Users

                  11.7k

                  Topics

                  101.8k

                  Posts