HISE Logo Forum
    • Categories
    • Register
    • Login

    Changing Selected Sample Maps With Buttons

    Scheduled Pinned Locked Moved General Questions
    52 Posts 5 Posters 2.0k 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.
    • ulrikU
      ulrik @Natan
      last edited by

      @Natan absolutely, you know how to do that right? 👍

      NatanN 1 Reply Last reply Reply Quote 1
      • NatanN
        Natan @ulrik
        last edited by

        @ulrik Yeah :) I Have Time & Examples 💎 Thank You So Much

        1 Reply Last reply Reply Quote 1
        • NatanN
          Natan
          last edited by Natan

          @ulrik
          Is This Good? 🐣

          /// Perv Next Buttons
          const var PrevSample = Content.getComponent("PrevSample");
          const var NextSample = Content.getComponent("NextSample");
          
          /// Pervius Sample
          inline function onPrevSampleControl(component, value)
          {
          	if(value)
              {
                  ViewportA.setValue(ViewportA.getValue() == 0 ? MapNamesArray.length-1 : ViewportA.getValue() - 1);
              }
          };
          
          Content.getComponent("PrevSample").setControlCallback(onPrevSampleControl);
          
          
          /// Next Sample
          inline function onNextSampleControl(component, value)
          {
          	if(value)
              {
          
           ViewportA.setValue((ViewportA.getValue() + 1) % MapNamesArray.length);
              }
          };
          
          Content.getComponent("NextSample").setControlCallback(onNextSampleControl);
          
          HiseSnippet 1967.3oc4X8uaabiDdW6rNw5hCZKZA5+T.Bgd.RvNJRINoGN2zHKEmBiKNQvxM3vkZzxrKkDaVQtfKWm3FDf9nbOB2iPeTtGg9Fb2Pxc0xc8JEEg51h6jAjE+wL7a9lgbFxABtOINlKbb27jyiHNtW2a34L4j9SvTlygOzw8FdGgikDAxzUuyivwwj.GW20+ZUGtadEG8me4A8vgXlOIuKGmmwo9jGSmRk48Nn6eiFF9Hb.4D5TqYua2C84r97PdBfm08Z6Dg8eIdL4IX0zVyywciCBnRtXnDKIwNtWoGO37gS3uhYl+ynwzWDRTM53LDTjo6GwCCTHV0qS+IzvfAY1criiq2fbVXcCK7wdGQCny5OmM9.8.nbIr4C20VD75XCu1KO7bsf2ULv6C8F5KnQx7QTX6O4cHCbTivfKvFVl45r1mWyqOGlAS1ZJ9kjGIfFyjnw8Z2dGzca2t4daUaqZfiHVhNCKPOiRdUDWH2GceTl3iIx97oQbFznQ8YyntR1bIGhmFEBAN2GoCoTRk1Ui5o+njD8AdaLWbdOIKFD64UudCnXFOtdyc1pFZtepVz9S3TwpI5.bvpIXORXHH4oZd01Z01ggHNBGEqhx0V8o6oT1stEBMfUfcTfegyu+jB5GP7bmtQ+A1yWCzEp+dgFaXDWfZPgwZuGhh9Rztv+1d6laU6MF5oJKqUTR7DfFYn5aihvhXBD60ftcmVsaphBzDXEVXpb8mfpilqfUXpYqWvhjqJSNUvdgUKXs2VzKBxoEaeg.ethtpx32oRSyJXpBCXmJQ2o6kKj8unrPJifFkv7kTNCAGjZsYREYJ3gM7yBK2AvdXBI2kQGgZj0kp8axUdH2GGhnr.xqUmAXo1V5Ne5nb81rR3M6DhVwDXGAURlFWemhT2y055zV+.mxZT+aY0aZqqbM3OAyFSBZ.dB0.u03OzQjuPx.XV.g4FHLnZ0SYh93vvW.YWZTIOk4kuHsFxwAFOBb74zYnZADqg8vf3mAwQfIdAFRicerrBrWxS.SRc3xyTqPilnGXq145Zvxln+Jpd8T9p7pmdRbqbKCbKMJ5ZrVlSet19Nc1VVXi.OjzJRPgMIKkXZpsPHQYmxbX4loGgp96Vv4QCHhyPOg7ZIpWhTB.ovoeBxYFcL2DW4SoTdHkNeGxlOk5FXkAHZRbJmV0lx7kbwaI2jNZdaGKvblPg7trhNtOb7LDhTvkzJjvFKmbyNPDQkBcSTmlyBTdq1vd2bW06qtfol49TLk1qMeZJmceuoI3GUvPUSQaCVK5OWIEsbrfcTP0rvErDCKXaqbI4orFMq8lZaV6s0PkGZznJGKUcppopZXUo0hEIXCVxzWPDYzY1DgZLKVDq27Kh0tFaeC+XMQN6PFU9zHBadk15jRppZvSQELUotD2OJsDWRPlmygFnpwclizQCb35CajcYCmxJ4FoJwb7fVAWyyT9XlzdtKujlpGe+kbCOU58Y3c18kVFYupmtJfRK52b3CwRr5xAoTHPqQDgjp7XtOjbFbqKyUE1z6gj3WJ4QfplE3BWyaoY4WaectysaHgPa0B.azgP+XmWQCjSlMgeZT2ID53IVW7i1MJLYLkM.KfsavEOLWrKWCIwvcEikJyTYm55Dbb+DOnHtN0futs5q6n9ZWGbHcLap1X1vKjLR5LBnhgzezhha20wxlu56NnvxXeY2BFKgggnd0k+dLAKXp6UIvAT9WK3IQ1N0hrfy2uzPHM5ZNP3mdb2KaHjFlNO.7sW5.HKVedHf7qDB1btH35d4YsrgwdVv3e+CcowGwUgdXAzs6ZUfpXrpvGSbspsYux5deYocINGT.Y0V.xxyjXgre9eXgr+4pfrxaR61MCqeUEX8huEwG3cDOHIDKK9LIp2FJc.HsSg2iP8lCrXp7baG1kxamrrv8Cg8+R+IUi20p.uvIuW13M8kn1x6fQiH9xbvdEuG82u7e1Ian7YmjkrPJH3oT13zKMnwyldYs9U3sAiV52FDhf0WSnvA9+b2dI.cIJ16+pqdo1eJOgUXsRA9wjHBVBdeKYtV2iOVepRYo9kGniUNQ.02ALg8.OkQ.ZWZai8E733Qf4n0Ur8PCRDiUbUdOGSNiHhK12SRlBtdFiDFmkV7ahIJWM0+HrTPKjeVuJsOAqc2q4YZ2oT6aWp8cJ0d2Rsuao12qT6uHu8rKPpBLTOXaohIu5xULInfAXvjslYO53YJ2zSd7a6bZVCEqWDth2Sci+P+bu+1cB65KGbeGuH8lYXbHU4cNfcFrsD5QgwOBp8bDNITl0amBn7HNiGMgyn9E2D.A0iGSD1XuRCZeoD1Cl2yG28XRHAGasK9y69X3lkXQw81uWbQmkmKVj+5S8LvEoNWC8+FYFW++6yLtHp6Fo4EQvpC2q5O194q6oOJGox796ETOlmHgLpYY07fTeCgz89D6DfqoRpZZ2N65vCIr.ci+C7IcvNYYKUC1IaPG+LUA1V5u02j1ccSox5B9Bg7vg1gzwPQEJHAYz9MAkSw9B924adc.EVultG.krzaLejpMpyrmEvqcq1NSgbUemuuZivMAFtZYt8JHycVAY1cEj4tqfL2aEj4KVAY9KKTFUYB6mH4SMGRBcL3.Sfk6AyBrV24+ZunVRI
          
          NatanN 1 Reply Last reply Reply Quote 0
          • NatanN
            Natan @Natan
            last edited by

            @Natan No It's Not 😶

            1 Reply Last reply Reply Quote 0
            • NatanN
              Natan
              last edited by Natan

              Prev Fixed, But Next Has Issues :) LOL Both Wont Load SampleMaps : )

              /// Perv Next Buttons
              const var PrevSample = Content.getComponent("PrevSample");
              const var NextSample = Content.getComponent("NextSample");
              
              /// Pervius Sample
              inline function onPrevSampleControl(component, value)
              {
              	if(value)
                  {
                      ViewportA.setValue(ViewportA.getValue() == 0 ? MapNamesArray[value]-1 : ViewportA.getValue() - 1);
                  }
              };
              
              Content.getComponent("PrevSample").setControlCallback(onPrevSampleControl);
              
              
              /// Next Sample
              inline function onNextSampleControl(component, value)
              {
              	if(value)
                  {
                      ViewportA.setValue((ViewportA.getValue() + 1) % MapNamesArray[value]); // This Not Works
                  }
              };
              
              Content.getComponent("NextSample").setControlCallback(onNextSampleControl);
              
              MikeBM ulrikU 2 Replies Last reply Reply Quote 0
              • NatanN
                Natan
                last edited by

                Prev Fixed :) Go Boy Gooooo 🙌

                inline function onPrevSampleControl(component, value)
                {
                    local activeIndex;
                        
                    for (cat in CategoryBtns)
                    {
                        cat.getValue() ? activeIndex = CategoryBtns.indexOf(cat) : "";
                    }
                    
                	if(value)
                    {
                        ViewportA.setValue(ViewportA.getValue() == 0 ? Sampler.loadSampleMap(MapNamesArray[activeIndex][value]-1) : ViewportA.getValue() - 1);
                        ViewportA.changed();
                    }
                };
                
                Content.getComponent("PrevSample").setControlCallback(onPrevSampleControl);
                
                1 Reply Last reply Reply Quote 0
                • MikeBM
                  MikeB @Natan
                  last edited by

                  @Natan maybe

                  ViewportA.changed();
                  

                  "One hour of trial and error can save 10 minutes of reading the manual."
                  "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                  HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                  NatanN 1 Reply Last reply Reply Quote 1
                  • NatanN
                    Natan @MikeB
                    last edited by

                    @MikeB Thanks Mike, Yeah I Just Added That:)

                    MikeBM 1 Reply Last reply Reply Quote 1
                    • MikeBM
                      MikeB @Natan
                      last edited by

                      @Natan Over thousands of miles the same thought :-)

                      "One hour of trial and error can save 10 minutes of reading the manual."
                      "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                      HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                      NatanN 1 Reply Last reply Reply Quote 1
                      • NatanN
                        Natan @MikeB
                        last edited by

                        @MikeB Exactly :) Thanks A Ton

                        1 Reply Last reply Reply Quote 1
                        • NatanN
                          Natan
                          last edited by

                          There is A Small Glitch Once It Reaches To The Max List Item For Next, And Viceversa For Prev.
                          Wont Loop Inside The Viewport :/

                          /// Perv Next Buttons
                          const var PrevSample = Content.getComponent("PrevSample");
                          const var NextSample = Content.getComponent("NextSample");
                          
                          /// Pervius Sample
                          inline function onPrevSampleControl(component, value)
                          {
                              local activeIndex;
                                  
                              for (cat in CategoryBtns)
                              {
                                  cat.getValue() ? activeIndex = CategoryBtns.indexOf(cat) : "";
                              }
                              
                          	if(value)
                              {
                                  ViewportA.setValue(ViewportA.getValue() == 0 ? Sampler.loadSampleMap(MapNamesArray[activeIndex][value]-1) : ViewportA.getValue() - 1);
                                  ViewportA.changed();
                              }
                          };
                          
                          Content.getComponent("PrevSample").setControlCallback(onPrevSampleControl);
                          
                          
                          /// Next Sample
                          inline function onNextSampleControl(component, value)
                          {
                              local activeIndex;
                                  
                              for (cat in CategoryBtns)
                              {
                                  cat.getValue() ? activeIndex = CategoryBtns.indexOf(cat) : "";
                              }
                              
                          	if(value)
                              {
                                  ViewportA.getValue() == Sampler.loadSampleMap(MapNamesArray[activeIndex][value]) ? ViewportA.setValue(1): ViewportA.setValue(ViewportA.getValue() + 1);
                                  ViewportA.changed();
                              }
                          };
                          
                          Content.getComponent("NextSample").setControlCallback(onNextSampleControl);
                          
                          ulrikU 1 Reply Last reply Reply Quote 0
                          • ulrikU
                            ulrik @Natan
                            last edited by

                            This post is deleted!
                            1 Reply Last reply Reply Quote 0
                            • ulrikU
                              ulrik @Natan
                              last edited by

                              @Natan

                              inline function onPrevSampleControl(component, value)
                              {   
                              	if(value)
                                  {
                                      //  get current value from ViewportA
                                      local currentValue = ViewportA.getValue();
                              
                                      currentValue < 1 ? ViewportA.setValue(4) : ViewportA.setValue(current - 1);
                                      ViewportA.changed();
                                  }
                              };
                              
                              ulrikU 1 Reply Last reply Reply Quote 1
                              • ulrikU
                                ulrik @ulrik
                                last edited by

                                @ulrik so prev button count down to 1, if < 1 it starts at the largest value (4)
                                Now you need to go the other way, if next button > ? then...

                                NatanN 1 Reply Last reply Reply Quote 0
                                • MikeBM
                                  MikeB
                                  last edited by

                                  @Natan

                                  Maybe this will help you?

                                  HiseSnippet 1529.3oc4XstaaaCElJNpq1qYncq+X+ZfvXCPFsNwt21v15pyEmgrkzXDmVTfhhLFIZahJSJPQmVut.rGk9nrGo8FrwKRVRtxWpWcxvl.BPN7bN774yMxCawYt3vPFGXU73gAXf00raOjJ5scODgB1aGf0WYW6NUeL90hps33ypdDh5w5C2bfGgsOiEzxGMDyAaML.EFh8.VVE9QkpVEWEn+9yGsExGQcwIKA.OkQbw6S5SDIq1pwOS782E4gOlzOkz2qwdtL51Le1.ILKXWCDfbeIpK9wHkXqXCrtRSOhfwaKPBbHvZ0sXdCa2i8JpQ9mRBIm5iUD0AskajY4cY9dJDqVErcOhuWqX2QH.XY2Jw4Tv3bto8ADOxn0SbRWWy.lnQZ+g0JSCd0SCuZyO7rRAuUMv6F1sc4j.QBGE19X68nBLuCRFBRCKirfU9sqYuMSJAUrdezKw6xkDizv4A0pca38qUqx2sVo0JswFv8YHOS3uCwGGBITACFvX9vpK0u0J0j1kPwq6KAf196pruDorVRq6n.3FaT8B5S4LhbHxjyPA7LDObYaxQVZ7xu5vGB0ksq2EKzoJZJmxZ4fJAgQRVV4mR1nnx4GBiSATa.qe.iJIbJaXOlN+LkcZ8Iphl6XZnZeLQETLGSdUmlIJuhY4K9nsLRuImiFBai5GXR7gIogU0Uq7O7QZh5edH74kC0lsV80eE5rx2Nl7NYIuaVx6kk79YIefl7EWR0MlrHiyDFh8wtBBitDLHg5Kaa.6Lfps.jQ0lVkbwk8Mbiyrtsze6O.WYsRuYsRP42nJJcX1fzQsVyu1Z8PrPkO3T9MsN5vep41GextGt+NMO57x2REIet1DuPk8dt7uoVAo1qHPtMx2+T4gdNYw9kRQPTGisFHDKgvUJqYLT9dACuSR4GxKNmUpbizp3rIZS5.chWVQGkDn9z9bEPdphuiyAHYdAWt4xCebTGOVohBBYE2sGh1E64Dy4bSH+R4HJ8M2V1QrIUsoL9rK1lo6uar6uB7GRVxobeBsbE3iFOH8NJUEVuB7amnXxMB85x53XwYFDm1AS4mvlxIbocQE8k3MYAvK9z.k0Wnzfh4lC78vwCcyQNvslYNfJY5eRNf4xL4mCjxCbQmCjNNvD3CoNUJ8lREKcdI33r5zIWdQ.2GyyksZjM9zTzgNn+oXdb.OVP4rKYGNxdxCGkd1MWi2OkfL5dTh3v.LcRiLAhBYxgmVMBURQE5Qm9jnQmLkG.hbBoqZaN+.nQb5oWASR619D4k.0Z+Q15rmwU9pM.ygouhsJW48vvYzU0qIGcexd6fDH0jiQ9AouI.yEDka2ZG7YxQxMyQVzdGb3KEr.siJJ2VFZlsq50ir3e7rFCSH3MHgGv5K2FDeXb7IYmuxLciSXia7rFgBbPaxuhS+hCx9AIj2rAXt9QD4zSz72eRJK8V+o+SvdVAjj88srT66uj299ti1ec6CXdC7Qhru5f5oVhXHq1xLduZDdZHQLLsiYo7TDyKbugcKhvsW93ckbvqLWcYi2nG1YM6lc5Hm.IArqZu6yV9uhSZn7YwPYzv8XyC3bS62cTiODO3Vvb+faxIgbkgsL0X5X4wb4QaDZ2zlRAylTjzW3kd4iXLg5.lzO3mYlJoGkKjaeFowmg4gY2A0fUl276KrGe7pzC7B5qbG1VJczcBL+quDWZSkdglTuXRqByc.983UDW8e0uh3EWmlByGbmwCcVLFisIp3cS5YXeYchFiep7TqNnA9h3UyVjb.ixB5wnD2r4YBNoaWLOM1y8GzlBgLWO8wJGg8wnvTIzeYi8kW5EwGuT48vWTe98ESKd841F3BUU1v+abBQg+edBwQrABYG1CPxDUUurGOneaYiYWrDITJ1WcmYqUT2MzPWKteVaL0SS7WxuHl0UzVQLqGy7BwF8Qtb1ItlKvpxkupdE4uaptmdQ6CTzvQWY11t150j8x8Hm35pb2UqC.4qycV.ct6Bny8V.ct+BnyCV.c95EPmuYp5nNLZyABVeSonbgVM0iPXYM57cqBf+FLJN3.G
                                  

                                  "One hour of trial and error can save 10 minutes of reading the manual."
                                  "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                                  HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                                  1 Reply Last reply Reply Quote 0
                                  • NatanN
                                    Natan @ulrik
                                    last edited by

                                    @ulrik Thank You Ulrik
                                    But The Viewport Max Value is Not 4 For My Project,
                                    It's Greater Than 100 Or 50 In Other Sample map Lists.

                                    ulrikU 1 Reply Last reply Reply Quote 0
                                    • ulrikU
                                      ulrik @Natan
                                      last edited by

                                      @Natan it was 4 in the example you provided, you just have to exchange it with the SampleMapList.length

                                      ListWith100Maps.length etc...
                                      
                                      NatanN 2 Replies Last reply Reply Quote 0
                                      • NatanN
                                        Natan @ulrik
                                        last edited by

                                        @ulrik Thank Ulrik, Just Found An Issue With the Length Of Each Sample map names.

                                        If I Select First Category And Select Sample Map Number. 100
                                        And Then By Selecting Second Category That Has 50,
                                        Console Shows An Error!
                                        Because The Number 100 "Value" Is Not Exist In The Category That Holds 50 Samplemaps.
                                        And It Points Me to This Line

                                        Sampler.loadSampleMap(MapNamesArray[activeIndex][value]);

                                        1 Reply Last reply Reply Quote 0
                                        • NatanN
                                          Natan @ulrik
                                          last edited by

                                          @ulrik said in Changing Selected Sample Maps With Buttons:

                                          ListWith100Maps.length etc...

                                          That 4 Was An Example :)
                                          One Has 105
                                          Second HAs 45
                                          And Last 2 50 Maps.

                                          1 Reply Last reply Reply Quote 0
                                          • NatanN
                                            Natan
                                            last edited by

                                            Okey I Removed Viewport.changed(); On "CategoryBtnsControl" Callback,
                                            And Now it Makes More Sense. And Error is Gone.

                                            With That Scenario, Once You Click On Any Of The Category BTN's,
                                            A New Sample map Gets Loaded, And It Is Not Good, Let Say End User Just Wants To Take A Look At The Maps, And Don't Want to Pick A New Sample Map, With That Idea, He/she Easily Loses His/Her Preset.

                                            Okey Back At It :)
                                            Just Prev Next And We Are Good To 🚀

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

                                            33

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.1k

                                            Posts