Save Panel Data to Preset
-
I am reordering my panel positions. Currently I am just passing my panel data into the panel value so that I can restore the data, but it seems like a pretty restricted workaround. Is there a better way to do this?
In this particular situation it is fine, I am just trying to reorder my panels based on the index they are saved into (so its a 1-to-1 match). However, if I wanted to store more panel data and load that with the preset, how would I go about this? Is there a way to attach a list like JSON data which can be recalled?
Content.makeFrontInterface(400, 300); const var panels = [ Content.getComponent("Panel1"), Content.getComponent("Panel2"), Content.getComponent("Panel3") ]; const var panelWidth = 120; // Layout panels based on their saved value inline function layoutPanelsFromSavedValues() { for (i = 0; i < panels.length; i++) { local order = panels[i].getValue(); panels[i].set("x", order * panelWidth + 10); } } // Control callback for preset loading inline function onPanelControl(panel, value) { panel.data.index = value; layoutPanelsFromSavedValues(); } // Assign setup + callback for (i = 0; i < panels.length; i++) { panels[i].setValue(i); panels[i].set("saveInPreset", true); panels[i].setControlCallback(onPanelControl); panels[i].data.index = i; }
HiseSnippet 1451.3ocsWstaaaCElxIZnVsEsEXO.BA6GNsFoR9ta2PcbtrYrlVu3trMDTzQKQayUYRCJpjXTTf8DsGm8bz2fsCojsjuzVOiU8Gaxuyg766PxCOrqf6QBC4Bjg0qlNgfLtiYuoL4niFgoLTmiQFllQSFgZOcBNLj3iLL146UPF42Eo+9vyZiCvLORZWHzEbpG44zwTYZuca8izffSw9jWQGmw5Js53wYGwC3Q.M1wzAMA68V7PxKvJyxYh9Ab3HjwCM6654PJ22Ci6iaRZznZ+JMp2DSb8cqWsVypNM6WqZ8ZdHiu5DepjK5IwRRHxX21b+o8FwulEOAWPCo8CHpFtndvLG28o7.ekDU8hNZDMvu6r3SHBFktoQqchiVes4YTe579SiZ2WCXm5Q1.nQtEo2NKPO2rzyIC8VCkLxPociozCL64InSjoHJ9bayNLIQL.CqSYoRrsnb+0NlGwAKXxCFieK4TAzXtGEp33Tztriy9O0xBVqBk1WgE1SvLRPn82YeokM7My+gD4Q7wS3LnQg85pLxcu8K94rozFXS481250qxgeg5KGA7vsjC.93Ga+b7TdjbFA6iAwZyY1xQDpvNDeEz7JbPDwhxBnLh8fHlmjBVDncTOWgPLXbOksWnLMrv9VuyJ+.tvt.ElKmmZSs+1jo3f.BanbDz0idz9V4A6TBIf6gCr4Beh.bH1xKouVIL8PV.BmZCSgBIfTuYuhId8vr56Q1tpEf7u258ZQphSBdfMLIA8gSL1JtMQPfw.lZrOkMbE8wYZsk3ZA8nWLNVnkmtiC7wR7ATlO4Ff2ZvmZak+SFa.ChY0gggzgLafDQS.JOibVaPfydNClEKhCST0nmeofjZUrCqqVtP7RJ.ErhYI57nDRTXQ4uj8KnZpVPYhaufKIujEuI.PrWFZvf0hkLUADwZgUYBEeJGKvhF2mHxtFoLDNsuXJDyOdJjrY37hOakwPNqCiJe4DB6ik2CkbfDR2rSBqf+I0Iat6rjMpnHhBoTtkY7IdjlvYuS.swNWZYm+vy1bmKuxL2B8ycNFVbU4KSzBnuIDgjpBcFGStBtsJN6YdyiIguUxm.Q34YefKG+rx8lzI7aZMEVPLtM72qUmbSQ9sVPFngiRuT7O+oVTIY7rK+tiYkRMqzzwsdMGTJPokPxt2WMSFvHAaw4Wer.ObHbte1R4lKfRYDPqeOV.2e6DPC2Z0JWuR4UEP8FkbZTpZ0uDBnbVAviEf01If5JNVdcq.0aznRU2FU1FAbaYRECwB3THEsDL7UT3TpRG2yLaWKrgBgllx2KZsjjltrjZ8GsR1lGum9dlwDssfecHQf5OLiZcqTtY8RkqVBsx5X8ZMKUuj6hgAUVD8gob+cNy2AWXumJYh5tf1QRIms2Sz4hKNC4jafLrgPNsvCCgAIZrxhA3fvTSzkcIVu6pbqgqLlPpuXyW.JsaHar5Zgm.2XN2oC88W+TbNgAEZtdriIAD4GAqGAK7F0FKxBbJ9Jt.BXpRZmyhTRjEdA2hBB5hkilgGtPPJQqcf3nOostzfEveQz33PqxMWcWws0ENbNrohC.wUo4bP4k9J9eren6WqmimSCkGJH345LYFJttel6ULyNmecWrupFkM0u4g617HluRoWFCbFWjrBsLR5txkQlEmWA058vCUVolZnZdteT.VtXI9pGBk..avWntZUsyvxkbZ1Kw9eqt+MkhOvrKU5MZ8bL2Z3HbE4WBNl7Zo6ZdxfADOYJA207ze8KySiPmCEqBauNCKETHWpIbHoGjByi.yNSUymJucNUYIwscTsUQfdDlutw+.eIftyRxq.cmAhFi8D723EWZh58X2R2CvIl9sq4MOS01dMUCMFdd3a77VbnVwwRaqik2VGqrsNVcacr115X8s0wFedGUud+vHIeb7wFD5rtmnu1yv3DFF1Ap2sh9W.bIH2.
-
@HISEnberg Presets only restore component values, so you are going to have to store the data in the panel's value - or depending on what the specifics are you might store the data in a sliderpack or some other control.
-
@d-healey Ahh I see thank you David that does make a lot of sense!
-
H HISEnberg has marked this topic as solved on