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.
    • 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
                                          • d.healeyD
                                            d.healey @DanH
                                            last edited by

                                            @DanH said in Expansions / Combo Box + SampleMaps:

                                            that is how I'm doing it actually

                                            Aha, that isn't what you said :p Now it makes sense.

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

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

                                            24

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.2k

                                            Posts