HISE Logo Forum
    • Categories
    • Register
    • Login

    Roadmap to HISE 5

    Scheduled Pinned Locked Moved General Questions
    74 Posts 13 Posters 1.6k 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 @Lindon
      last edited by Lindon

      @Christoph-Hart

      damn it again. A quick cursory look and this doesnt seem to resolve the "Note Generator sends Global envelope data to non listening voices" problem....

      HISE Development for hire.
      www.channelrobot.com

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

        @Lindon maybe I should go away and state this problem clearly - there may be another solution...

        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 The note generation must happen one level below the global modulator container. You have to make sure that every voice that receives the global envelope data is started by the same event ID as this is the most robust way of assigning voice indexes.

          So if you have this setup:

          master chain
             global modulator container
                AHDSR
             sine generator
                Arpeggiator
                GlobalEnvelope / MatrixModulator
          

          it will not work because the arpeggiator will produce new events where the global modulator has no idea how to assign that to voices. But if you either move the global container and the sine wave into a new container or move the arpeggiator to the root level it should work correctly.

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

            @Christoph-Hart yeah but sadly no _ want the arp to be shared(able) between voices...see my post:

            Link Preview Image
            Global Envelopes - The "filtered" voices problem.

            So I have a problem with Global envelopes...I'd really like to use them, but..in a multi-voice system they are problematic....here's why (perhaps someone kno...

            favicon

            Forum (forum.hise.audio)

            HISE Development for hire.
            www.channelrobot.com

            1 Reply Last reply Reply Quote 0
            • OrvillainO
              Orvillain
              last edited by

              I'm getting a crash when using .setEffect() on a hardcoded polyphonic fx module. I'm doing something like this:

                              modeData["polyRMSlot"] = Synth.getSlotFX(modePath + "_polyRM");
                              modeData["polyRMSlot"].setEffect("polyRingMod");
              

              This is in the context of a loop, and modePath is the prefix of the name string.

              But interestingly, the crash only happens whenever I call Builder.clear()

              IE: On the first run, it doesn't crash. But if I try to rebuild the module tree, then it crashes.

              Going to try to reproduce this in a new project.

              OrvillainO Christoph HartC 2 Replies Last reply Reply Quote 0
              • OrvillainO
                Orvillain @Orvillain
                last edited by Orvillain

                @Orvillain @Christoph-Hart

                Right, I've confirmed this. Here is a demo project. Created on Windows. Not sure if you need to recompile the networks or not.

                Link Preview Image
                BuilderClearTest.zip

                Shared with Dropbox

                favicon

                Dropbox (www.dropbox.com)

                If you load this, the first time all will be fine. If you then press F5 to recompile the project, it will crash. If you remove the call to setEffect() then it doesn't crash.

                d7678da2-c938-40e4-83c4-fecfdfcb6e26-image.png

                I get a read access violation on:

                if(auto pitchChain = dynamic_cast<ModulatorChain*>(getParentProcessor(true)->getChildProcessor(ModulatorSynth::InternalChains::PitchModulation)))
                

                Details:

                Exception thrown: read access violation.
                hise::Processor::getParentProcessor**(...) returned nullptr.
                

                In this function:

                void HardcodedPolyphonicFX::connectToRuntimeTargets(scriptnode::OpaqueNode& on, bool shouldAdd)
                

                Hopefully that helps resolve the crash!

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

                  Hopefully that helps resolve the crash!

                  Nice one, it should be fixed now. I mean the builder docs says that you have to expect crashes but this is in fact a reproducable one :)

                  IPP

                  I made another attempt at this subject:

                  • IPP on macOS and Linux is completely gonzo. You can use FFTW on Linux and VDSP on macOS (and ARM doesn't even support IPP so that was not very useful anyways).
                  • The USE_IPP flag is now an internal flag and must not be set explicitely in any setting (in fact it will deliberately fail the compilation if it detects it being set from the outside). There are now only two things that determine whether IPP is used (on Windows only):
                  1. In order to compile HISE with IPP support, the projucer setting Exporters -> VS2022 -> Use IPP (One API) must be set to "Static Library". This is the default now so people who want to build HISE without IPP on Windows must turn this off explicitely (readme is updated to reflect this).
                  2. In order to compile your project with IPP, you must have compiled HISE with IPP following step 1 and then set the HISE setting Compiler Settings -> UseIpp to true. If you set this to true without HISE being compiled with IPP, it will throw an error (this is not really required but I think anything that boils down the ridiculous amount of scenarios is a good thing here). If the HISE setting UseIpp is true, it will automatically set the OneAPI setting in the autogenerated project file and subsequently set the internally used USE_IPP flag for the project compilation.
                  d.healeyD OrvillainO 3 Replies Last reply Reply Quote 1
                  • d.healeyD
                    d.healey @Christoph Hart
                    last edited by d.healey

                    @Christoph-Hart said in Roadmap to HISE 5:

                    IPP on macOS and Linux

                    Why not on Linux? It works well here. FFTW is only suitable for GPL projects.

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

                    Christoph HartC 1 Reply Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart @d.healey
                      last edited by

                      @d-healey Is there a single non GPL project on Linux?

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • OrvillainO
                        Orvillain @Christoph Hart
                        last edited by Orvillain

                        @Christoph-Hart

                        Thanks for the fix! I'll check it, but I'm seeing this now:

                        03876c5b-3884-428e-b9a1-9a70538b0c40-image.png

                        Is that meant to be a comment, or a jassert or something???

                        Oh wait, I think I get you now. I need to remove use_ipp..... brb....

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

                          @Orvillain nope that's expected. If you hit this thing, it means that you have somewhere defined USE_IPP to a value which causes all the weird stuff you're experiencing. Check all preprocessor definitions

                          OrvillainO 1 Reply Last reply Reply Quote 1
                          • OrvillainO
                            Orvillain @Christoph Hart
                            last edited by Orvillain

                            @Christoph-Hart Yeppers! I just misread your previous post. Doh.

                            Compiling now. Will let you know about the crash fix.

                            BTW - I love the Builder! I don't know how many people are using it, but for doing repeated patterns in the module tree, it is a life saver!

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

                              @Christoph-Hart said in Roadmap to HISE 5:

                              Is there a single non GPL project on Linux?

                              Not sure, but if you remove IPP from Linux you guarantee that fewer developers will make their plugins Linux compatible.

                              Although I don't use proprietary plugins myself I know a lot of Linux users are crying out for more developers of proprietary plugins to support Linux.

                              HISE makes it really easy to support Linux so unless there is some good reason to remove IPP I think it's worth keeping.

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

                              1 Reply Last reply Reply Quote 2
                              • OrvillainO
                                Orvillain @Christoph Hart
                                last edited by

                                @Christoph-Hart said in Roadmap to HISE 5:

                                Nice one, it should be fixed now. I mean the builder docs says that you have to expect crashes but this is in fact a reproducable one :)

                                Right, yep !! This looks fixed.

                                If you want another crash to investigate, if you have the hardcoded fx window open at the time you recompile, it will crash. I'm guessing there's some GUI code somewhere that gets a bad pointer.

                                1 Reply Last reply Reply Quote 0
                                • ustkU
                                  ustk @clevername27
                                  last edited by ustk

                                  @clevername27 said in Roadmap to HISE 5:

                                  @Christoph-Hart Meanwhile, I was fired by all three clients because of HISE bugs and secret ScriptNode documentation. sigh

                                  Same... I have one that is crashing some customer hosts and I can't seems to find why. simple stuff, no modulation inside, just scriptnode, faust and third party C++. Hopefully this will be fixed one day, but without a proper investigation chances are very thin...

                                  Don't want to troll the thread that been said! But might worth to speak about that again during the meetup ☺

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

                                  Christoph HartC OrvillainO clevername27C 3 Replies Last reply Reply Quote 1
                                  • Christoph HartC
                                    Christoph Hart @ustk
                                    last edited by Christoph Hart

                                    @ustk Have you tried this:

                                    Link Preview Image
                                    HISE | Glossary | Crash reporting

                                    Ensure that you get meaningful crash reports

                                    favicon

                                    (docs.hise.audio)

                                    ustkU 1 Reply Last reply Reply Quote 0
                                    • OrvillainO
                                      Orvillain @ustk
                                      last edited by

                                      @ustk said in Roadmap to HISE 5:

                                      @clevername27 said in Roadmap to HISE 5:

                                      @Christoph-Hart Meanwhile, I was fired by all three clients because of HISE bugs and secret ScriptNode documentation. sigh

                                      Same... I have one that is crashing some customer hosts and I can't seems to find why. simple stuff, no modulation inside, just scriptnode, faust and third party C++. Hopefully this will be fixed one day, but without a proper investigation chances are very thin...

                                      Don't want to troll the thread that been said! But might worth to speak about that again during the meetup ☺

                                      Don't want you to try to teach you to suck eggs, but have you gotten a project from the user that reliably shows the crash, and slapped a debugger on the host process to find out what is going on?

                                      1 Reply Last reply Reply Quote 0
                                      • ustkU
                                        ustk @Christoph Hart
                                        last edited by

                                        @Christoph-Hart @Orvillain Yeah I did read and pasted here the crash report. Unfortunately I can't reproduce the issue so I can't slap a debugger. Will try more...

                                        Unfortunately when I publish a new version the users need to resync their full library in LogicPro in order to get the plugin to update to the new version, so I can't ask them to do it 10x per day...
                                        This is another issue, as I don't think people have to do this each time they update a single plugin (and one of the customers has more than 1000 plugins...). It's like no matter what you do with the version number, Logic doesn't take it as a new version. But I'm no Logic user so, who knows...

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

                                        OrvillainO 1 Reply Last reply Reply Quote 0
                                        • OrvillainO
                                          Orvillain @ustk
                                          last edited by Orvillain

                                          @ustk

                                          If you can't reproduce the issue, checkout what platform they're on, and make sure their CPU supports all of the instruction sets required. If they're on a really really old machine that doesn't support the relevant SSE and AVX instructions that HISE and JUCE are using (no, I don't know what they are!!) then it's entirely possible that the issue isn't a bug.

                                          Also get all the information about the audio interface, sample-rate, buffer size, etc.

                                          Oh, and Logic is a real butthole when it comes to refreshing or clearing the AUCache - a lot of the time I've had to walk people through doing it manually.

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

                                            Seeing this on Linux when compiling HISE, I don't have USE_IPP in the exporter and it doesn't appear in the makefile.

                                            Still would like IPP restoring on Linux as there is no fallback like on MacOS.

                                            125 | #error "this should not be defined before this so if this error appears, remove USE_IPP from your preprocessor definitions...

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

                                            d.healeyD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            34

                                            Online

                                            1.8k

                                            Users

                                            12.1k

                                            Topics

                                            105.1k

                                            Posts