HISE Logo Forum
    • Categories
    • Register
    • Login

    Engine.loadUserPreset for expansions?

    Scheduled Pinned Locked Moved General Questions
    28 Posts 2 Posters 2.1k 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 @bendurso
      last edited by

      @bendurso I'll do some tests

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

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

        @bendurso Ok it's an issue with the loadUserPreset function

        This is what it looks like in the source

        File userPresetRoot = FrontendHandler::getUserPresetDirectory();
        
        userPresetToLoad = userPresetRoot.getChildFile(file.toString());
        

        As you can see, no matter what we pass in (file) it's always going to try and load it from the userPresetRoot which is the project's user presets folder not the expansion's. I'll see if I can implement a fix.

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

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

          I've played around with it but it would take me quite a while to find a solution and I don't have the time at the moment to really dig into it.

          Either we need to modify the loadUserPreset function to use the expansion's preset folder when the filename is an expansion wildcard reference. Or we need a separate Expansion.loadUserPreset() function. My preference would be for the former.

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

          bendursoB 1 Reply Last reply Reply Quote 1
          • bendursoB
            bendurso @d.healey
            last edited by

            @d-healey Nice, maybe I could post a feature request and see if anyone else is interested? I find it strange that no one has found this before.

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

              @bendurso said in Engine.loadUserPreset for expansions?:

              I find it strange that no one has found this before.

              I don't think many people are using expansions.

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

              1 Reply Last reply Reply Quote 0
              • bendursoB
                bendurso @d.healey
                last edited by

                @d-healey I was checking the source code, and actually I think it should work an expansion preset with the absolute path.

                void ScriptingApi::Engine::loadUserPreset(var file)
                {
                	auto name = ScriptingObjects::ScriptFile::getFileNameFromFile(file);
                
                	File userPresetToLoad;
                
                	if (File::isAbsolutePath(name))
                	{
                		userPresetToLoad = File(name);
                	}
                	else
                	{
                #if USE_BACKEND
                		File userPresetRoot = GET_PROJECT_HANDLER(getProcessor()).getSubDirectory(ProjectHandler::SubDirectories::UserPresets);
                #else
                		File userPresetRoot = FrontendHandler::getUserPresetDirectory();
                #endif
                

                Because the code you mentioned (the "else" part) only runs if it's not an absolute path.

                And it actually loads the preset with absolute path, but I don't know why it crashes immediately. It doesn't crash with a non-expansion preset, so the problem might be somewhere else.

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

                  @bendurso Ah good work, looks like it must be this function that's at fault then

                  5fa60e8d-72d6-4bcb-a4a0-813a71fb785e-image.png

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

                  bendursoB 1 Reply Last reply Reply Quote 0
                  • bendursoB
                    bendurso @d.healey
                    last edited by

                    @d-healey Oh. Maybe @Christoph-Hart could take a look to this?

                    1 Reply Last reply Reply Quote 0
                    • R rzrsharpeprod referenced this topic on
                    • First post
                      Last post

                    21

                    Online

                    2.0k

                    Users

                    12.6k

                    Topics

                    109.8k

                    Posts