Forum
    • Categories
    • Register
    • Login

    Expansion.getSampleMapList() always empty - full expansions

    Scheduled Pinned Locked Moved Scripting
    expansionsample maplist
    21 Posts 3 Posters 451 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.
    • David HealeyD
      David Healey @Christoph Hart
      last edited by David Healey

      @Christoph-Hart said in Expansion.getSampleMapList() always empty - full expansions:

      this might have severe implications on the startup time if multiple expansions are present.

      I knew there was a reason!

      @Christoph-Hart said in Expansion.getSampleMapList() always empty - full expansions:

      What's the use case of wanting the samplemap list of a full expansion instrument?

      When a user clicks to load an expansion I want to run a check to make sure the samples are present before loading the expansion. If samples are missing I won't load the expansion and instead ask the user to redirect the samples folder.

      One of the common support requests I get is "no sound!" and it's nearly always because the samples have been moved or not installed correctly.

      What about having a script function to manually load the value tree for the clicked expansion?

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

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

        @David-Healey I think the better solution would be to include a check in the expansion loading phase that aborts the loading if samples are not found. There‘s a system to handle expansion errors gracefully (eg. if the encryption key doesn‘t match) and this would be a pretty simple addition.

        David HealeyD 1 Reply Last reply Reply Quote 1
        • David HealeyD
          David Healey @Christoph Hart
          last edited by

          @Christoph-Hart sounds good, and I'd be able to respond to this in the error handler?

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

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

            @David-Healey yup, with this one here:

            https://docs.hise.audio/scripting/scripting-api/expansionhandler/index.html#seterrorfunction

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

              Alrighty, it's pushed and I checked it in a minimal setup, but can you verify that this works in Rhapsody?

              Also you might want to test the procedure of installing expansions to ensure that it doesn't throw a false positive there (it might be possible that the expansion gets initialised before the samples are extracted).

              David HealeyD 2 Replies Last reply Reply Quote 0
              • David HealeyD
                David Healey @Christoph Hart
                last edited by

                @Christoph-Hart Thanks, I'll give it a try shortly and report back!

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

                1 Reply Last reply Reply Quote 0
                • David HealeyD
                  David Healey @Christoph Hart
                  last edited by

                  @Christoph-Hart First try, it reported the error but then continued to load the expansion

                  if(missing1.isNotEmpty() && missing2.isNotEmpty())

                  I suspect this should be || instead of &&

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

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

                    @David-Healey no the function is a bit weird and used at another place. If everything is fine then it returns an empty string otherwise the filename. Since we‘re checking both sample folders one of them will always return an error so we need the logical and.

                    David HealeyD 2 Replies Last reply Reply Quote 0
                    • David HealeyD
                      David Healey @Christoph Hart
                      last edited by

                      @Christoph-Hart Ah ok I get it, so the problem is for me it's still loading the expansion. I've only tested in HISE so far. I'll compile now and see if the same issue is there.

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

                      1 Reply Last reply Reply Quote 0
                      • David HealeyD
                        David Healey @Christoph Hart
                        last edited by

                        @Christoph-Hart Looks like I was mistaken. The error isn't firing. What I was seeing in the Console was errors from the Samplers telling me they can't find the monoliths after the expansion had started to load.

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

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

                          @David-Healey hmm but that should be covered - when there is an error the entire loading process is aborted so the samplers should not be created at all.

                          David HealeyD 2 Replies Last reply Reply Quote 0
                          • David HealeyD
                            David Healey @Christoph Hart
                            last edited by David Healey

                            @Christoph-Hart Not happening here with full expansions. I'll add some breakpoints and debug.

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

                            David HealeyD 1 Reply Last reply Reply Quote 0
                            • David HealeyD
                              David Healey @David Healey
                              last edited by

                              @David-Healey Hmm I must have messed up my merge somewhere because even though I have that commit in my branch history that whole section is missing...

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

                              1 Reply Last reply Reply Quote 0
                              • David HealeyD
                                David Healey @Christoph Hart
                                last edited by David Healey

                                @Christoph-Hart Found it, there was some merge issue.

                                It's not working correctly though. The callback doesn't seem to fire. I put Console.print in there but it never runs.

                                The expansion seems to be kind of half loaded. If after triggering the error I hit compile in my script, I'll get some errors about files not being found and my Interface won't render properly as if it's trying to load another project (the expansion) but is missing some files.

                                By the way, in the next version of Rhapsody I plan to go back to using hr files instead of the zips, so you might want to drop that mode before HISE 5.

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

                                1 Reply Last reply Reply Quote 0
                                • David HealeyD
                                  David Healey
                                  last edited by

                                  Doesn't seem to trigger any issues when installing an expansion, but since the error handler isn't triggering anyway it could just be being masked.

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

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

                                  29

                                  Online

                                  2.1k

                                  Users

                                  13.2k

                                  Topics

                                  114.6k

                                  Posts