HISE Logo Forum
    • Categories
    • Register
    • Login

    Crashing trying to compile Scriptnode dll

    Scheduled Pinned Locked Moved General Questions
    17 Posts 5 Posters 551 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 @d.healey
      last edited by

      @d-healey just one -

      I have just created a whole new project and tried to compile the faust network I built for the compressor - with the associated code..

      and it fails to complete the compile process...

      so the process is:

      1. create a new project
      2. add a script FX
      3. add a single core.faust node
      4. create a faust file to edit
      5. copy in this code:
      // Faust Source File: compTest
      // Created with HISE on 2023-02-15
      import("stdfaust.lib");
      
      
      //strength: strength of the compression (0 = no compression, 1 means hard limiting, >1 means over-compression)
      strength = hslider("Strength", 0, 0, 1, 0.01);
      //thresh: dB level threshold above which compression kicks in
      thresh = hslider("Thresh", 0, -60, 0, 0.1);
      //att: attack time = time constant (sec) when level & compression going up
      att = hslider("Attack", 0, 0, 2, 0.01);
      //rel: release time = time constant (sec) coming out of compression
      rel = hslider("Release", 0, 0, 3, 0.01);
      //knee: a gradual increase in gain reduction around the threshold: below thresh-(knee/2) there is no gain reduction, above thresh+(knee/2) there is the same gain reduction as without a knee, and in between there is a gradual increase in gain reduction.
      knee = hslider("knee", 0, 0, 8, 0.1);
      //prePost: places the level detector either at the input or after the gain computer; this turns it from a linear return-to-zero detector into a log domain return-to-threshold detector
      //prePost = hslider("Mode", 0, 0, 1, 1);
      //link: the amount of linkage between the channels. 0 = each channel is independent, 1 = all channels have the same amount of gain reduction
      //link = hslider("Link", 0, 0, 1, 0.01);
      
      compress(left,right) = left,right : co.RMS_compression_gain_N_chan(strength,thresh,att,rel,knee,1,0,2) : *(left), *(right);
      
      process = compress;
      

      and compile it...

      1. set the node to be compile-able
      2. save the node
      3. Run the "compile DSP networks as DDL"
      4. Review (your single) list of nodes to be compiled
      5. run the compile
      • at this point it either crashes HISE, or falls out of the compile before finishing (you never see the "Generating code..." message)

      HISE Development for hire.
      www.channelrobot.com

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

        Could be something faust specific, I have no idea though.

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

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

          @d-healey if you have the time could you try these steps and see if it happens for you?

          HISE Development for hire.
          www.channelrobot.com

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

            @Lindon I followed the same steps to build this compressor. HISE doesn't crash but I'm getting this error :

            d:\-- dev --\hise\github repo\hise\hi_dsp_library\snex_basics\snex_types.h(1047): error C2148: la taille totale du tabl
            eau ne doit pas dépasser 0x7fffffff octets (compilation du fichier source ..\..\Source\Main.cpp) [D:\-- DEV --\HISE\Git
            Hub Repo\Script-Library\FAUST Comp\DspNetworks\Binaries\Builds\VisualStudio2017\FAUST Comp_DynamicLibrary.vcxproj]
            

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

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

              @Lindon I got it to compile correctly. I just tried and changed some Attack/Release slider values.... And it seem to have solved the issue :

              // Faust Source File: compTest
              // Created with HISE on 2023-02-15
              import("stdfaust.lib");
              
              
              //strength: strength of the compression (0 = no compression, 1 means hard limiting, >1 means over-compression)
              strength = hslider("Strength", 0, 0, 1, 0.01);
              //thresh: dB level threshold above which compression kicks in
              thresh = hslider("Thresh", 0, -60, 0, 0.1);
              //att: attack time = time constant (sec) when level & compression going up
              att = hslider("Attack", 0.03, 0.01, 1, 0.01);
              //rel: release time = time constant (sec) coming out of compression
              rel = hslider("Release", 0.05, 0.01, 1, 0.01);
              //knee: a gradual increase in gain reduction around the threshold: below thresh-(knee/2) there is no gain reduction, above thresh+(knee/2) there is the same gain reduction as without a knee, and in between there is a gradual increase in gain reduction.
              knee = hslider("knee", 0, 0, 8, 0.1);
              //prePost: places the level detector either at the input or after the gain computer; this turns it from a linear return-to-zero detector into a log domain return-to-threshold detector
              //prePost = hslider("Mode", 0, 0, 1, 1);
              //link: the amount of linkage between the channels. 0 = each channel is independent, 1 = all channels have the same amount of gain reduction
              //link = hslider("Link", 0, 0, 1, 0.01);
              
              compress(left,right) = left,right : co.RMS_compression_gain_N_chan(strength,thresh,att,rel,knee,1,0,2) : *(left), *(right);
              
              process = compress;
              

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

              LindonL 1 Reply Last reply Reply Quote 2
              • LindonL
                Lindon @Matt_SF
                last edited by

                @Matt_SF thanks but I'm getting the same error you were getting even with these new values ...

                d:\hise\hi_dsp_library\snex_basics\snex_types.h(1047): error C2148: total size of array must not exceed 0x7fffffff byte
                s (compiling source file ..\..\Source\Main.cpp) [F:\Audio\Channel Robot\Hise_Work\DuoToneCompressor\DspNetworks\Binarie
                s\Builds\VisualStudio2017\DuoToneCompressor_DynamicLibrary.vcxproj]
                

                HISE Development for hire.
                www.channelrobot.com

                Matt_SFM 2 Replies Last reply Reply Quote 0
                • Matt_SFM
                  Matt_SF @Lindon
                  last edited by

                  @Lindon that's very bizarre.... Did you embed the dsp Network or did you create a network file? I did the latter

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

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

                    @Lindon and I reloaded HISE after changing the code

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

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

                      @Matt_SF yeah so did I..

                      I did make it compile it seems it doesnt like changing these lines:

                      
                      att = hslider("Attack", 0.03, 0.01, 1, 0.01);
                      
                      rel = hslider("Release", 0.05, 0.01, 1, 0.01);
                      
                      

                      to this:

                      
                      att = hslider("Attack", 0.03, 0.01, 2, 0.01);
                      
                      rel = hslider("Release", 0.05, 0.01, 5, 0.01);
                      
                      

                      So all I have done is increase the max value of these controls, from 1 to 2 and 1 to 5...but that crashes the compile and (often) crashes HISE...

                      @Christoph-Hart ..... this is one for you I think....

                      HISE Development for hire.
                      www.channelrobot.com

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

                        @Lindon nope that‘s faust related, it complains because your prolongued time ranges exceed the max array size for some internal buffering.

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

                          @Christoph-Hart Ok thanks - I was hoping for a much longer set of values for attack and release but hey ---

                          HISE Development for hire.
                          www.channelrobot.com

                          1 Reply Last reply Reply Quote 0
                          • S
                            sletz
                            last edited by

                            @Christoph-Hart what kind of " internal buffering" ?

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

                            23

                            Online

                            1.8k

                            Users

                            12.1k

                            Topics

                            104.9k

                            Posts