HISE Logo Forum
    • Categories
    • Register
    • Login

    Issue with changing SliderPack amount having saved presets previously...

    Scheduled Pinned Locked Moved General Questions
    2 Posts 2 Posters 112 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
      last edited by DanH

      I'm using a SliderPack to switch between filter modes.

      The SliderPack is hidden and is controlled by 6 buttons on the interface. The sixth button is new.

      However, when I select the presets I made when there were only 5 buttons the SliderPack reverts to 5 sliders and breaks the system. A newly saved preset will create the sixth slider, but it won't fire the callback properly. I'm guessing that the slider amount is saved within the preset data.

      Any ideas how to get around this problem?! Snippet and link to Project below which has the saved presets in so you can see what I mean....

      Project: https://www.dropbox.com/scl/fi/u5xy3zangr9an6v97jwcj/SP-TEST.zip?rlkey=tfq9nih3bnvdna9x5ryaaerns&dl=1

      HiseSnippet 1980.3oc0Y07aibaEeFudbiUZR1cwhhVffBBCT.YrJtRV1NEMMIRxRpQX8GZkztoKLLRnmgxhvyLb5LbVasAKPZO0dK25+A8b6sdr+Ozq8Ohbn.831GIGMC0W1xVH.cEfsE46qe78d7wGoaGxrIQQrPCy06MLfXX9is5NzmOX+AXpuQq5FluqU21ndM51CUxn1v.bTDwwvz7d+VAClqupg7y2+40vtXeaR1TFFOmQsIGP8n7rYaW4ITW2lXGROpmF26TokMyeelKKF.y8rJZDfsu.eN4HrfsUrLLWqgCkyB6xwbRDvSMlyvtCXW5q3+4zH5YtDwfRFcAEol1X+ATWm1iVnQFFlq1NaYeO0x9QVGRcnoyms7uuj.JSBcef4JWGjJcKfjoFjVUAoGX00NjFvynnBGs74jv9XvUqCEEuFq7WWyZeFvgOeKO7EjlgvfTIxuWwhEPvu17SxkCb2QbzKwgnlTWfgRnOEIi8acNg2neehMO+FIj1.DHi+ttTGRXaH9TFjYj4.o1m4Ev7gA42PiGgv49kvm1GCYQMacPuFcP0dVudGeT2bJJiOKpc0iZbfflfHpdilsNpApZmNUeQWcbGzuVLmCCATbxrggPuJlf0PgbnY+4ljc2kP1xKgr6rDxt8RH6dar4oPLaNROUlygLGhLFrWATocfe1t.B9yGCea2SUwdz9UO3fZU2+InlG2A0tYZ3uOKDk+LD0OKZtozvmsUj.c97Pl69XW2yfTo7L+TtRHA4VRLQ8co9DT+XeaNk4illy71iVpE.r6FS1L22Hk0kYicAD3PtBVDohskbli6mI2lI9DIlo.uE+DDE8aP6A+4wOVA6uI0qkpnSnmJVKOWXSgXepxVIHW7QayhfS0vpv9Vfs7zBnoD50pEs3WwANPwGUfH+Hddsxo28fV0azoM31KmF.xkaBqMsOVigLu7L7vSy2b8wS5xjD2xk3eNevsv6kpdQpqx7RBU44oap4PS+BsO5FDZrr7wcloN6D24yZWuZuFIkpx7mZaGx1AM2BiisKaFt0YDOS7gI0hEdipbdH8rXNIe4B5aBOQJvoi1T7Zsf0QLN4X+7BksNrfPSRpe+YRKIv5BfYVjEGhGdcBl2O16LRnV5fjQ3TtwO5bsE6nSakOUiQleKeJ+3.Rx3lLWGwQhhuO8AsFIAE3H22IAg.qb4AtuexAtpniAETx6Yoc.hgbIn2fiwsTEau7pn7xqhclTEe+meaUwtKOJ165TwpJU7vDUjUnIQMZUdlTMOpBr+AaX9Kr1dmslwm9OVav7QsxBRy8irdhO6rIC++4+VEim0ptvVP+WIoUPpV.IjSEYzl0IuD5+U0L25V0IQWvYAFl4RKFXXZsfYdWo6lFlN3qipbI0gOHi5KpXbqU+15p+EUVb0u1Blwpod5Mn9AD54CDH27CUID2RisivXVlELuI2zxZncUF569A2P6oLz+YILz52hcSWoekrLC9OOejAsLKthgQlwb.pQpFV7Xw9ZW06mVwgzGG6pN6VU+NhSB5ReEYT84LP9t7jKho.YSWFlS8OuGENDP.yOvRepRyCnFe17.5UYU+U6IAMJO4rNMJvEOz3ryGc8y0Wqb4xuQluxIdYy9F3y3ytcxzeqXZYw.ymXINtdizScZ4rwuFkdQJQO4aHarCl8iJIGBGY4xt7KYgWDAW5k.D5iciH4d8XNnGbiEnlmKwoRDenq7x8eAKj9JvIfcM7nNNtj1rHp3DaA2lBlC9KUxBRYmP3oea+cp3gyL1e5eUIJteepHO0B8EuxnO00KBZPInkGbAdQh2yhHnjjATzEfpfddtf3ziIuYuGz5h3lsMCI+9Xhu8Pi4DBej.eY9UQY0D+pQ.ND6QfuJlVWU28brwpK9YZNTzkUlHQpcHA5JqVH6xHHlnmHAr+emNQ5u+luaVIRipvKSjV4OrhJSRzrSW7KIp5AP1AOLlTXDkFWEf8ifHXTU3lNtwd9ixeRYQ1RT3rEWz6WDLYwLEB8kkz6sNyYSCsJBKVfVoLgp53La82g3CwkYSqNwEhXylVS7KgTUNQ7pP5zRPVKXI6PpwBgE1Xq2ih8TdAA32VNkZ7WJRo5.AWFP3DY+wE2p7DeJbKmGl9ToMNfFwqFRvo9lDKTXV+IUJEx5vtrM1wAx5VT45Rvg1CpgCqAUbcDqzSTDNjEl3OmjRVBzjTF4omhJT+Ice3GN19v+s7k7l5EqtuEbIjXWLe7GPS7RgIDDEZze0JwKSAQR9P8RMS9pZqN+qFTT6pA2Pi+KHbefUaJ2dvrw6Jy.uP2e+Pi2j2n78rTuJWFXW0p4u6ZePxUWraUkAka7wISdl3GZ0l4NLX.ymZqJAKATV8347Twe8+3m+vJYEm0Zl9o5o.GJOQXz36W4owXWcu929GqTiFvbwgKTD4t+trqtfoM+jrSbPuEkqKhLu8f2elURPGIb1u8f6225o+e.X6vhEc1bHF5LSzpFbRYWnwCaB.Teehajnx9JhljUiKJFK.TWhuibfn82DhkDiMSHVZDQCOrcH6qrU2oVr+4cjy.XxW9uwYcqCEiQoWl1xp3VEEshR+JaaQAsOBv9rkY66fLkuCxrycPlcuCxr2cPlO9NHyu5ZkQ7e2pZLm4oxMgIZ2PcOFyF9XHKSllZ7+Pune3I
      

      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

        @DanH said in Issue with changing SliderPack amount having saved presets previously...:

        I'm guessing that the slider amount is saved within the preset data.

        Yup, it stores the slider data as float array so if the length isn't the same, it will resize the sliders.

        You can solve this like any other issue related to backwards-compatibilty of presets: assign a preload-callback to the user preset handler where you preprocess the data and add the missing slider.

        1. Add a SliderPack
        2. Create two presets with different amount of sliders (one should be 16, the other one some smaller number for this example)
        3. Use this script:
        const var SliderPack1 = Content.getComponent("SliderPack1");
        
        const var uph = Engine.createUserPresetHandler();
        
        uph.setEnableUserPresetPreprocessing(true,   // enable preprocessing
        			             true);  // unpack complex data (so the slider pack data is available as array)
        
        uph.setPreCallback(function(presetData)
        {
        	// You can check the preset version against the current project version
        	// to avoid preprocessing if the presets are up to date
        	// (this saves a bit of time but isn't 100% necessary...)
        	var oldVersion = uph.isOldVersion(presetData.version);
        	
        	//if(!oldVersion)
        	//	return;
        
        	for(d in presetData.Content)
        	{
        		if(d.id == "SliderPack1")
        		{
        			while(d.data.length < 16)
        				d.data.push(Math.random()); // fill it up with random values so you see the effect
        		}
        	}
        });
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        29

        Online

        1.7k

        Users

        11.8k

        Topics

        102.5k

        Posts