HISE Logo Forum
    • Categories
    • Register
    • Login

    3 Quick Questions about Expansions!

    Scheduled Pinned Locked Moved General Questions
    84 Posts 6 Posters 5.4k 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.
    • ?
      A Former User
      last edited by

      @d-healey IT WORKS DAVID YOU ABSOLUTE MADMAN THANK YOU

      a029c4b6-370d-4054-8aaa-623bfe353608-image.png

      LindonL 1 Reply Last reply Reply Quote 1
      • LindonL
        Lindon @A Former User
        last edited by

        @iamlamprey so can you post the code that works?

        HISE Development for hire.
        www.channelrobot.com

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

          @Lindon https://forum.hise.audio/topic/3959/3-quick-questions-about-expansions/28?_=1617874170786

          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 said in 3 Quick Questions about Expansions!:

            @Lindon https://forum.hise.audio/topic/3959/3-quick-questions-about-expansions/28?_=1617874170786

            err that points me further up this thread at a post that says its not working...

            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 Yup, didn't do what I thought it did. Scroll up until you find my post with a link to a demo project, wasn't that far back.

              @Christoph-Hart We need a way to accurately link to other posts in a thread, clicking the timestamp appears not to work.

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

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

                @d-healey said in 3 Quick Questions about Expansions!:

                @Lindon Yup, didn't do what I thought it did. Scroll up until you find my post with a link to a demo project, wasn't that far back.

                OK thanks.

                HISE Development for hire.
                www.channelrobot.com

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @Lindon
                  last edited by

                  @Lindon Here's where I'm at so far, note that it's still very much a WIP (loaded expansions aren't persistent in a DAW yet, for example)

                  /*Basic Player plugin with on-the-fly sample-loading and image-changing + hiding of GUI elements.
                  
                  I've also hidden the init sample locate dialog with:
                  
                  HISE_SAMPLE_DIALOG_SHOW_INSTALL_BUTTON=0
                  HISE_SAMPLE_DIALOG_SHOW_LOCATE_BUTTON=0
                  
                  In the Extra Definitions [Your OS] Preferences
                  */
                  const var expHandler = Engine.createExpansionHandler();
                  const var SamplerRR = Synth.getChildSynth("SamplerRR");
                  var currentExpansion = "";
                  
                  expHandler.setAllowedExpansionTypes([expHandler.FileBased, 
                                                       expHandler.Intermediate, 
                                                       expHandler.Encrypted]);
                  
                  var expansionDirectory = FileSystem.getFolder(FileSystem.Samples); //Changes using the Custom Setting FloatingTile
                  reg hr;
                  
                  const var Image_BG = Content.getComponent("Image_BG");
                  
                  //Set Sample Folder Button (Just shows a panel, which contains the CustomSettings FloatingTile)
                  
                  inline function onButton1Control(component, value)
                  {
                      Panel_ChangeSampleFolder.showControl(value);
                  };
                  
                  Content.getComponent("Button1").setControlCallback(onButton1Control);
                  
                  //Install Library Button
                  
                  inline function onButton2Control(component, value)
                  {
                      if (value)
                      {    
                          FileSystem.browse(expansionDirectory, false, "", function(result) 
                      {
                          hr = result;
                          expHandler.installExpansionFromPackage(hr,FileSystem.getFolder(FileSystem.Samples));
                          expHandler.refreshExpansions(); 
                      });
                      };
                  };
                  
                  Content.getComponent("Button2").setControlCallback(onButton2Control);
                  
                  //Library Select (Like Kontakt's Browser)
                  
                  //Bloom
                  
                  inline function onExpansions_ButtonBloomControl(component, value)
                  {
                      Engine.setCurrentExpansion("Bloom");
                      currentExpansion = "Bloom"; //This is used in other functions elsewhere.
                      //Put Stuff Under This
                  
                      //Setting Background Image
                      backgroundImage = ("{EXP::Bloom}bg_bloom.png");
                      Image_BG.setAlpha(1);
                      Image_BG.set("fileName", backgroundImage);  
                  
                      //Hiding/Showing UI Elements for Specific Libraries
                      ComboBox_Atlas.set("visible", 0);
                  
                      //Setting up different Samplers
                      SamplerRR.setAttribute(12, 0);
                      Sampler_NoRR.setAttribute(12, 1);    
                      SamplerRR.setBypassed(1-value);
                      Sampler_NoRR.setBypassed(value);
                  
                      //Loading the sample map into the right sampler    
                      SamplerRR.asSampler().loadSampleMap("{EXP::Bloom}Bloom_SampleMap");
                  };
                  
                  LindonL 1 Reply Last reply Reply Quote 1
                  • LindonL
                    Lindon @A Former User
                    last edited by

                    @iamlamprey - thanks - looks not "too" complex...

                    HISE Development for hire.
                    www.channelrobot.com

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User
                      last edited by A Former User

                      How would I make the loaded expansion re-load on DAW close/reopen?

                      Making currentExpansion a const var obviously breaks the button functions that change it, and it doesn't default to a string unless I give it an initial value of "", which means calling that won't load the right expansion..

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @A Former User
                        last edited by

                        @iamlamprey Expansions are automatically loaded when one of the expansion's presets is used, so as long as the DAW is saved and closed after a preset has been selected it "should" be there when you reopen the DAW.

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

                        ? 1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User @d.healey
                          last edited by

                          @d-healey Guess it's time to add a preset system then...

                          1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User
                            last edited by

                            Unrelated but has anyone else had the Custom Keyboard FloatingTile randomly play a high F and stick when clicking GUI elements?

                            I thought was my old midi controller but it only happens when I click something on the GUI, both in HISE and in DAW.

                            Super weird 😧

                            1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User
                              last edited by

                              I still need help regarding making expansions persistent and loading on DAW open/close. 😧

                              favicon

                              (streamable.com)

                              I can install the libraries and load them manually just fine. But on DAW save/load it defaults back to no expansion HOWEVER if I hit "Open Preset Folder" in the preset browser, it directs me to the right expansion folder.

                              So somehow the currentExpansion is saved, but I can't figure out how to restore it.

                              I've tried making init presets and using

                              Engine.loadNextUserPreset(1);
                              

                              in both button callbacks and onInit, without any success.

                              //init stuff:
                              
                              include("CustomExpansionLoading.js");
                              
                              const var expHandler = Engine.createExpansionHandler();
                              var currentExpansion;
                              
                              //Load expansions
                              
                              switch (currentExpansion)
                              {
                                  case "Cloudburst":
                                      loadCloudburst();
                                      break;
                                      
                                  case "Atlas":
                                      loadAtlas();
                                      break;
                                      
                                  case "Blackout":
                                      loadBlackout();
                                      break;
                                      
                                  case "Bloom":
                                      loadBloom();
                                      break;
                                  
                                  default:
                              };
                              
                              inline function loadBloom()
                              {
                                      //Initialize Expansion    
                                  Engine.setCurrentExpansion("Bloom");
                                  currentExpansion = "Bloom";
                                      //Put Stuff Under This
                                      //Setting BG Image        
                                  backgroundImage = ("{EXP::Bloom}bg_bloom.png");
                                  Image_BG.setAlpha(1);
                                  Image_BG.set("fileName", backgroundImage); 
                                      //Setting up Samplers    
                                  SamplerRR.setAttribute(12, 0);
                                  Sampler_NoRR.setAttribute(12, 1);
                                  Sampler_Loops.setAttribute(12, 1);
                                  SamplerRR.setBypassed(0);
                                  Sampler_NoRR.setBypassed(1);  
                                  Sampler_Loops.setBypassed(1);
                                  SamplerRR.asSampler().loadSampleMap("{EXP::Bloom}Bloom_SampleMap");   
                                      //Setting Key Colours    
                                  colourKeysReset();
                                  colourKeysBloom();
                                      //Hiding othe GUI Elements    
                                  ComboBox_Atlas.set("visible", 0);    
                                  Button_LoopSpeedHalf.showControl(0);
                                  Button_LoopSpeedDouble.showControl(0);
                                  Label_LoopSpeedHalf.showControl(0);
                                  Label_LoopSpeedDouble.showControl(0);     
                              };
                              
                              //Button to switch to this expansion.
                              inline function onExpansions_ButtonBloomControl(component, value)
                              {
                                  if (value)
                                  {
                                      loadBloom();
                                  }
                              };
                              

                              A lot of it is dependant on the variable currentExpansion, and I think somehow it isn't saving that right.

                              I've probably massively overcomplicated this...

                              1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User
                                last edited by

                                I've just realized there's a

                                Engine.setCurrentExpansion and a expHandler.setCurrentExpansion.

                                This might be the cause of my woes...

                                1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User
                                  last edited by

                                  OKAY got it working (I think), I didn't know about the expHandler.setExpansionCallBack() function and was trying to do things manually this whole time 😞

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    arminh @A Former User
                                    last edited by arminh

                                    @iamlamprey hey, how did you get image covers from every expansion?

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

                                      @arminh Each expansion has an images folder, put your image in there.

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

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        arminh @d.healey
                                        last edited by

                                        @d-healey i made it, but even if i have image in Images folder i have error

                                        Interface:! Image {EXP::Factory}exp_cover.png not found
                                        
                                        d.healeyD 1 Reply Last reply Reply Quote 0
                                        • d.healeyD
                                          d.healey @arminh
                                          last edited by

                                          @arminh I would assume this is necessary

                                          195a4bde-17b4-4440-ace3-9fa100630538-image.png

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

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            arminh @d.healey
                                            last edited by

                                            @d-healey oh i tried create this by painroutines but as i can see we can't just put image path?

                                            Here's example

                                            g.drawImage(expansionsArr[i].cover, [50,50,50,50], 0, 0);
                                            
                                            ? 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            15

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.6k

                                            Posts