HISE Logo Forum
    • Categories
    • Register
    • Login

    Do I not understand the setLoadingCallback?

    Scheduled Pinned Locked Moved General Questions
    45 Posts 5 Posters 2.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.
    • d.healeyD
      d.healey @Lindon
      last edited by

      @Lindon I wonder if it retriggers for each sampler.

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

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

        @d-healey then how in heavens name do I find out when every Sampler has been loaded?

        HISE Development for hire.
        www.channelrobot.com

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

          @Lindon You could do a test, every time it says it's finished preloading you increment a variable, if the variables value == the number of samplers then all samplers are loaded. This test will also tell us if it does retrigger for every sampler or if there is an issue.

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

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

            @d-healey nope cant do that - the setLoadCallback only executes once!! - already worked that out...

            HISE Development for hire.
            www.channelrobot.com

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

              @Lindon Oh I just had a look through your Console output above. It could be what you're seeing is due to the loading callback running in an asynchronous background thread, so there is a lag between the values you're seeing and the actual state of the instrument.

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

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

                @d-healey yes precisely...so I need a callback that CORRECTLY tells me when the loading thread has actually finished - and I think that setLoadingCallback isnt doing that.

                Perhaps it is telling me the truth - everything IS finished...but sadly when I assume this - and start setting the start and end positions for samples - it fails

                HISE Development for hire.
                www.channelrobot.com

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

                  @Lindon I think it is correct, because it's asynchronous it will always be behind, never ahead, so if it says loading has finished then loading must have finished.

                  @Christoph-Hart Any insight?

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

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

                    yes @Christoph-Hart any insights gratefully received.

                    HISE Development for hire.
                    www.channelrobot.com

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

                      @Lindon hmmm... it seems that the setPostCallback gets executed after all of these - perhaps I could use that...

                      HISE Development for hire.
                      www.channelrobot.com

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

                        @Lindon nope now this is executing BEFORE not after - wow nothing in here is consistent.

                        HISE Development for hire.
                        www.channelrobot.com

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

                          @Lindon Were you able to make any progress here? I'm having the same issue - and without the callback, everything fails, because my scripts begin processing the sample map before it's loaded. :(

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

                            @clevername27 said in Do I not understand the setLoadingCallback?:

                            @Lindon Were you able to make any progress here? I'm having the same issue - and without the callback, everything fails, because my scripts begin processing the sample map before it's loaded. :(

                            Well I think I got this to work - the product is out there - so I will try and take a look if I get time otherwise Christoph is you man here...

                            HISE Development for hire.
                            www.channelrobot.com

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

                              @Lindon Thanks - likewise appreciated.

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                aaronventure @clevername27
                                last edited by aaronventure

                                @clevername27 getPreloadProgress() repeats itself from 0 to 1 and it doesn't return a sample map name, that's getPreloadMessage().

                                Panel's getLoadingCallback will return 1 of its preloading. While it will return 0 with the preload not yet finished (but rather at 90-something percent), you can query whether the preload has finished with a timer and if (getPreloadMessage() == ""). Start the timer in the loading callback with if (isPreloading == true)

                                clevername27C 2 Replies Last reply Reply Quote 1
                                • clevername27C
                                  clevername27 @aaronventure
                                  last edited by

                                  @aaronventure Thank you!

                                  1 Reply Last reply Reply Quote 0
                                  • clevername27C
                                    clevername27 @aaronventure
                                    last edited by

                                    @aaronventure On second thought, I can't follow what you're saying here. Could you pls explain it to me like I'm 5?? :)

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      aaronventure @clevername27
                                      last edited by

                                      @clevername27 what have you tried so far?

                                      clevername27C 1 Reply Last reply Reply Quote 0
                                      • clevername27C
                                        clevername27 @aaronventure
                                        last edited by

                                        @aaronventure Mostly sacrificing my collection of rare Creed memorabilia.

                                        Appreciated - I'm not sure this is granular enough for me to answer your question. There are so many variables here that I don't how to proceed.…

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          aaronventure @clevername27
                                          last edited by

                                          @clevername27 the panel's loading callback should, on 1,start the timer. The timer should run at 500ms intervals, checking whether the preload message is an empty string. That way you know the preload is finished (because it can only get started with the preload start, and can only return an empty string if the preload is finished) as the panel callback doesn't properly return a 0 on preload finished, but rather blows its load a bit too soon.

                                          The callback starts the timer, the timer checks for preload finished by fishing for an empty string.

                                          clevername27C 1 Reply Last reply Reply Quote 1
                                          • clevername27C
                                            clevername27 @aaronventure
                                            last edited by clevername27

                                            @aaronventure Thank you - I think I understand. You're saying that with:

                                            setLoadingCallback(function(isPreloading)

                                            …isPreloading gets set to 1 before preloading is actually complete?

                                            The context here is that the Samplemap is being loaded from a saved state when the plugin starts up. After the Samplemap is loaded, I need to do something - but it's always too early.

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

                                            10

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.2k

                                            Posts