HISE Logo Forum
    • Categories
    • Register
    • Login

    Develop branch cannot support more than 19 scripts

    Scheduled Pinned Locked Moved Bug Reports
    58 Posts 4 Posters 2.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.
    • d.healeyD
      d.healey @d.healey
      last edited by

      First error I get {PROJECT_FOLDER}backgroundBass.png wasn't found. I doubt this is the cause of the crash though.

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

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

        I see some UI updates from the MIDI callback but they haven't been deferred. I don't think this is the cause of the crash either because those callbacks aren't triggered when loading the project, but it might be something to look into.

        I managed to bypass everything in a debug build and I'm able to open it in the release build. Now I'm enabling things bit by bit to see if I can narrow down the crash.

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

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

          @d-healey said in Develop branch cannot support more than 19 scripts:

          backgroundBass.png

          huh -- I cant find a reference to backgroundBass.png anywhere....

          HISE Development for hire.
          www.channelrobot.com

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

            @lindon
            aae55520-434a-48d1-b833-3435dc0c9328-image.png

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

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

              @d-healey said in Develop branch cannot support more than 19 scripts:

              I see some UI updates from the MIDI callback but they haven't been deferred. I don't think this is the cause of the crash either because those callbacks aren't triggered when loading the project, but it might be something to look into.

              I managed to bypass everything in a debug build and I'm able to open it in the release build. Now I'm enabling things bit by bit to see if I can narrow down the crash.

              yep sure -- can you point at them to save me looking for them?

              HISE Development for hire.
              www.channelrobot.com

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

                @lindon said in Develop branch cannot support more than 19 scripts:

                can you point at them to save me looking for them?

                Yep will do.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

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

                  @d-healey meanwhile I'm going in the complete opposite direction and rebuilding from the ground up .....

                  So far I've re-set up all the backend sound sources and fx and rebuilt the UI, I've found:

                  -- only that HISE develop doesn't seem to like Slot FX very much (or copying them around anyway..)

                  HISE Development for hire.
                  www.channelrobot.com

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

                    @lindon said in Develop branch cannot support more than 19 scripts:

                    @d-healey meanwhile I'm going in the complete opposite direction and rebuilding from the ground up .....

                    So far I've re-set up all the backend sound sources and fx and rebuilt the UI, I've found:

                    -- only that HISE develop doesn't seem to like Slot FX very much (or copying them around anyway..)

                    ....and I started adding in the scripts ... leaving the interface script until last....

                    they all work fine right up until I add the rangefilter scripts, and it crashes....

                    Here's the contents of the range filter scripts:

                    const var LowRange = Content.addKnob("LowRange", 0, 0);
                    LowRange.setRange(0, 126, 1);
                    const var HighRange = Content.addKnob("HighRange", 150, 0);
                    HighRange.setRange(1, 127, 1);
                    const var FadeButton = Content.addButton("FadeButton", 300, 12);
                    
                    const var SubMults = [0.7,0.65,0.6,0.5,0.4,0.3,0.25,0.2,0.1,0.05,0.025,0.0125,0.0125];
                    SubMults.reserve(15);
                    
                    function onNoteOn()
                    {
                        //Console.print(Message.getNoteNumber());
                        if (FadeButton.getValue() == 0)
                        {
                            // not fading out strictly cutting off
                            if(Message.getNoteNumber() < LowRange.getValue() || Message.getNoteNumber() > (HighRange.getValue()))
                            {
                                Message.ignoreEvent(true);
                            }
                        }else{
                            //cut things outside the fade ranges...
                            if(Message.getNoteNumber() < LowRange.getValue()-12 || Message.getNoteNumber() > (HighRange.getValue()+12))
                            {
                                // outside everything - just cut.
                    	        Message.ignoreEvent(true);
                            }
                            if (Message.getNoteNumber() > HighRange.getValue() && Message.getNoteNumber() <= (HighRange.getValue()+12))
                            {
                                // in the high range fade range
                                Message.setVelocity(Message.getVelocity()* SubMults[Message.getNoteNumber() - HighRange.getValue()]);
                            }
                            if (Message.getNoteNumber() < LowRange.getValue() && Message.getNoteNumber() >= (LowRange.getValue()-12))
                            {
                                // in the low range fade range
                                Message.setVelocity(Message.getVelocity()* SubMults[LowRange.getValue() - Message.getNoteNumber() ]);
                            }
                            
                        }
                    	    
                    }
                     function onNoteOff()
                    {
                        if (FadeButton.getValue() == 0)
                        {
                            // no fade just cut
                    	    if(Message.getNoteNumber() < LowRange.getValue() || Message.getNoteNumber() > (HighRange.getValue()+12))
                    	        Message.ignoreEvent(true);
                        }else{
                            // is it outside all fading ranges?
                            if(Message.getNoteNumber() < LowRange.getValue()-12 || Message.getNoteNumber() > (HighRange.getValue()+12))
                    	        Message.ignoreEvent(true);
                        }
                    	    
                    }
                     function onController()
                    {
                    	
                    }
                     function onTimer()
                    {
                    	
                    }
                     function onControl(number, value)
                    {
                    	
                    }
                     
                    

                    -- nothing is jumping out at me....

                    HISE Development for hire.
                    www.channelrobot.com

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

                      @lindon I don't see anything unusual there. I'm off to cook dinner but I'll dig a bit deeper when I'm back.

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

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

                        @d-healey --and now just like every other version its crashing no matter what I do to it.....grrrrrrrrrrrrrrrrrrrrrrrrr

                        HISE Development for hire.
                        www.channelrobot.com

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

                          @Lindon I don’t know if it’ll have an impact but instead of calling things multiple times I would store the note number in a reg, and same thing for the range values

                          Hise made me an F5 dude, browser just suffers...

                          LindonL d.healeyD 2 Replies Last reply Reply Quote 0
                          • LindonL
                            Lindon @ustk
                            last edited by

                            @ustk what?

                            HISE Development for hire.
                            www.channelrobot.com

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

                              @d-healey said in Develop branch cannot support more than 19 scripts:

                              @lindon I don't see anything unusual there. I'm off to cook dinner but I'll dig a bit deeper when I'm back.

                              Yeah I have to call it quits for today too?

                              HISE Development for hire.
                              www.channelrobot.com

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

                                @lindon said in Develop branch cannot support more than 19 scripts:

                                @ustk what? er we are talking about using multiple scripts (one per voice) so its more modular...

                                HISE Development for hire.
                                www.channelrobot.com

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

                                  @ustk said in Develop branch cannot support more than 19 scripts:

                                  I would store the note number in a reg

                                  You can use a local in the MIDI callbacks, I don't know if this is better than a reg...

                                  Free HISE Bootcamp Full Course for beginners.
                                  YouTube Channel - Public HISE tutorials
                                  My Patreon - HISE tutorials

                                  ustkU 2 Replies Last reply Reply Quote 0
                                  • ustkU
                                    ustk @d.healey
                                    last edited by

                                    @d-healey For what I understand a reg is faster, hence more suitable for real-time stuff...

                                    Hise made me an F5 dude, browser just suffers...

                                    1 Reply Last reply Reply Quote 0
                                    • ustkU
                                      ustk @d.healey
                                      last edited by

                                      @d-healey Also I thought locals were only declarable in an inline, never tried in a midi CB though...

                                      Hise made me an F5 dude, browser just suffers...

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

                                        @ustk said in Develop branch cannot support more than 19 scripts:

                                        For what I understand a reg is faster, hence more suitable for real-time stuff...

                                        Interface script should be deferred in this case and shouldn't be doing real time stuff Ignore me, I was thinking this is the main interface script :p

                                        Also I thought locals were only declarable in an inline, never tried in a midi CB though...

                                        With the exception of the built in callbacks that seems to be true.

                                        Free HISE Bootcamp Full Course for beginners.
                                        YouTube Channel - Public HISE tutorials
                                        My Patreon - HISE tutorials

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

                                          After disabling everything and re-enabling it one by one, saving in between and reloading HISE. The project now opens every time without crashing!

                                          @Lindon I'll send you a snippet that is opening for me and you can see if it magically works for you as well.

                                          Regarding the real time UI stuff, it's parts like this.

                                          for (ondx=0; ondx<7;ondx++)
                                          {
                                              if (FMAmtVelos[ondx].getValue() == 1)
                                              {
                                                  //Console.print((Message.getVelocity()/ 1.27)/100); // * (127/100));
                                                           
                                                  FMAmounts[ondx].setValue((Message.getVelocity()/ 1.27)/100);
                                                  FMAmounts[ondx].changed();
                                             }
                                          }
                                          

                                          I try to avoid loops in real time altogether if possible, but this one is just updating a UI component and triggering its callback. This should be in a deferred script. The action that you need to happen in real time (presumably whatever happens when the component's callback is triggered) should go in a separate non-deferred script. This approach will probably require a significant restructuring of your project at this stage though so if it's working for you then don't go down the rabbit hole.

                                          The only other thing I noticed in general about the project is it takes a bit of time to open and the CPU usage idles quite high (around 10%) for me. I think this is due to the effects and other modules rather than your scripts so probably not much you can do about it.

                                          Free HISE Bootcamp Full Course for beginners.
                                          YouTube Channel - Public HISE tutorials
                                          My Patreon - HISE tutorials

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

                                            @d-healey - great thanks mate - I will give it a try - what was the problem can you identify it?

                                            HISE Development for hire.
                                            www.channelrobot.com

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

                                            18

                                            Online

                                            2.0k

                                            Users

                                            12.7k

                                            Topics

                                            110.1k

                                            Posts