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.
    • 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
                                        • d.healeyD
                                          d.healey @Lindon
                                          last edited by

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

                                          what was the problem can you identify it?

                                          I wasn't able to pin it down to anything in particular.

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

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

                                            @d-healey Maybe comparing the 2 project folders (original and fixed) with a tool could show up the difference and point to a Hise bug (like in an xml file or something)?

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

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

                                            17

                                            Online

                                            2.0k

                                            Users

                                            12.7k

                                            Topics

                                            110.1k

                                            Posts