HISE Logo Forum
    • Categories
    • Register
    • Login

    Last hurdle: Does anyone know how to make a simpler drop down menu that displays the user presets?

    Scheduled Pinned Locked Moved General Questions
    32 Posts 5 Posters 3.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
      Delamere
      last edited by

      Just looking for something simple.

      A drop down menu that displays the Default Preset & user presets, where you can scroll through the list and select a preset. No overwrite or save prompt/option, it just loads the preset you select. Then when you've modified it to your liking you can save it as a new preset with a Save As button.

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

        @Delamere You can use Engine.getUserPresetList() to get an array of the presets which you can use to populate your combo box.

        And you can use Engine.loadUserPreset to load the selected preset.

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

        D 2 Replies Last reply Reply Quote 0
        • D
          Delamere @d.healey
          last edited by

          @d-healey Okay thanks for the reply, is it possible to create a Save As Button that gives the option to save as a new Preset, not overwrite the current one?

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

            @Delamere Yes, it's a little bit more complicated though because you'll need to use the preset handler. I made a video about this on Patreon. https://www.patreon.com/posts/creating-custom-82583366

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

            D 1 Reply Last reply Reply Quote 0
            • D
              Delamere @d.healey
              last edited by

              @d-healey Okay thanks.

              1 Reply Last reply Reply Quote 0
              • D
                Delamere @d.healey
                last edited by

                @d-healey I have set this up, and the ComboBox shows the User Presets. But when you select a preset, it says it doesn't exist and doesn't load like it does in the PresetBrowser. Any idea why?

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

                  @Delamere said in Last hurdle: Does anyone know how to make a simpler drop down menu that displays the user presets?:

                  Any idea why?

                  Show me your code. I suspect the file path is wrong.

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

                  D 2 Replies Last reply Reply Quote 0
                  • D
                    Delamere @d.healey
                    last edited by

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • D
                      Delamere @d.healey
                      last edited by

                      @d-healey

                      Content.makeFrontInterface(260, 50);
                      
                      const var Preset_Browser = Content.getComponent("Preset_Browser");
                      
                      inline function onPresetSelected(component, value)
                      {
                      
                          local Selected_Preset = component.getItemText();
                          Console.print(Selected_Preset);
                          Engine.loadUserPreset(Selected_Preset);
                      
                      }
                      
                      Preset_Browser.setControlCallback(onPresetSelected);
                      
                      inline function updateUserPresetList()
                      {
                          local User_Presets = Engine.getUserPresetList();
                          Console.print("User Presets: " + User_Presets.join(", "));
                          
                      }
                      
                      updateUserPresetList();
                      
                      LindonL d.healeyD 2 Replies Last reply Reply Quote 0
                      • LindonL
                        Lindon @Delamere
                        last edited by Lindon

                        @Delamere well at the very least you will need to add ".preset" to the end of your file name.

                        local Selected_Preset = component.getItemText() + ".preset";
                        

                        HISE Development for hire.
                        www.channelrobot.com

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

                          @Delamere Where's the part where you populate the combo box?

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

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

                            @Lindon Thanks for the reply.

                            When adding + ".preset"; It Crashes Hise?

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

                              @Delamere show us the output from this

                              Console.print(Selected_Preset);
                              

                              HISE Development for hire.
                              www.channelrobot.com

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                Delamere @d.healey
                                last edited by

                                @d-healey Is this right?

                                Content.makeFrontInterface(260, 50);
                                
                                const var Preset_Browser = Content.getComponent("Preset_Browser");
                                
                                inline function onPresetSelected(component, value)
                                {
                                
                                    local Selected_Preset = component.getItemText();
                                    Console.print(Selected_Preset);
                                    if (Selected_Preset.length > 0)
                                    Engine.loadUserPreset(Selected_Preset);
                                
                                }
                                
                                Preset_Browser.setControlCallback(onPresetSelected);
                                
                                inline function updateUserPresetList()
                                {
                                    local User_Presets = Engine.getUserPresetList();
                                    Console.print("User Presets: " + User_Presets.join(", "));  
                                    Preset_Browser.set("items", User_Presets.join("\n"));
                                    
                                }
                                
                                updateUserPresetList();
                                
                                
                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • D
                                  Delamere @Lindon
                                  last edited by

                                  @Lindon with the code that I replied to @d-healey with, it says: API call with undefined parameter 0

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

                                    @Delamere said in Last hurdle: Does anyone know how to make a simpler drop down menu that displays the user presets?:

                                    Is this right?

                                    Not sure, post a snippet so I can see exactly what you're doing

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

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      Delamere @d.healey
                                      last edited by

                                      @d-healey

                                      HiseSnippet 1315.3ocsW01aiTCD1aZ2x0b7xcRHw2Pqh3CoPUzlj1RuqBnMMsPzcsWTSuCjNfJmccRL0wNx1aaiP2W3WB+R32z8M9HLd2MYeIaeUvVolLdlG6mY1YFOoqT3QTJgDYU9zoSHHqOzt2Ttdz9ivTNpSaj0Sr6JIJh9rVRwkJhD0Z5DrRQ7QVVK88FqrVcYT3y6+tVXFl6QRVBgdif5QdIcLUmrZ2ceAkwND6SNkNNk0araGOAeeASD.LZIaWzDr243gjiwFyJYi9ArZDx5KsazXf21tta2r4ltXbSeLdi5jlOiLXqAda59LW+9a5B+sExZkC7oZgrmFqIJXSaI7m1aj3RdzA7Fph1mQLB0Q8fSNZYz9inL+tyBOJDxZ4tIAqkhBVep8QTe570SGzLJbRPjNnYU5lnT86AkrRQokinzSs64IoSzIZL74w1c3Zhb.Fd2jlJQ1hJ8YKYuu.rfqqMFeN4PIHLGQ0sbcW2A92Z6TtL79Qoct.KcxlV37MNy1ggD89hwSDbPnZkrlUwrGTNixINCB3dZpf6H3QF0ivHdZheUuYvWGNIV.Ysx+d4xNvCS3gYNyr6rHXvQOGf4v6nIiOkbktJbVFP.uTBFo1DIEHTNvw1PG3jWSMFgOTOx4acbWKzlC3CAZWiIv9uFbkHqJX+J+txky500TlPBWKEr8wLVeHotZdmtn.SvDeHEI4vdIUAdEDLRhEFkwGsBBDwbDhB4QUTrnhwn3Wjpm6Tw4qxre09MAkWsx5NUVascbbB2fEcrpUnP.WAlU.1elavFhzDVJ1g1IUlvwBM4U7PmbU.gSdUCFTnt3nKiHKTsoMi7l.VkGLtOQlJeKzPnrJas5J2sZUunRgTFJ3c3T8qlPhkOTv7M0fluuXkMJtVBpwKEyPvTcXE9ShqvgZr9hVhqPT+B5RG5GoaMixuOeb79ziQ8A.lc4CreAWzuddvvyq6zFqwlVNwLCX6DhTSMAEq1jKfl7QMfV0tMQctVLANn4sAPVO59P9qRN6uX2ooEtj5qgK.rsdOHNhPGNRaj9bPJLKzz.rMYrvwsd4nOafFiuxXSITXbcNidrNtGdDiNDpq0T9vSovqSCq9jXVcajpytwgjH+OOr9Cmce1pq.V+2nXplr5+.OYWsQrwgOgA9R+UIaSYeESJUO7EjVAZsfW44NZY.Y8YZN3pIXtBxrU6ofsJXrwhAXlJwjvDOYwvMUXpEPXp.hrWkFPxxPQI3vft5tyAsmuewmwIDNbYdw5ZC8B0WitdDrzaTKrbQOBegPBAOyrCYTdX.i0EqGMyfrtVrK0AhW9jVBIDUxn+3fwQgPCr5gKEI+ilbvSfjEAn3sg81bq0L2y52y0gk+kvyvzRbOIAOOnFeBqWzGyQEwrSDW1E66CYw2UbyipsDAbeim91HEGIjwuHxqII6KulYw4EzV9cn4EtsKktv8WsxVTtxs1a5ZJC+yoI8F9iL8FZDNw4BCJAinI7CXXc141LSzFq.JixLrjYfHHYQOMca07Cys70eAgapKHtk1+2Q59T6tTs2nh4aoB3q49j+m4a7nwej8ACF.C1jP1ksO7mtw4f+ugJmHBLswOBqkTSeenLtGzR0i.LgyIL0r6BhkcMxlHSOB2OTvzONVYcirUrx5yTB2n3IEm4EcgpYP7GEtBvId3OTYU6iLxNEbS5X32EblmW1sZAfMdn.a9PAtwCE3lOTfa8PA90OTfae6.M+rs8BzhwQkSHzQcOH7BXKqC3XHaLLyE8uYcgRBA
                                      
                                      d.healeyD 1 Reply Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey @Delamere
                                        last edited by

                                        @Delamere Disable saveInPreset on your combo box.

                                        And you need to add +".preset" as Lindon suggested

                                        Engine.loadUserPreset(Selected_Preset + ".preset");

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

                                        D 1 Reply Last reply Reply Quote 1
                                        • D
                                          Delamere @d.healey
                                          last edited by

                                          @d-healey @Lindon

                                          Great it works, cheers guys.

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

                                            @Delamere I should have said, it's the saveInPreset thing that was causing your crash because it created an infinite loop. The preset would load which would trigger the combo box callback, which loads the preset, which triggers the callback, which loads the preset, which goes kaboooom!

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

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

                                            7

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            103.9k

                                            Posts