HISE Logo Forum
    • Categories
    • Register
    • Login

    Sliderpack resize "issues"

    Scheduled Pinned Locked Moved General Questions
    21 Posts 4 Posters 829 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.
    • lalalandsynthL
      lalalandsynth
      last edited by

      When Sliderpack is set to for example 16 steps, then changed to 8 steps and then back to 16 , the 8 steps that went out of "scope" have lost their values.

      Is there a way to retain the values ?stepper.gif

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

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

        You need to store the value of the additional sliders and restore them when the number changes. You can use a data object for this.

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

        lalalandsynthL Christoph HartC 2 Replies Last reply Reply Quote 2
        • lalalandsynthL
          lalalandsynth @d.healey
          last edited by lalalandsynth

          @d-healey Sweet , what is a data object ? 🐷
          Invisible sliderpack that holds all the values ?

          https://lalalandaudio.com/

          https://lalalandsynth.com/

          https://www.facebook.com/lalalandsynth

          https://www.facebook.com/lalalandsynth

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

            @lalalandsynth Engine.createSliderPackDataObject() I think... you could also just use another slider pack.

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

            lalalandsynthL 1 Reply Last reply Reply Quote 1
            • lalalandsynthL
              lalalandsynth @d.healey
              last edited by

              @d-healey ah , ok , Engine.createSliderPackDataObject() is not in the API as far as I can tell.

              https://lalalandaudio.com/

              https://lalalandsynth.com/

              https://www.facebook.com/lalalandsynth

              https://www.facebook.com/lalalandsynth

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

                @lalalandsynth c10f15f5-f38d-45a1-8c47-9ee6b6a3bef5-image.png

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

                lalalandsynthL 2 Replies Last reply Reply Quote 1
                • lalalandsynthL
                  lalalandsynth @d.healey
                  last edited by

                  @d-healey AH I was searching for the "object" part.
                  Thanks !

                  https://lalalandaudio.com/

                  https://lalalandsynth.com/

                  https://www.facebook.com/lalalandsynth

                  https://www.facebook.com/lalalandsynth

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

                    @d-healey Could this method be used for copy/paste shapes with the slider pack and table ?

                    Or even undo /redo ?
                    Undo/Redo manager does not work for Scriptnode sliderpacks and tables.

                    HiseSnippet 1987.3ocuY0sbaiaEFzVvwhab5l1z64r2T4ooZDkrjkZlo0Qx16pcWaqtxwM6zYZJDIrDpIIXHgjs1LYldYeL1Gk9HzGgbUutuAsGveDgr0Oz1aK0LZHN.378gCNmCvQpW.2hFFxCPZEOepOEo8Tb+odhQcFQXdntGhzdF9DRnfFXDKp8TeRXH0Foos4WJEnUr.J54e+6aSbHdVzLQHzEblE8aYtLQlzdG7MLGmiI1zyYtJiduC5Zw85vc3iA9rItBxmXcEYH8ThbXafQZacjMSvC5KHBZHRC2laOs+H90dwi+BVHafCU1vD0GTTr3i4N1RFKe+rIzfIL50pxPcFwbr6kZKBQHsB8xrLaFaYdA9DlMal7LKzmG0gQ1LTsQZaLOk2bNJapR4JJTdATRSgREhozyw8sBX9hrdj74yvc8fMrKIvVgBU1HdrnM9Uaf6vgQ3IJ6Rthdb.zX1LJ0nRkWZTuRkce0N5weXdNLOpwki8rDLtmA2armMusvSpk.tSIKtqO2Cz2KMlPbFS2cG8OritA7vtznTrHPPQoji7FBJqrTCkjPHk8wcz+H7ZJoFREcR0XouHAquX2xgR4QH1g33L.7MJcaprJRGPyAoKtTFKmd9XbBPKiwyyicekBEOkKnm4UZW8OnWT+i5F2tqKubg8knJGZvB6VFkErpIVxar6.ZPpgHcffa1pB2LWV3lUrUQYfbutdLwY9zj1206FkXJA+b8DVACUD4k+rDu71iEBtGhANyEwwMLQQTVMiC5dL8pOtoW6dL89NLaZPzzeB9a73CLeLSt5iYx4g1edxjA25A717ahl9mgSatRxWHVE+74vuG37GojcvYBVfZrIBBR6OgarWYg840Z81y95AM5CeEdVSuIUZcds5+gF8G99uL7L30qa0CdsQmiD1AKo8WOnY8N7IUd+Y+01+wwsJeWhtSBQOmHclkb7YpRVJIqiq0n77OSNqSy1Ma8Uc61sYmn1vWW9qkc0Jt88F9pKCd37Pza5dn7cH6dR7CDS4SCDLY3p1gzIvouwGUTDeHM7JA2Go8ylkqB7HVgSdRhJzMyv9eFbvzLh7pCtlYKFkI36OHjLg10qW.Ex7IO8iEdB2E.hDLUdBDJmHmjTWA4OMTE4e6iBYbNRqjg7+36UQ9Oev3P5a.5cBwCtYRv8W2UUzsw6Uz8AOdcWSQ29e3Qn6EjsJSyn2pp4KejZV0d7i9JZ9u8X0rp0.oZMLFtFM+jblD7FUGiL8268G3Rf9vZEgVLA0EhF+EXS8p50z2SutdC880ap2BsZVbexipvDgBS9j+AKXcklw4aICnNQJKECOtM0PDkHRQi+NEM9WBSi8vZ+Kn8HJa3H4lg1KjXSuAd23NZyvlSCM73Biq4AWgT4z14LI7R3yOJx3SAMU9bLz6cMv9oW5nqcTwNQPXb7aMmiTakyTyKiTSWEox0NxVXSmAN2A.r1m.8sDkqtCb5YFxUtga7R2XvXgQnf4DsADlWNTMgCXsF.RQ3G7SC92sXFnLJt8XGhX9ZqjEYlzAbo04psRVzhWHSLUsHzaWvUg7UvUV8fK75o4jtOG2iIrFsX9twB3Kbz8+q4aR4q6fO5xKoVhLxV.e7aWYspEx288WSozp0stULWzSb0.7kDYtvPUBc5X2n.MYsGPtQDBDjk0KRJ3.hRJrU6uiyJtwOf5SBnmy64PlVJj356P+NXY8RiANbqq5y9A5cqHJI4Pa4HJYMh34QcBeHENsUtK52bkE8i9N9XAya3IDQ.SFGJM.7wAVzNIrK0xjzthrszspO0yNpw+AdR5zblAC5zLsyrRuPmREIgmZZIuCqk3snCC8SEcAMHT5aCmyVoL7A8ZGG90xLJrDudXuKRVOtyT+QbOlkTT7HRo9qc4iiNFOh+eEI7bByQFlnswovAGf1OlXAFwo8HxjMOGKqqD7coAksl4COGuxbchhU.6cOR.wkJ.9FaqkJN8GXJ1NAbxMJKHbc5TGYHRXS4HisCQbYq3eJLKo236DwI+mid+xH5A9DkUFysXTtQuPVBjyIACohvjSMbn2jdg+j.iz2PxzK1zaR07QfioMnungq8FbiJYUozZVoI+v9Jkt.eUa+xSNp1jY8Op47i+VkxnXdkw4osfLGmv7tHtrErzGAcB4lYsMg1Ry4Svwhd8XA2EBThV6HkJXtE.OUA.brBfqV4yQKGL3Tzlff45suf5KC+i8HhpbxiFEXOGhyvvcrifMGFl2BiZUUwvbNLjXtRTJDiRnEA1DWmYKogNzYql62nZ8bn4gDWWRd07NPm60Z+562zb0JOx3rMNzkyA2+Ls+B45sR7i4dspXZ1vTArswxNyv6oRxTuR8ZR3xrZKTKqaopG6N3xsy6p8oQq1l60n49qewVDCZFRJHVs+ViEr8O2nWGNaEWWy5VBy6FOWWqCAL1lE7PAXMKgshMUWQmFN0yZ0lpVqNzr+Uzqiywt1P0n8eHGZN22ymYZaLHeDW7S5VgR1snaFIaMUl7N5vrtgWH6ExEjpF3vw1b9UtjnikeP+fO+e4RDtDq.96RNCTt31NRBXR7h92aJhOQ11X1ulVrozkYydmkk7xn+F3hrKdNUe.yo1CXN68.lS8GvbZ7.ly9Of4zbkyQ9mVkbzq7JaffdGEeaAsi7jWoH973+Kn.wSbC
                    
                    

                    https://lalalandaudio.com/

                    https://lalalandsynth.com/

                    https://www.facebook.com/lalalandsynth

                    https://www.facebook.com/lalalandsynth

                    DanHD 1 Reply Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart @d.healey
                      last edited by

                      @d-healey said in Sliderpack resize "issues":

                      You need to store the value of the additional sliders and restore them when the number changes. You can use a data object for this.

                      That‘s actually pretty hacky. A clean solution would be the possibility of defining a fixed upper limit and then the resizing would just change the pointer instead of reallocating new memory when you resize a slider pack.

                      This should be rather easy to implement, I‘ll see what I can do later.

                      1 Reply Last reply Reply Quote 4
                      • DanHD
                        DanH @lalalandsynth
                        last edited by DanH

                        @lalalandsynth here's what I'm using...

                        inline function onARPSLIDERSNUMBERControl(component, value)
                        {
                            		local lastAmount = SliderPack5.get("sliderAmount");
                            
                                		for (i = 0; i < SliderPack4.get("sliderAmount"); i++)
                                {
                                   	SliderPack4Data[i] = SliderPack4.getSliderValueAt(i);
                        
                            	}
                            	
                           		
                                		for (i = 0; i < SliderPack5.get("sliderAmount"); i++)
                                {   
                                    SliderPack5Data[i] = SliderPack5.getSliderValueAt(i);
                        
                            	}
                        
                        					SliderPack4.set("sliderAmount", value);
                        					SliderPack5.set("sliderAmount", value);
                        			              	
                        
                                            Arpeggiator1.setAttribute(Arpeggiator1.NumStepSlider,value);
                        
                        
                        	if (lastAmount < value)
                            {
                                    	for (i = 0; i < SliderPack4.get("sliderAmount"); i++)
                                    	    {
                                        	    SliderPack4.setSliderAtIndex(i, SliderPack4Data[i]);
                        
                                            }
                                
                                
                                    	for (i = 0; i < SliderPack5.get("sliderAmount"); i++)
                                    	    {
                                       	 	    SliderPack5.setSliderAtIndex(i, SliderPack5Data[i]);
                        
                                            }
                                    
                            }
                                        NOTEAMOUNTLABEL.set("text", Math.round(value));
                        
                        };
                        Content.getComponent("ARPSLIDERSNUMBER").setControlCallback(onARPSLIDERSNUMBERControl);
                        

                        This was for two sliderpacks btw.

                        Would much prefer @Christoph-Hart's permanent solution however 😆

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

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

                          Looks like Christoph's solution is ready :)

                          Link Preview Image
                          - added SliderPackData.setUsePreallocatedLength() to retain slider va… · christophhart/HISE@2b7471a

                          The open source framework for sample based instruments - - added SliderPackData.setUsePreallocatedLength() to retain slider va… · christophhart/HISE@2b7471a

                          favicon

                          GitHub (github.com)

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

                          lalalandsynthL 1 Reply Last reply Reply Quote 1
                          • lalalandsynthL
                            lalalandsynth @d.healey
                            last edited by lalalandsynth

                            @d-healey Awesome!

                            https://lalalandaudio.com/

                            https://lalalandsynth.com/

                            https://www.facebook.com/lalalandsynth

                            https://www.facebook.com/lalalandsynth

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

                              @lalalandsynth so how do we implement this?

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

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

                                @DanH is it something like

                                Sliderpack1.setUsePreallocatedLength(16);
                                

                                Assuming that our max limit of sliders is going to be 16?

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

                                Christoph HartC 1 Reply Last reply Reply Quote 0
                                • Christoph HartC
                                  Christoph Hart @DanH
                                  last edited by Christoph Hart

                                  Basically yes, but I haven't pushed the autocomplete yet (I did just now). I also made it accesible through the SliderPack class, not just the SliderPackData class like before.

                                  DanHD 1 Reply Last reply Reply Quote 1
                                  • DanHD
                                    DanH @Christoph Hart
                                    last edited by

                                    @Christoph-Hart Thanks. I'm getting 'Unknown Function' error...

                                    HiseSnippet 1158.3ocuW0sSiaDEdbHCcSnvBaWodazdEqJMJdWJcWUUUHPnMkEvByhVo8hsC1mjLBmYbsGSIspR8coOU8snuAsmw1I1ALYchn0WDk4727Mm+lyXEHcfvPY.wn14i7AhwmRsGITC1e.iKHcOfXrF8XVnBBZjPp8HeVXH3RLLV560DLpUkD+82eWalGS3.YjHjKjbG3M7gbUFUqcOh64cHyENmOLmzauaWGoXeomLBwyRzVDelyUr9vILsXUnDik63xUx.aESAgnLsktirGH+EQh7WvC4W5A5ElDazPIjI6Of64ZM9rFRHFUsxN4KkbxeJ8XtKeB8LOv5wLZjoQdefQkogT0ofj48AoCkdtZCbOvqRN3UMAdaPscB39pLNZrsBsq.CN8XnaOOrRjkTYKC59RTBgp4P1UvgA3hIZr4NsZsUC7mm+M0qit9PUiqYAMr83tPfE56Ma7sMFqdePsubnuTfK17Y4j4YZsqmPPGvLaFBp2FBVA.yyS5f9E22.h9pAaZtiV1dQBGEWJZHEmHUvohMed8eqds5+d8F2lUudExSio.omGDTHacZUvrTbSQzvKgfsviqWDLQPzWOcvb4xELcRbQ4DTJ5J3pS8gz0YgayBB2jTerNvmhPTTUbXeszvdh+kvQi7IziDxKMIwfOq7o0tjIJWMQ4mLkx5nUrAVklK7M1LTi0Pi3xTLhw6o6rcS76kM2q4C7Gg71tGn2DLKM8XitBeHPw0dbiCfqwNFIo70nG.gWoj9w9kzbOhwi9ndlal3U9i2u6nIK9oa1E6j4ay+U84kZ1rEYH6l7dP+wQktt5MXu.eneeNCSILwlQAXeHrzQy6wzShFZqMVxtSxgO5b37uQ63+SbuGo+yeg+YVPfb2tVqlWhzF1SoyTMqVZV8OMKe+ybYre18kw1NRojh3y7ZzDTjR5VItol6iXiUomAXikoMA0XlpmK031ArYT7b+FYEp1Bw3XNND4Lv5wFv9J9sfA0vnjtAzBx.0Qvn42YN8AwG.Wc0RFDVuHkWOUYL+9RYa4Mwpio1vOGA3c8SHWtCRNHrJ8TGE6Z3LlnOL+wyZT6AQ854AKV1zJzNBFlpeNGtOnO6dnOEcAC4mik74X7+cqzRi0K.7hXtZTQX8evuovZuunMh0WezAHpirdXVWZr9DZxrBkCoWo2oK9Qbmdmz5gYcIKA1fhCHJDfmM3AN5duytBnPi74zSiT9QpG.SsA8XqNXe8fwFKyHUJsQdr1HcDt2wDqWxxpko+.NoSAkj2cdVbpZoajm9Rp7iZqeSQJCbjsot8RO2pHDyhy+li4X96VEN+cgCjUR3tA0hqbFTLdqT.d0S38eLdmLWPmd8vroLvVkd36VzmtLGP4LYjhK5eLSEv0S2nu1EePGdUQRRU33Txz0sF202FDtsFWlmxzbbQflo4Xl3TaNAxO3jjOpeuzihofXRD+TwZ3aVw0MxFtk1ROrG9LtO33ncEeIh8h04EKfNubAzY6EPmuZAzYmEPmudAz4UyTG8Kn2KRIGlTlfDr5D+L.CijKhiyHI+6tvtFm
                                    

                                    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 SliderPack1 not Sliderpack1

                                      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 doh!

                                        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

                                          @d-healey also is there a better way of controlling multiple sliderpacks from one SP than the below?

                                          inline function onSliderPack5Control(component, value)
                                          {
                                              SliderPack12.setSliderAtIndex(value, component.getSliderValueAt(value));
                                              SliderPack13.setSliderAtIndex(value, component.getSliderValueAt(value));
                                              SliderPack14.setSliderAtIndex(value, component.getSliderValueAt(value));
                                              SliderPack16.setSliderAtIndex(value, component.getSliderValueAt(value));
                                          };
                                          SliderPack5.setControlCallback(onSliderPack5Control);
                                          

                                          I saw a linkTo API....

                                          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 If you want them to be completely linked, so that changing one will always change the others, then you can use a data object.

                                            HiseSnippet 879.3ocuVstaSCCE1taFQKWDCwCPz9Um.pZKitMgPqqWFTfsTsNXf3GSdItslkX243LnfPhGEdm3Eg2.33jrlTnL1pDjeT0yU+cN9juS5pjNrf.oBgyu+3QLD95jdiE5gMGR4BTmVH7MI6PCzLkUrpFiGQCBXtHLdgmXTfyuHJ546a1f5QENrTUHzqjbG1K39bcp1t0eN2yaapKaeteFuWsdGGonozSFB3YARYzHpywzArcoF2xQP3qz1kqkpdZplE.9zP5Nt2P46Ew9+Jd.+HOlQnBpGjnX0nlC4dtcOqVCPH7hcSq7Ehq76P1g6xmnOsCbqHCVoQjsGfycdPpxk.R3LPhDCokH8bT7Q5TKF7bMRGAbgzmBs5rPY2P+ddbWlpKz1.nPvXnqFmATtugIMkPbBcIe5wrsUfvj7TrV4x2yB9YkGUn.bIDnsBljpVTM05wVsEC3BVIGECpzsDt6wFvMCF8lxwhYRwoTkUp0JPNNCACX5lR+QRAHTb4L9rLDcFwRJVelZeYTlmFQ+oio5E3XpN8wT8ubL8CENZtTXIE6J0LaQwUJ7oB4K74BV+po98moMCfTROOlZllMuGnNu.KJB8OhotGTqdgrINBywSO8ckK1zmSb+IiiRQGAWaOhkHuszy0LUY9+uOqhRZvvTatDDBPQGMyd6jY1z1KhCI5FjLWqnnxvLglGRlKzlQ32RpsZI3o+c+HuwAq2buAmL1V6t+Su66Zbf8ZF4Pau23s5Fu19YGUqI35o1GX+r013n0EmViexSZqsqvaTciVFsF6OvNJekhw6kDjU+uCxW1wLvYXBRZuPKeDSo4laVbK1o.UZLuPdRKVvwZ4nn9ex.9k6F3CS3c+Js93TR3MqilqLVMSF+xTYzsNJCy1hwU.voJcC8n5oIZMaTRL.y+SwtY3pDAb83rabtDrukOW12KJDWhzkqcFNaLlaFXz7Jx+.Llry5Fj186ybzo.bQx1uddWP8WN98jgZtXvNTshCW1Dy9FXUsCCNcgf4EsxImgcHVtrQ1zA5wDtQB+.dRLVYx9IvXkyLh7oNJ4gNwutZ1Jd0HM.lDQeDPd3qQ.YqTJDR4RkQ9vB5CcbLk+8ABqYGS04HlGLGwr5bDyCmiXpMGwr1bDy5maLluMZqPszO90APQ21Q7XXbaAElrhlBQ+DmO+Ms
                                            

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

                                            DanHD 1 Reply Last reply Reply Quote -1
                                            • First post
                                              Last post

                                            18

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.8k

                                            Posts