HISE Logo Forum
    • Categories
    • Register
    • Login

    ...Always on the PresetBrowser

    Scheduled Pinned Locked Moved General Questions
    31 Posts 6 Posters 2.8k 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
      last edited by

      Actually neither of these solutions really work. We need a simple way to be able to load a specific preset when the instrument is loaded, currently this doesn't seem to be possible...

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

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

        Ok I found a kind of solution. So when you save your project all of the controls that are set to be saveInPreset are saved. And when you open the project those controls will be restored. So you need to make it so the label you use to display the preset name is set to be saveInPreset. Then in your code where you are setting the text of that label when a preset is loaded you need to check to make sure the presetName is not an empty string.

        if (Engine.getCurrentUserPresetName() != "") lblPreset.set("text", Engine.getCurrentUserPresetName());

        The only really issue is that it's a little awkward (at least in my case) to save the presets because you have to turn off saveInPreset to get the name to load and then turn it back on and resave the preset. Actually it might be quicker just to edit the preset xml for this.

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

        ossian1961O 2 Replies Last reply Reply Quote 2
        • ossian1961O
          ossian1961 @d.healey
          last edited by

          @d-healey said in ...Always on the PresetBrowser:

          Ok I found a kind of solution. So when you save your project all of the controls that are set to be saveInPreset are saved. And when you open the project those controls will be restored. So you need to make it so the label you use to display the preset name is set to be saveInPreset. Then in your code where you are setting the text of that label when a preset is loaded you need to check to make sure the presetName is not an empty string.

          if (Engine.getCurrentUserPresetName() != "") lblPreset.set("text", Engine.getCurrentUserPresetName());

          The only really issue is that it's a little awkward (at least in my case) to save the presets because you have to turn off saveInPreset to get the name to load and then turn it back on and resave the preset. Actually it might be quicker just to edit the preset xml for this.

          Thank you David, I now check it :)

          https://www.kontakthub.com/label/Imagik-Sound/
          https://mirtklaar.bandcamp.com/

          1 Reply Last reply Reply Quote 0
          • ossian1961O
            ossian1961 @d.healey
            last edited by

            @d-healey The label return empty for the same :( It seems that without the "Engine.loadNextUserPreset(true);" or the "Engine.loadPreviousUserPreset(true);" lines the PresetBrowser is empty when the project is open... though the sound of the preset is loaded the PresetBrowser looks as initialized.

            https://www.kontakthub.com/label/Imagik-Sound/
            https://mirtklaar.bandcamp.com/

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

              I suggest the following thing that I am doing at HEXERACT:

              • make a init preset and call it Init.
              • whenever you save your project XML, load the Init patch - this also makes sure there is no noise in the Git commits because of parameter changes.
              • the preset label is obviously saveInPreset = false (everything else is just nasty). In the onInit callback you just check whether its empty and do this:
              if(!Engine.getCurrentUserPresetName())
                  Label.set(„text“, „Init“);
              
              ossian1961O 1 Reply Last reply Reply Quote 3
              • ossian1961O
                ossian1961 @Christoph Hart
                last edited by

                @Christoph-Hart said in ...Always on the PresetBrowser:

                I suggest the following thing that I am doing at HEXERACT:

                make a init preset and call it Init.
                whenever you save your project XML, load the Init patch - this also makes sure there is no noise in the Git commits because of parameter changes.
                the preset label is obviously saveInPreset = false (everything else is just nasty). In the onInit callback you just check whether its empty and do this:

                if(!Engine.getCurrentUserPresetName())
                Label.set(„text“, „Init“);

                Thank you Christoph :)

                https://www.kontakthub.com/label/Imagik-Sound/
                https://mirtklaar.bandcamp.com/

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

                  @Christoph-Hart said in ...Always on the PresetBrowser:

                  if(!Engine.getCurrentUserPresetName())

                  I had to change this to if(Engine.getCurrentUserPresetName() == "")

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

                  ossian1961O 1 Reply Last reply Reply Quote 0
                  • ossian1961O
                    ossian1961 @d.healey
                    last edited by

                    @d-healey said in ...Always on the PresetBrowser:

                    if(Engine.getCurrentUserPresetName() == "")

                    I checked both the ways, same result. If I don't put "Engine.loadNextUserPreset(true);" or the "Engine.loadPreviousUserPreset(true);" the label will be empty and the PresetBrowser without the preset list :(

                    https://www.kontakthub.com/label/Imagik-Sound/
                    https://mirtklaar.bandcamp.com/

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

                      @ossian1961 Yes Christoph's code doesn't solve the preset browser issue but it should fix the label problem.

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

                      ossian1961O 1 Reply Last reply Reply Quote 0
                      • ossian1961O
                        ossian1961 @d.healey
                        last edited by

                        @d-healey said in ...Always on the PresetBrowser:

                        @ossian1961 Yes Christoph's code doesn't solve the preset browser issue but it should fix the label problem.

                        Unluckily it doesn't fix nothing :(

                        https://www.kontakthub.com/label/Imagik-Sound/
                        https://mirtklaar.bandcamp.com/

                        orangeO 1 Reply Last reply Reply Quote 0
                        • orangeO
                          orange @ossian1961
                          last edited by

                          @ossian1961 If you rename your preset title

                          - Init
                          

                          it will be on top of the presets, and you can use

                          Engine.loadNextUserPreset(true);
                          

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

                          ossian1961O 1 Reply Last reply Reply Quote 1
                          • orangeO
                            orange
                            last edited by

                            My example
                            Untitled-1.jpg

                            develop Branch / XCode 13.1
                            macOS Monterey / M1 Max

                            1 Reply Last reply Reply Quote 1
                            • ossian1961O
                              ossian1961 @orange
                              last edited by

                              @orange said in ...Always on the PresetBrowser:

                              @ossian1961 If you rename your preset title

                              - Init
                              

                              it will be on top of the presets, and you can use

                              Engine.loadNextUserPreset(true);
                              

                              That works! Thanks!!!!!! :)

                              https://www.kontakthub.com/label/Imagik-Sound/
                              https://mirtklaar.bandcamp.com/

                              orangeO pelleP 2 Replies Last reply Reply Quote 1
                              • orangeO
                                orange @ossian1961
                                last edited by orange

                                @ossian1961 I've just recognized that, it works everytime but except first initialization of the plugin.
                                Because when the plugin is opened for the first time, after succesfully loading, plugin creates the user preset folders and presets.
                                But since presets haven't been created (because the plugin hasn't been loaded yet for the first time) on first initialization, the label box will be empty.

                                If you load plugin again, the label box will be ok and show - Init preset since the presets have been created on previous plugin opening.

                                There should be a fix for that.

                                develop Branch / XCode 13.1
                                macOS Monterey / M1 Max

                                pelleP 1 Reply Last reply Reply Quote 3
                                • NatanN
                                  Natan @d.healey
                                  last edited by Natan

                                  @d-healey said in ...Always on the PresetBrowser:

                                  @ossian1961 This doesn't work for me, it shows the next preset not the last one that was used.

                                  This works though :p

                                  Engine.loadNextUserPreset(true);
                                  Engine.loadPreviousUserPreset(true);
                                  

                                  Yeah It Does What It Supposed To Do, But The Issue With This Method Is That The Instrument/ Effect Won't Remember It's Last Settings When An End User Closes His Project.

                                  In Short: Don't Use This Method⚠️

                                  1 Reply Last reply Reply Quote 1
                                  • pelleP
                                    pelle @ossian1961
                                    last edited by

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • pelleP
                                      pelle @orange
                                      last edited by

                                      @orange Hi, have you found a solution for this? I have the same problem.

                                      "I've just recognized that, it works everytime but except first initialization of the plugin.
                                      Because when the plugin is opened for the first time, after succesfully loading, plugin creates the user preset folders and presets.
                                      But since presets haven't been created (because the plugin hasn't been loaded yet for the first time) on first initialization, the label box will be empty.

                                      If you load plugin again, the label box will be ok and show - Init preset since the presets have been created on previous plugin opening.

                                      There should be a fix for that."

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

                                        @pelle Export your project with the label set to whatever you want the default to be.

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

                                        pelleP 1 Reply Last reply Reply Quote 0
                                        • pelleP
                                          pelle @d.healey
                                          last edited by

                                          @d-healey
                                          The Label now works, but the first time I open the exported instrument and click on 'Scripted Panel' to access the Preset drop-down menu, it fails to open. I always need to close the plug-in and reopen it.
                                          Can you help me?

                                          HiseSnippet 3131.3oc6as7aabbFeojVGsrwwVEo.8PQ5TdhpQVVjTNN0NtghRjwpQOXIkcRfadrZ2gjS7xcY1cnrkMDZPQOjC8PO3K4V.5e.E8XO0bn+CTDz64bQOza8n522rulc4tTxJOfMpHLf898Mey7a988Xdrqa65XP87bbUJns2ginJEdQ0tGZyGr9.clsxlanTXd01tTOJWowgiz87nlJEJL6agZKnMmh32+4ManaoaaPiEonbWGlAcK1PFOVZ65uMyxpktIcO1PoVuZ8MMbrW2wxYLfjYUWQYjtw806S2QGa1LpJEtPSSF2wsKWmS8TJLWCGyC6Nv4A19s+tLO19VT7gJJcgNxWbKGKSDwnTk0GvrLaGNi8Tfdoc77eV+4+KqtMyjEIOlGtrPAI1BY9nvLIg2rIfWEY3shD7x.REjfzb9PZA0tFtrQ7XMHd9ApaZyot8zAZWFJ9sUYl+9kTW2AZgMe4g52m1xEdHxhxUpsx0uZ0kHUt10qd0pKdyhvOvE3wIGn6R1zdzXN4VjvNnOkutyvQN1vCkKIzVBrI1fcGymlE9pSZxl6z9N605cAaDAbnEM60iZfC.pJ0.bm8xs495R1915tPnC2k8IM+00xxn3FPfVjz38.Xm6bAUlr4cGnOh15cqj0vHzQ.kIM41sys+uc67mIUNwYRk7Mt5IZb0R9ABLaKFv.8FaavYN1DGabRiv00wprQHVWBFBqwzEK93hZI36kgxEqwgG1eLmVNoJrxwRWoxO22za9TZ4qdskhLr3Q.XmlOB6r.Puttk09PIkxIlJ4Maeaam8qbpmtUxGzUVtkK8SVJy4Z07MqZRyxedhwJYOKkmB4MME4wScZFjilDogBEdxSFiAUKxFlxPHOX5W7Xp3Lr5PRfFI8ThzvpTYC0DvvGqEuZzOR6NM61bORiN69Nca1gb0r+knJq+5ps0soV4VMPpMoxrEJ1Re+SzXQaRUwR+.puxbsMtIAEEJhFNjZOtK0h56atE4du+MijuImNza8wdbmgRZND92Ms6C9Tb.tiG0M.ULOd4EuIQzHvxQn49lXo6wuK5s.SWAFaWZOvjAMbcd.XdYtqvOFP+v5HatW.62krQyVqcms1ijjxKRBgfkit4NzGJgivtiHynXDP4RbngkVhT5Jv5gLdN0FSAt8cffCLj7Dm2ZYyYZYQwZ8bbKyHLaxgKVT6wZE0R1rkY1v.vKekJKQXXgFsPFE5.1xtzQV3h9AADdWszRkJIZVJLH2Og8Pr0nY23FkVDs7Hn9qVVygz83G6vrKW52XKFOonYeJdjynwi1NzDfrSYNlulYQAQeL0ZzfWWKmHGhFqWYQCI+LHDaQP.3whI4DbKP3ZZv.44XQWdjKCRNXhNgnoIEUIEQkv76IFmqT48IuJoDXeXFEZddQbwwMqO10ElVwcNtg3xKFN9xYJhwIvyPDKNlhsmrjVBRzO7NkMa6L1iFYQH+Wld..JQXdQM9.lG1TAN70.gLdis3nGWn0XftcepYYwzlPJdTX5Ko6Z2sYPxaVd43hPSs7ej27V2hTQjffYHsXVztG5ggv6KB.JKIA3VwYCbkEFSydKJXeb24n9nLmRKBIFPTDTU3mG5LWh3AvbwapgipHuHF1wDyJh7sor5ibA2rcWSvFBZTTDbqcWaCRP4tH9CCKK2CfORRHwmc3pnEh7LQWIbI9cUTOgSvr5IT9j8D1fLy7zDp9lD0eTwneRgI63vo6ZW1Of7nhjzp50KScArnEfurTiGQ0cZFV1d7v8otx0b7d.iaLHPgvTCcOJYniIc0a.kKg+tRpXBTV0LjUKCYqFKqRnLojuWKVlTJGVpHBEUtgvGjBHUB7ZYfkPw0xV7pYfRIDUMaDIAnpYBnm9QFjllJyhhpch.p1IBnpmV.kF9YAnUywmcD9GhRg4RdwBp4ewBx26ggeIFoFh60lw2cD0NuaCQIntDduHAQ3PS4hqf3kBtBhtVLnloByDZi5saqHh7kuGGkSgkWPEOCVZaC.vIX6KnJNxvYy34U82DeFVemM2Pmqi2+R.K.LyHXqPLjzKrA8.lA0+1XzT2f5cetyHn+hJeqTXgoSTOLZz9z6U+v3glUeHyzzh11wigUWhzT+2VGVSZTW1inxWz1P46ca05C0i63O6qp6MtWOFHQUkb6GofQU38DgGlbL013PEn.8PO33Qi1bndeP2OQ8ws6r6up4568gs1cqMZ14HOAtWdjceEnHVWrsdwPem5OfYxG.CPg+.77.Jq+.N9za.O4YnaQaoavE2lX.D+52bHtEhtTab9c.ienrNSW89avb82oDd2i21wk8HvAnagNzHx8hmTrTLKn7ARz6G4UOAgQ9RYBSgT2mhPWpACVORIGmA7KM08J4PcjpmBx6gIHup4SdxjvkOwjBoo1FRrvm937BxTp9koBx9hO+y+qICxdujb1OVNHyrgRZFLMOQljmFBaoAueBelJmYdpPihp2EyFg1lA0V+Cho1eWBpskekgSAGFUaPJSs2y6j3zopISgymzkIwWjGbS49jXKX+jblc+8fc+InxKoJKphbX4Nx09VMDJgBrqGBm31GTN1u16kBdWDAaqTY+9guy.sK.s9+JpnB6jOV5e43+3wIkVMnw9oIXQ+Y98ynhaqsDtbItI6Fi4bG6R2veq9gZZ9vQ5PUL3jfq4Ac03gXK5oa4E2D+iTjs43NQ8lnOgE28adBUwhg8thmH3FjJqDYzZllYODcn1vFkyV2FvAR44nqk9APcWNEeILx5BP1lvr1j1vwElaIlx6LdnOQffulPj+yuC5W6.g.Nfh6I1JzJKWK0ukdJkCheewXfWgxZtT8HtIXDVJq+JxJej0w4As0MMgXySqcco5tFCZn61vYrsINSumuhscbC3yzZhigRqIjomPawiTNHbqbElUNa6k7y1tX3KABOZtHM6hpRGVWJIi7H4jrqWGJT37fviQ5gE+D4TOjSvKdQI5JXVyh0GR5KLiPxt1cvTw0sXF2GgTxT05e7DopaTG6y3LuiO9Xkoj4Im5dbPaSl5BBDRSdGQXkZ+KjSYJrj3zkIXIeIwrzWmhkRUJhky7SZ30Q9ZnXzufpEsGWoGvqI2v1p0QY9uEy4U63ruC2wuY7CQW8Ef8yaYpPg7c8.eeJ9ZgEVPzSII2m7jmbrRp01JlbsM+PLAG7hpwWcfbfhqLE7KiWXvLwBCuRF694mN4BRvHf0OVMms+fq4k8hTBKsCPGF7O4a.8xpa6XN1Rmm7Exh2qefBb8J42BJ9lNwsbdn7lmS+VZm6z8VZm9KQ9zB2ETai2MP13clLvKbXjuqwav679hp9uNvXvNmZq28r9BtqL8Wvslz3Oez2b.a3HK5aEN7vFZwWxzT9jCf7QpkdB15cRlA+d0y3iRXS6Cfczz1wR2MMWO62VSv4N0AD3Th7bS.7OTUP4OOAXQHwyO.9xpvZ4OC.2NNiwcuusNTBGWt.1mWWXgGCJ.UaXyF38PU.wPvyqfOi.BNluo3AbE8.kUvmKDnrRJkUCeFUVMkxZxJidHi5WZpHhoPIKjE+QpcGYw3DtCoJwHDwIJl8sUt92BL0LwJmjolMV42PlpXHSs9X2CnM+jn3M4ucjDjDLUZwr3TWuPX0PWfY+num73+0eCETITP8W3eTGETM42El.OIErprfVs1qoMt2mm47LeOECeZ7LUeJ7Lewe9p+y27atmQQ4YJOSHElomITYldlYBbaY5YlMPYldlEB8LAefWAe1cQeRWIbJBum3SUrAS2aK73.RbIJqSxySnnbaPPanCjOtvV34SkD8YeU8s8ubnflLe8cgsv3oC6WBHQotqtzFjpWq1aTuC0bbxc+r1XtS+Te4lhuPS+qOTdyUtrCRX51rGlHXQLyihB+NXaTOmuHzkT2l51mtmSWfgnNOyt7yYmiTh61I4HgVIN5Rmhhb0lRQtYRu7iRffvhbj+8KO3LTjSXx0R2ouVffOpWi+jnEWOce75oE7KjyP++90zx6bcyq5+M4c9A6N+fcmevtyOX2Yn.x1vZr0VcJEPduu77BHmW.47BHO6T.46syt88b4MkogtBSftg5FtNeng+moDVNXdgDfqsEueHM0swmIUB+7jTUWY4UvOIE1GZXf2I+U.eR11T8LXSsyfMqdFr4ZmAadsyfMW+LXyqOUav+C+gmYdneNGHncSwWLPgBR6uW4+Avvi7G
                                          
                                          d.healeyD 1 Reply Last reply Reply Quote 0
                                          • d.healeyD
                                            d.healey @pelle
                                            last edited by

                                            @pelle Why not use a combo box?

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

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

                                            11

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.8k

                                            Posts