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

                                        @Natan I made this

                                        HiseSnippet 2070.3oc4Y8laabiEeFaOIwJwAsEcA1ur.DBEKjfcUkRbRKpSZjkhSgwZmHX4FrXSM5ROCkFVOhb.GNNwMn.8HrGg8HrGgdT1iPuA69HmYzvY7HYEg51hV8AYQx26weu+wGezCDbWRTDWXYu9wWDRrruiyvKXR+99XJyZ+mZYeWmCwQRh.kLUuKBwQQDOKa6U+R0D1qulk9yO8jd3.LykjOkk0K4TWxAzITY9rC592nAAOC6QNlNwf5s6tuKm0mGviA7rpSaqPr6Y3wjmiUjshik8M1yiJ4hgRrjDYYuVOt2EC84ulkP+KoQzSCHpAcrFBBJY5mwC7THVMqUeeZf2fL8Nxxx1YPtUX0DqvG5bH0iNc9bqw6oW.kygo8vdk4AuNlvq8hCOaC3sVB7demgtBZnLeEE1tsy9LvQMBCt.SXkPq0J+qa6zmCTvjslfOi7LALXJGMdX61agdP61M2YiZaTCbDQRz4XA5kTxqC4B4tnGixXeLQ1mOIjyfAMpOkh5Jdy4bHdRX.D37XjNjRwU5TMpm9iRbzGrai4hK5IYQ.aup58a.Ey3Q0at0F0Py7S0r12mSEKGqCvdKGi8HAA.mmnsqlZqVORLDGhCiTQ4Zs9jcTB6S9DDZ.qf0QA94Ree+BxGP7LIOQ9dlzqA5bkeufDcXDWfZPg0ZuChhdDZa3OatYyMp81DySUZVqv3HevLxP02DEhEQDH1qAcyNsZ2TEEnMfUngo702GUGMSFqPUy1Ou4wWUpbJi8BplwZeeQuHvmlscEB7EJyUUJ+VUpZFASUn.aUI5NYmblJ3rEjyeN4MxqH0AnJQfKUnrZCxXOIdtZt2nFkEPYDznXlqjxYH3bcibakzE7fFtYhdKPGBhI4QPzQnFYSoF+17sJf6hCPTlG4MpijLDaK8juXTtbaVvZk8qoGX0Jh.ZEURlDUeqhdxWok0Is9VNk0n9Wyp2zTVpjg8QRN+LD90faW5SiPZM9ThKNNhfnRjTPGOlHhz+lC3F6gvnnL+YQoI8wRzD5XeIhwkHxanQRSJxwrqOlMl30.BEUK88IAj5TxSkLvvTvljaRgEU5apsuONH3Tn7ZiJ8LYg4W1QpzhjP.n9wjonZNtxD+EFX+bHQBLpWxmnwtKn+WF6k78.QpPxWp1gFMQOwTryLX.Kah9bT85o1qx6dZonV4ZF3bZTLXvXaN4UZ86jomYAof7.RqPAERQVH1zl1BAgkcJyvJ2LsFh9raHUF8WQpTRzim8mpREMOq3pSEeGSHME97SHS3yMVHfEztTf8byRtedV7b.gMV5WlorD5lshBCnxjj2VAZZq73.kpkhdnhVSU5nRIxI3sEOmq.heDpCDFVvYlf5hX7iQcTAgyltDooHamh61LS7qLXV8gD.m+.JgxKrXJwW7Xzkfa0ZU6EQK17cUKl0AYlwRKvAYUDWqNHyHx+4bI4ErFMq81ZqWC11xKMZTkqkJL0MWqZYUaLh4wXCV7jSIhrTqLBg6yWrgAmY2vfY+LtIEmMHjy1mQkuHjvlUaDVoUzU86jhJfTotchOHscBhWlaxh5o5mXpWyRCbyd8rJKj6lJjdwRImoEvsbRtp9xxcxs0KycptbEbeCG0UpVNduoi9lWUv7Ws+SwRrporTyIXhCIBIU48reJ4bna2jVzV24ojnyj7PPbSuAEzd8Bawei4Feg4.IDhq1.HbGRChrdM0S5OkfeXTWeh5dD4rP6FFDOlxFfEPsIngujFpyk.bgkCf6a.gF11J5UmeZY+mbfKq2oF708Tece0WaagCniYSzJyMbBHijVi.SwP52YXoZ20xPmu4UGfXnrm0sfxRXXHCP0z8ADrfo5mUf8n7uTviCMCoJZEr9mKLDRixlAD9gC5dcCgzP0YAfu9ZG.Yw6yBAjelPPsYhf63j2YhIL1w.F+2usKM5PtJzCKfosWoBTEgU22JItVMNIWYUmGUJKwZutlJvZNer5Pybnd64.07tfLf5O9OLf5+dYfZ4r1tcy.+WrHf+xuRz64bH2KN.KK9.VpWsKcAnHUgWJR8ZPrHp7BSW50xqZsnv88gSHjt9Ui2Up.uvYyW23M8MB2vYuQiHtxbvtlyy96W+OHnIT9KGmUNQJH3IT13ztYz3YcmrQ+L7psgK7q1Bgz59WJTR3G61KFLWhhy9e5p2pcmviYE1qTfeDIjfkf22fma08nizQ9k45mdhNV4XAbaPvRXtvKXDvrKM0w9BdTzHPczxJxboAwhwJaU9LGQNGZju3bOOdB35YL351YEN+pHhxUScODCM+WnBtdWZeLV6tWwIYbmRiuWow2uz3sKM9AkF+vRi+z7wS6rUEXndJ8RW87lK1UOAAL.CprAk8nimJ7jYLiemZl0Pw3s5q3ktuwuoeH9e4Ngc0ECtWw+qf0yv3Ppx6rG6bHsDlQgwO.tc5HbbfLa1NEP4gbFOzmyntESBReQKSrWoBsqTB4f4y7gcOhDPvQFYweT2CnLnTXwb62IaQmE2VLO+0e1IAtH04ZneeTYb0+vWYbdlt6lVWDA6Nz40us8y2wQeTNRU48WKndDOVBUTypp4.k9FBk6cIlE.WQUTMYba0XEfFRXd5A+O3S5hcxpVpVrS1hVtYhBzszeq601d0j6NquvW.TGNvLjNBtTgBRPEseQP4Drqf+MtIugfBq2ROCfRVZO0GpFi5j83ANNsa01ZBTq5abcytqd07bukfm6uD7r8RvyCVBdd3RvymtD77YykG00D1MVxmjbHILwf8RBrr2aZf0pV+eP6yAeT
                                        
                                        ulrikU 1 Reply Last reply Reply Quote 1
                                        • ulrikU
                                          ulrik @ulrik
                                          last edited by

                                          @ulrik this will check the length of current samplemaplist, and act after that

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

                                            @ulrik Wonderful :) Appreciate Your Help Ulrik, Your The Best :gem_stone:

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

                                            29

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.1k

                                            Posts