HISE Logo Forum
    • Categories
    • Register
    • Login

    Faust is here...

    Scheduled Pinned Locked Moved Faust Development
    96 Posts 21 Posters 13.3k 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.
    • Matt_SFM
      Matt_SF
      last edited by

      Great job @Christoph-Hart @sletz @etXzat !!! Thank you very much for all the effort!

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

      DanHD 1 Reply Last reply Reply Quote 0
      • DanHD
        DanH @Matt_SF
        last edited by

        @Christoph-Hart just tried building on osx and this popped up and failed:

        Screenshot 2022-10-12 at 14.04.35.png

        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
        https://dhplugins.com/ | https://dcbreaks.com/
        London, UK

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

          @DanH Have you installed faust and setup the include directories like described in the build instructions?

          DanHD 1 Reply Last reply Reply Quote 0
          • DanHD
            DanH @Christoph Hart
            last edited by DanH

            @Christoph-Hart oops - do I need to do that even if I don't want to use faust right now?

            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
            https://dhplugins.com/ | https://dcbreaks.com/
            London, UK

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

              @DanH actually no that was an oversight - the idea is that there is absolutely no overhead unless you want to use Faust, then you're in a world of pain setting up all those include paths :)

              Try again, it should now build without faust.

              DanHD 1 Reply Last reply Reply Quote 1
              • DanHD
                DanH @Christoph Hart
                last edited by

                @Christoph-Hart thanks!

                DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                https://dhplugins.com/ | https://dcbreaks.com/
                London, UK

                1 Reply Last reply Reply Quote 0
                • hisefiloH
                  hisefilo @Christoph Hart
                  last edited by

                  @Christoph-Hart OMG this is awesome. Thanks Christoph

                  1 Reply Last reply Reply Quote 0
                  • lalalandsynthL
                    lalalandsynth @Christoph Hart
                    last edited by

                    @Christoph-Hart This is crazy !

                    https://lalalandaudio.com/

                    https://lalalandsynth.com/

                    https://www.facebook.com/lalalandsynth

                    https://www.facebook.com/lalalandsynth

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

                      @etXzat and @Christoph-Hart did most of the hard work of "inside HISE" integration and they have to be thanked for that.

                      On the Faust side, the project adds to the existing ecosystem (https://faust.grame.fr/community/made-with-faust/) and we are quite happy with that :beaming_face_with_smiling_eyes:

                      @etXzat or @Christoph-Hart do you have a nice screenshot we could add on the https://faust.grame.fr/community/made-with-faust/ page?

                      1 Reply Last reply Reply Quote 5
                      • P
                        ps
                        last edited by

                        What an awesome addition! Thanks for all the effort.
                        So I compiled Hise with Faust enabled and made a Faust node in Scriptnode using the reverb example (in a dry/wet split node) - it compiled inside scriptnode like a charm and sounds just great :)
                        To make sure everything works as expected in a compiled plugin I at first compiled as an FX Plugin with leaving the network "open" - it compiled without errors. (AU Mac M1) but inside the DAW the test plugin showed but the reverb was not audible, like if the node was bypassed.
                        So I tried compiling the network as .dll first. Once I hit the compile button HISE instantly crashed and also the HISE preset crashes instantly now when I try to open it again.
                        Did I miss something?
                        Thanks for the help!

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

                          but inside the DAW the test plugin showed but the reverb was not audible, like if the node was bypassed.

                          This is expected behavior - the faust JIT compiler is not part of an exported plugin, so it will be replaced by a dummy node. However I can add an error message that will complain if you trying to export a plugin with a non-compiled faust node (I have a system for this in place for other nodes like SNEX nodes and expression nodes so it shouldn't be too much effort).

                          Once I hit the compile button HISE instantly crashed and also the HISE preset crashes instantly now when I try to open it again.

                          This isn't expected behaviour :)

                          Can you run a debug build of HISE to see the stack trace where it crashes? Run HISE with the Xcode debugger which should point you to the stack location causing the crash.

                          GoodflowG StraticahS 2 Replies Last reply Reply Quote 1
                          • GoodflowG
                            Goodflow @Christoph Hart
                            last edited by

                            @Christoph-Hart not op but having the same problem on an Intel Mac ( OSX 12.5.1/ Xcode 13.1), so hopefully this helps. I printed a full stack trace after replicating the error in Xcode debug and found this:

                            * thread #32, name = 'Compile DSP networks', stop reason = EXC_BAD_ACCESS (code=2, address=0x70000e940ce0)
                              
                              frame #0: 0x0000000121179549 libfaust.2.dylib`SignalPromotion::transformation(CTree*) + 25
                            

                            and this

                            * frame #289: 0x0000000110679c6b HISE Debug`faust::generateAuxFilesFromFile(filename="/Users/me/vstproject/DspNetworks/CodeLibrary/faust/freverb.dsp", argc=17, argv=0x0000600000b2f810, error_msg="") at libfaust.cpp:15:10
                            

                            First time debugging, so apologies if this isn't the needed info. Loving the results of Faust in Scriptnode, can't wait to start implementing hardcoded effects!

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

                              Hmmm, actually I can reproduce that here too (with the re.jpverb example I posted above) and it crashes inside the Faust dll. I wrote this on Windows where it didn't crash, but it seems to reliably bring down macOS.

                              It's also always in SignalPromotion::transformation(CTree*), and it crashes whenever generateAuxFilesFromFile() is called (so it also crashes when clicking on the SVG graph popup button)

                              @sletz is this a known issue in Faust?

                              Also for the sake of readability I would suggest to create seperate topics about these kind of technical issues and leave this thread to rather generic discussions about Faust - remember we have a new subforum for Faust :)

                              S 1 Reply Last reply Reply Quote 1
                              • S
                                sletz @Christoph Hart
                                last edited by sletz

                                @Christoph-Hart This is not a known problem. What is the DSP code? Do you have the full log? (possibly with a debug version of libfaust to get the precise crash line number?)

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

                                  @sletz The exact code I posted above (the example that takes the jpreverb and wraps a few parameters around it.

                                  Link Preview Image
                                  Faust is here...

                                  So as a little teaser that goes beyond hello world: here's a little snippet that includes a much much much better sounding reverb than the stock JUCE / HISE ...

                                  favicon

                                  Forum (forum.hise.audio)

                                  If I load that in HISE, the reverb loads and the JIT compiler works perfectly, but anytime I call generateAuxFilesFromFile (so either when creating the SVG images or when exporting to C++ during the DLL compilation) it always crashes at said location.

                                  I haven't build the libfaust Debug build yet so the stack trace only gives me the last function (might be a good idea going forward though), but it's super easily reproducible on macOS (on Windows it works fine).

                                  • Load up HISE
                                  • create a scriptnode patch
                                  • create a faust node
                                  • paste in the example code, compile

                                  Click on the eye icon which opens the SVG popup. It will create the SVG files for a few seconds, then crash in the method above.

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    ps @Christoph Hart
                                    last edited by

                                    @Christoph-Hart just a quick confirmation from my side - same error in Xcode - I just compiled the compressor demo without problems so it’s def related to```

                                    generateAuxFilesFromFile

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

                                      @ps I cannot reproduce the error here with latest Faust GitHub master-dev branch, on Intel and macOS 10.13 :

                                      • compiled libfaust in shared mode (so make all && sudo make install)
                                      • had to add -lfaust and /use/local/lib in Xcode generated project to properly link the library
                                      • then create a new project ScripNodeFX, faust, copied the jpverb DSP code
                                      • compile so I see the GUI with buttons
                                      • opened the SVG file
                                      • no crash...
                                      P 1 Reply Last reply Reply Quote 0
                                      • S
                                        sletz
                                        last edited by

                                        BTW libfaust can be compiled in debug mode editing this Makefile here: https://github.com/grame-cncm/faust/blob/master-dev/build/Makefile#L52

                                        Having a proper crash log will possibly help.

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

                                          Alright I‘ll try to build the debug version later and check if I can get a stacktrace.

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            ps @sletz
                                            last edited by ps

                                            @sletz hi sletz - compiling the node inside scriptnode works here as well - exporting the node crashes hise. Just to double check - that works on your side as well?

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

                                            45

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.8k

                                            Posts