HISE Logo Forum
    • Categories
    • Register
    • Login

    Simple Panel Persistence Example

    Scheduled Pinned Locked Moved Snippet Waiting Room
    2 Posts 2 Posters 52 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.
    • SimonS
      Simon
      last edited by Simon

      Making a value persistent can still be very tricky to figure out in HISE as compared to Kontakt.

      For integers or booleans, you can use a knob or button, which have saveInPreset enabled by default, and use the setValue() and getValue() methods to store and retrieve the value.

      In some cases though you inevitably need to store text or an object.

      The trick is to create a panel, set storeInPreset to true, then store your object to the panel using setValue(), not panel.data. Only the former is persistent.

      Here is a stripped down snippet with a simple example:

      HiseSnippet 1233.3ocsVs0aiTCE1SaGXSfshUhmQVyKjVhZSBYaK6BhcaZKa.ZaDoag2V43wSGSmXOx1oYip5+Y9G.GamIYRZJKphcdHJ9b86bwmi6ojTlVKUnfpWLImgB97v9SDlzNoDt.08HTvlgmRzFlB6Ic3jbhVyhQAAq+SVBAU1.499qe7PRFQPYyIgPWJ4T1uxGxMyo16U+BOK6DRL6B9vRR29UcoRQGYlbDfm0CafxIzqIWwNiXEasPzaH5TTv1gwMa2L4.JYuCZ1tEk15f8a8c6SYjjD1dMe99sOHocBg1nEJ3SNNlajp9FhgoQAabnLdR+T4Xg2AWx07AYL6gln9fm8jOQlEaCQKUTmTdVbuhDkFAVo27z159z1WFdJOlOi97z2W3XfmqQ4DXvZKBu0W.dMKCuFkf2JfTPIHsgGROKrOUwyMy4XwymE1U.USH8vV.JdYQqsYXXGIHgvryPx0rSTvgYZTqUiF0wMazXqWVEjRKyX6PyXDUMf.T6zFbNQvxv+.tvHj33dVR0hbbhpiAKzXl3CFYLRwhxeniVsHOun5MpumUgpNCrilYpEoI2v5J5oXvon5F0HFHfW9UIPBISCRf2c2KRYE9jRxxF.MXXcpbTVLVJxlfS3JFdbJCXmwoWyhqVUwtBmyTZt1BvKIJ.sQQVi86fnDgAaR4Z7MDEm.EKrQhGvJoQ0R.yFkJYVmottlmy4hozgffKx3BFNYjfZ3.JWRhZT4vbo.LacviYPbea0JPXwduABHgPZrNWC8TrXKRbxTGqkXt4q03wJRdNvgKvDAVN3OYTS0J.v5UJ.AMpcqAr3KhdCKKSBwGCxJtef.UKGxvwDCI5N.u2U8dPdElaJTgbFXQH0LSXK3O2l3Akr9wCXrLwcvWwwuF.w34DlW4f.btd9z+NUqLqOorueYAcZJQbEKtlqcnCYjloe.Sa6Erw2L6sb0ywnbwa2cOjQslDWt+ykzrvDxjJa0XlSrdPCMd3LIIFz9LoA5eRI9PZIw1lj.WC2FDuqfCk+wobZJdHiHzKjAvWwLfQugoFq3FnFf4I3IxQfymTjw3FaKf2R2q9sXXsxNtkuO3X.o3hgB4Jt.tEZY5X8BbD9a..Xmgrfta4agl4aovlCNWTaqpfa.V3kYkjrRdSQaFSsR11MMp+MEqIFMb.SUDiEBBSSWbDc3COht7FDpebVIA8I6yyYhGZuBZ5LP637onBD03Fl+zhg41ZChCir+zPWcB4vKJ3qB+49me1sQ16sQP59Lo6Np6VazcHza6dDbrvzfW.OCUBC2FTAGwtA1S62aTI7Hl9ZiLGV41on1CA9GBHuGjIvtGeRweJeIvRyQ79lbyolzO22YymD5m6sjQ+9UXT+SJt21OXuqLdTFwr3xX6SVlx.J+KrAztkSn4lIkeRy+aan+uBwmE1ianoqFiqsBLBkzOFXb56ZdZ3wvipnl4.bivS9iONOhA8axQFt3pSIFE2V3Oazv9vaAoLv6BnEyd8KXMaOj+bih5eelH1c3uguoLaVzwYY1rfIZHgpjui5udYe4zSbT.LIbuxrB7bW3LtYwEq444gvC4dGktnotmhsdrJ9sOVEa+XU74OVE26wp39OVEO3Cqn8c1udjQNzesAgNs2wtYdAAGKrKFccqn+gNTucw
      

      ALSO: if the data you're trying to store contains any undefined values, it will appear to work correctly, but will restore to a value of 0.0.

      This should eventually be added to the documentation. Just need to find a place to put it.

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

        @Simon When I first came from Kontakt to HISE, one of my first questions to Christoph was about variable persistence. We had a long discussion about it.

        However after getting my head out of the KSP paradigm I don't think I have ever made use of it in a real project.

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

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

        15

        Online

        1.7k

        Users

        11.8k

        Topics

        102.4k

        Posts