HISE Logo Forum
    • Categories
    • Register
    • Login

    Expansions / Combo Box + SampleMaps

    Scheduled Pinned Locked Moved General Questions
    109 Posts 4 Posters 5.7k 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 @DanH
      last edited by d.healey

      @DanH Run through the names in a loop and use the replace command to remove the extra text. I used the replace command in a recent LAF video on Patreon if you need guidance on that function.

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

      DanHD 2 Replies Last reply Reply Quote 0
      • DanHD
        DanH @d.healey
        last edited by

        @d-healey will have a crack :)

        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
        https://dhplugins.com/ | https://dcbreaks.com/
        London, UK

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

          @d-healey said in Expansions / Combo Box + SampleMaps:

          everytime I add something it automatically gets added to it - https://github.com/christophhart/HISE/pull/192 - I have no idea how it works but it's a mess

          I just figured out how to make cleaner pull requests for individual changes, which should be much more pleasant for Christoph to merge. So here it is - https://github.com/christophhart/HISE/pull/195

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

          1 Reply Last reply Reply Quote 1
          • DanHD
            DanH @d.healey
            last edited by

            @d-healey Morning, hope you had a good weekend!

            Looking into this solution and struggling to make it work with what I've got.

            So you've suggested running the names in a loop. My names (sample map names) are (I guess?) inside my 'sampleMap' array (which changes every time you switch expansion).

            I'm at a loss of how to access any kind of 'text' parameter of the sample maps, like you have done in your laf video with the icons.

            I also wondered if I need to define the bit I want to remove as below. I got this far befoe realising I'm missing a couple of pieces of the puzzle 😆

            
                local prefix = ("EXP::");
            
                    for (i = 0; i < sampleMaps.length; i++)
                {
                    sampleMaps[i].replace("EXP::");
                    prefix[i].replace("");
                }
            

            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
            https://dhplugins.com/ | https://dcbreaks.com/
            London, UK

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

              @DanH That looks good to me, just remove the prefix thing, you don't need that, and remember that replace returns a new string so you need to assign that to the array element

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

              DanHD 1 Reply Last reply Reply Quote 0
              • DanHD
                DanH @d.healey
                last edited by

                @d-healey Thanks David, how do I assign the new string?

                DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                https://dhplugins.com/ | https://dcbreaks.com/
                London, UK

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

                  @DanH

                  sampleMaps[i] = sampleMaps[i].replace(blahablahblah);

                  You could use a for in loop here if you want to be fancy efficient.

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

                  DanHD 1 Reply Last reply Reply Quote 0
                  • DanHD
                    DanH @d.healey
                    last edited by

                    @d-healey brilliant, that works, thank you :)

                    The name of the expansion is prefixed as well - which I might keep. But would there be a way of referencing that within the brackets?

                    So currently it looks like:

                    {*nameofexpansion}*sampleMapname

                    eg {DAN EXP 1}BASS 1

                    DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                    https://dhplugins.com/ | https://dcbreaks.com/
                    London, UK

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

                      @DanH Just add a second replace command on the next line.

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

                      DanHD 2 Replies Last reply Reply Quote 0
                      • DanHD
                        DanH @d.healey
                        last edited by

                        @d-healey that's clever! 😆

                        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                        https://dhplugins.com/ | https://dcbreaks.com/
                        London, UK

                        1 Reply Last reply Reply Quote 0
                        • DanHD
                          DanH @d.healey
                          last edited by DanH

                          @d-healey Argh :face_with_tears_of_joy:

                          So possibly by changing the naming system the sampler now can't find the sample maps :man_facepalming:

                          Hmmmm... So this whole thing was to display the names nicely in the combo box which is used for switching sample maps. Perhaps I can link another combo box to actually select the sample maps and this one just displays the names nicely?

                          Or a knob?

                          Actually that would probably break the system I'm already using

                          EDIT - Actually a parallel combo box might be the one

                          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                          https://dhplugins.com/ | https://dcbreaks.com/
                          London, UK

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

                            Add the {EXP: part back in when you load the sample map.

                            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

                              You might find Expansion.getWildcardReference(var relativePath) helpful

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

                              DanHD 2 Replies Last reply Reply Quote 0
                              • DanHD
                                DanH @d.healey
                                last edited by

                                @d-healey Thanks David, the parallel combo box is working for now. If I'm feeling brave later on I'll try this!

                                DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                https://dhplugins.com/ | https://dcbreaks.com/
                                London, UK

                                1 Reply Last reply Reply Quote 0
                                • DanHD
                                  DanH @d.healey
                                  last edited by DanH

                                  @d-healey Ran into a slight glitch wit my combobox method. Just to refresh:

                                  I'm using a combo box to switch between Expansions on my UI. Everything working nicely except:

                                  I've got the combo box set to 'Save in Preset'. This means that everything gets loaded as I want it in a DAW project. Great.

                                  However, the combo box saves a value, not an expansion. Therefore if a user changes the list of expansions (either by adding or removing expansions) then this system breaks, and potentially loads the wrong expansion etc.

                                  Removing Save in Preset creates a kind of hybrid when reopening the DAW project (saved in exp mode) where the samples maps are factory (as per my script) but the UI is in Expansion mode (extra images etc). Even the Preset Browser is combined, displaying the Factory folders on the left but the expansion presets on the right 😆

                                  And if the value is higher than the amount of Expansions installed it reverts to Factory

                                  Am I screwed?

                                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                  https://dhplugins.com/ | https://dcbreaks.com/
                                  London, UK

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

                                    @DanH said in Expansions / Combo Box + SampleMaps:

                                    Am I screwed?

                                    Maybe, but I think I will be too because I'm planning something similar in my project. Once I get there I'll find a solution :)

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

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

                                      @DanH said in Expansions / Combo Box + SampleMaps:

                                      Therefore if a user changes the list of expansions

                                      .. how are they doing this?

                                      Can yo use it to write/re-write a list of valid expansions to disk - and then use that to load up your combo box.?

                                      HISE Development for hire.
                                      www.channelrobot.com

                                      DanHD 1 Reply Last reply Reply Quote 0
                                      • DanHD
                                        DanH @Lindon
                                        last edited by

                                        @Lindon the combo box callback searches available expansions and makes a list

                                        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                        https://dhplugins.com/ | https://dcbreaks.com/
                                        London, UK

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

                                          @DanH That sounds like a weird way to do it. Why not juse use expHandler.getExpansionList()?

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

                                          DanHD 1 Reply Last reply Reply Quote 0
                                          • DanHD
                                            DanH @d.healey
                                            last edited by DanH

                                            @d-healey that is how I'm doing it actually 😆

                                            const var expansionNames = [];
                                            
                                            expansionNames.push("FACTORY");
                                            
                                            for(e in expHandler.getExpansionList())
                                                expansionNames.push(e.getProperties().Name);
                                                
                                            const var ExpansionSelector = Content.getComponent("ExpansionSelector");
                                            ExpansionSelector.set("items", expansionNames.join("\n"));
                                            
                                            inline function onExpansionSelectorControl(component, value)
                                            {
                                            	expHandler.setCurrentExpansion(component.getItemText());
                                            };
                                            
                                            Content.getComponent("ExpansionSelector").setControlCallback(onExpansionSelectorControl);
                                            

                                            ExpansionSelector is the combo box

                                            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                            https://dhplugins.com/ | https://dcbreaks.com/
                                            London, UK

                                            d.healeyD LindonL 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            26

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.2k

                                            Posts