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.
    • NatanN
      Natan @ulrik
      last edited by

      @ulrik said in Changing Selected Sample Maps With Buttons:

      you understand what is changed in the code, and why, so you can benefit from the understanding in your next proj

      Sure, I Always Do My Changes By Reading And Learning From Expert Codes.
      :folded_hands: A Ton

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

        @ulrik
        Can We Have A Prev Next Button For It :folded_hands:

        ulrikU 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            28

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.1k

                                            Posts