HISE Logo Forum
    • Categories
    • Register
    • Login

    Multi Instance DAW Crash Issue Guide

    Scheduled Pinned Locked Moved General Questions
    25 Posts 8 Posters 2.4k 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.
    • NatanN
      Natan
      last edited by

      @orange Thank You Orange, I Did All The Testes You Mentioned, And Looks Like I'm In A Safe Side.
      BTW, Play With Your Plugin For More Than A Month At Least, Then Do Release.
      Try As Much Scenarios As You Can, Like Open / Close / Open / Close...
      People Are Doing Crazy Stuffs With Audio Plugin Nowadays, Take A Look At The Video Below:

      1 Reply Last reply Reply Quote 1
      • ulrikU
        ulrik @orange
        last edited by

        @orange Great information, thanks a lot! :)

        Hise Develop branch
        MacOs 15.3.1, Xcode 16.2
        http://musikboden.se

        1 Reply Last reply Reply Quote 1
        • Dan KorneffD
          Dan Korneff
          last edited by

          @orange said in Multi Instance DAW Crash Issue Guide:

          Instead, use as jpeg

          Are we able to use JPG? I thought PNG was the only option.

          Dan Korneff - Producer / Mixer / Audio Nerd

          1 Reply Last reply Reply Quote 0
          • Dan KorneffD
            Dan Korneff
            last edited by

            just tried... it worked

            Dan Korneff - Producer / Mixer / Audio Nerd

            1 Reply Last reply Reply Quote 1
            • S
              Sawer @orange
              last edited by

              @orange Thanks for this. Is there a way to create custom knobs with Hise (panel.setPaintRoutine) without to use knobman or any other software?

              Thanks

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

                @nesta99 Custom Look and feel, or panels and paint routines.

                Jpeg/png shouldn't make a difference because they'll both end up as bitmap.

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

                S 1 Reply Last reply Reply Quote 0
                • S
                  Sawer @d.healey
                  last edited by

                  @d-healey Ok, thanks so much! Will be working o this today.

                  1 Reply Last reply Reply Quote 0
                  • FortuneF
                    Fortune
                    last edited by Fortune

                    Thank you man for this great guide 👍 👏 👑 Amazingly useful!!!!

                    Like you've suggested, for test purpose I removed some setattributes in my code and the crash issue almost fixed interestingly. Why is this happenning?

                    orangeO 1 Reply Last reply Reply Quote 1
                    • S
                      Sawer
                      last edited by Sawer

                      It will be awsome if you end up using Panels, Paint Routines and Custom Look and feel for EVERYTHING (animations, knobs, callback animations etc), so that you won't relay anymore on images or rlottie and other 2D/3D softwares graphic softwares.

                      Just like Web UI, UX interactions. Can this be possible in future or its already possible with more tests and knowing HiseScript? Just a curiosity

                      1 Reply Last reply Reply Quote 1
                      • orangeO
                        orange @Fortune
                        last edited by

                        @Fortune said in Multi Instance DAW Crash Issue Guide:

                        Like you've suggested, for test purpose I removed some setattributes in my code and the crash issue almost fixed interestingly. Why is this happenning?

                        I remember @Christoph-Hart was saying that is about the moodycamel queue that shares the same UI thread. So it is more open to clogging in multi-instances and because of this too many messages situation.

                        develop Branch / XCode 13.1
                        macOS Monterey / M1 Max

                        1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff @orange
                          last edited by Dan Korneff

                          @orange said in Multi Instance DAW Crash Issue Guide:

                          Number one cause is the amount of used setAttribute APIs

                          @orange @Christoph-Hart does this also include setValue()? If not, I might use scripts to set the value of panels, and then us the Panel Property Editor to assign Processor/Parameter IDs.
                          Can panels even do that?...

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          orangeO 1 Reply Last reply Reply Quote 2
                          • L
                            LeeC
                            last edited by

                            @orange @Christoph-Hart
                            I know it depends, but is there a ballpark number for the amount of setAttributes we should be using simultaneously?

                            Also, would using the showControl instead of set("visible",value); to toggle visibility of components help to avoid crashes aswell?

                            d.healeyD orangeO 2 Replies Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @LeeC
                              last edited by

                              This sounds fishy to me. Setting attributes shouldn't be causing any issues. I suspect there are other problems with the scripts.
                              Are you setting attributes only in deferred scripts?
                              Are you setting attributes in MIDI callbacks or timers?

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

                              orangeO Dan KorneffD 2 Replies Last reply Reply Quote 0
                              • orangeO
                                orange @Dan Korneff
                                last edited by orange

                                @dustbro said in Multi Instance DAW Crash Issue Guide:

                                @orange said in Multi Instance DAW Crash Issue Guide:

                                Number one cause is the amount of used setAttribute APIs

                                @orange @Christoph-Hart does this also include setValue()? If not, I might use scripts to set the value of panels, and then us the Panel Property Editor to assign Processor/Parameter IDs.
                                Can panels even do that?...

                                Since generally I use setAttributes, I haven't made experiments with setValue() & Panels.

                                But setValue should be ok I think.

                                develop Branch / XCode 13.1
                                macOS Monterey / M1 Max

                                1 Reply Last reply Reply Quote 0
                                • orangeO
                                  orange @LeeC
                                  last edited by orange

                                  @LeeC said in Multi Instance DAW Crash Issue Guide:

                                  @orange @Christoph-Hart
                                  I know it depends, but is there a ballpark number for the amount of setAttributes we should be using simultaneously?

                                  Also, would using the showControl instead of set("visible",value); to toggle visibility of components help to avoid crashes aswell?

                                  I haven't seen any issues yet with using too many showControl or set("visible")... stuff. For multi-instance crash you need to make experiments with beta testers.

                                  develop Branch / XCode 13.1
                                  macOS Monterey / M1 Max

                                  1 Reply Last reply Reply Quote 0
                                  • orangeO
                                    orange @d.healey
                                    last edited by orange

                                    @d-healey said in Multi Instance DAW Crash Issue Guide:

                                    This sounds fishy to me. Setting attributes shouldn't be causing any issues. I suspect there are other problems with the scripts.

                                    It's been covered here by @Christoph-Hart befrore: https://forum.hise.audio/topic/2826/debugging-with-reaper/25

                                    You can use as many setAttributes as you can, it's not a problem on most systems. But the issue is "Multi Instance DAW Crash" in "Some Systems".

                                    That doesn't mean it happens in all computers. But if you see this in a computer, it will do that crash in all DAWs :) You know what: while I haven't seen any multi instance crash in my 7 years old laptop, some users were repoting this issue to me. Honestly I couldn't replicate it. Then I got a new Intel 10th generation i9, 128GB RAM, 12GB NVidia 2080Ti computer, then guess what: it crashes for 5 plugins :) Same plugin, new system.

                                    Are you setting attributes only in deferred scripts?

                                    Yeah, I am using it in main interface script only. But the issue happens also with the plugin that uses only One Timer Object (100ms - on preset label only). Whole plugin is a Parametric eq, ShapeFX and setAttributes. Nothing more. I can open 20 instances in old pc, but crash for 5 instances in new one :) Crash reporting beta testers see the multi instance crash too.

                                    This is more interesting, when the deferring callbacks are disabled, sometimes crash reduces :)

                                    Are you setting attributes in MIDI callbacks or timers?

                                    No.

                                    develop Branch / XCode 13.1
                                    macOS Monterey / M1 Max

                                    1 Reply Last reply Reply Quote 0
                                    • Dan KorneffD
                                      Dan Korneff @d.healey
                                      last edited by

                                      @d-healey said in Multi Instance DAW Crash Issue Guide:

                                      Are you setting attributes only in deferred scripts?

                                      Synth.deferCallbacks(true);
                                      

                                      This is the second line on my onInit. I don't need to call this on my separate "include" scripts, right? Those should be considered part of the Interface script.

                                      Dan Korneff - Producer / Mixer / Audio Nerd

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

                                        @dustbro Correct.

                                        Could someone create a minimal example project that consistently demonstrates the issue?

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

                                        1 Reply Last reply Reply Quote 0
                                        • orangeO
                                          orange
                                          last edited by

                                          Updated. Added "else if" statements.

                                          develop Branch / XCode 13.1
                                          macOS Monterey / M1 Max

                                          NatanN 1 Reply Last reply Reply Quote 1
                                          • NatanN
                                            Natan @orange
                                            last edited by

                                            @orange Thank you sir, and what's about

                                            Synth.deferCallbacks(true);
                                            

                                            Is this something that can help?
                                            and is this works in FX plugins?

                                            Thanks

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

                                            18

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.4k

                                            Posts