Arpeggiator Presets
-
@Christoph-Hart I think I'm into triple figures for crashes today!
-
@d-healey Thanks, I've smoothed it out a bit. I have no idea how to work with objects. I can sometimes save the sliderpack arrays to the json files, but I can't get them to ever load back in.
const var SaveOk3 = Content.getComponent("SaveOk3"); inline function onSaveOk3Control(component, value) { if (value) { local presetName3 = PresetNameToSave3.get("text"); PresetHandler3.savePresetFile(presetName3, getControlValues3()); SavePreset3.setValue(false); SavePreset3.changed(); populatePresetList3(); { for (i = 0; i < 16; i++) SliderPack5SAVEData[i] = SliderPack5.getSliderValueAt(i); } { for (i = 0; i < 16; i++) SliderPack4SAVEData[i] = SliderPack4.getSliderValueAt(i); } } }; inline function onSaveCancel3Control(component, value) { SavePreset3.setValue(false); SavePreset3.changed(); }; inline function getControlValues3() { return { "ARPITCHDATA" : SliderPack4SAVEData, "ARPLENGTHDATA" : SliderPack5SAVEData }; } inline function setControlValues3(data) { for (i = 0; i < 16; i++) { SliderPack4[i].setSliderAtIndex(i, ARPITCHDATA[i]); } for (i = 0; i < 16; i++) { SliderPack5[i].setSliderAtIndex(i, ARPLENGTHDATA[i]); } } }
-
@DanH said in Arpeggiator Presets:
I have no idea how to work with objects
W3Schools.com
Well organized and easy to understand Web building tutorials with lots of examples of how to use HTML, CSS, JavaScript, SQL, Python, PHP, Bootstrap, Java, XML and more.
(www.w3schools.com)
{ for (i = 0; i < 16; i++) SliderPack5SAVEData[i] = SliderPack5.getSliderValueAt(i); } { for (i = 0; i < 16; i++) SliderPack4SAVEData[i] = SliderPack4.getSliderValueAt(i); }
You have an unhealthy obsession with superfluous curly braces.
I'm going to make a video for you right now, hang tight.
-
@d-healey okay thanks!
-
@DanH HD version is taking ages to process, hopefully it's done by the time you return.
-
@d-healey Thanks, very helpful :)
I can get my knob values saved into objects and restored all ok. Just the sliderpacks that confuse the bollox out of me.
-
@DanH Make a simple example that takes the value of each of the sliderpacks sliders and puts them in an array. Or a simpler solution might be to use a slider pack data object.
-
@d-healey I can get the values into an array. I then need to get them into an object and then back into the sliderpacks....
-
I can get the values into an array.
Can you get them out of the array and back into the sliderpack (ignoring the object part at the moment)?
-
@d-healey yup
-
@DanH Can you access an array that is inside an object?
-
@d-healey yup
-
@DanH So which part are you missing?
-
@d-healey how to fit it into the system I'm using to save the arp presets. Let me have another go
-
@DanH Make a simple snippet that saves one slider pack into an array and writes it to a json file and reloads it. That will give us something to work with.
-
@d-healey Well I think my issue is in the setControlValues callback below. I have all the data correctly stored in the json file now, it's just loading it back into the SliderPacks that's the issue. The knobs all work fine
inline function getControlValues3() { return { "ARPNOTESNUMDATA" : ARPNOTESNUM.getValue(), "ARPSPEEDDATA" : ARPSPEED.getValue(), "ARPSHUFFLEDATA" : ARPSHUFFLE.getValue(), "ARPSHUFFLE1DATA" : ARPSHUFFLE1.getValue(), "ComboBox1DATA" : ComboBox1.getValue(), "SliderPack4ARPDATA" : SliderPack4SAVEData, "SliderPack5ARPDATA" : SliderPack5SAVEData }; } inline function setControlValues3(data) { ARPNOTESNUM.setValue(data.ARPNOTESNUMDATA); ARPNOTESNUM.changed(); ARPSPEED.setValue(data.ARPSPEEDDATA); ARPSPEED.changed(); ARPSHUFFLE.setValue(data.ARPSHUFFLEDATA); ARPSHUFFLE.changed(); ARPSHUFFLE1.setValue(data.ARPSHUFFLE1DATA); ARPSHUFFLE1.changed(); ComboBox1.setValue(data.ComboBox1DATA); ComboBox1.changed(); for (i = 0; i < data.SliderPack4ARPDATA.length; i++) { SliderPack4[i].setSliderAtIndex(i, data.SliderPack4ARPDATA[i]); SliderPack5[i].setSliderAtIndex(i, data.SliderPack5ARPDATA[i]); } }
I can make a snippet but it's gonna take me a sec.
-
-
@DanH said in Arpeggiator Presets:
I can make a snippet but it's gonna take me a sec.
Yeah make a simple snippet, one slider pack, one object, one array, etc.
I'm going to have dinner now so I'll take a look when I get back.
I think a much simple solution might be to use a sliderpackdata object (although I've never tested writing it to a file I think it should work).
-
@d-healey @DabDab Ok got it working thanks to @Casey-Kolb (it was a silly error!).
Here's a snippet for those interested, it's a bit messy but you can see how the sliderpack is saved and reloaded (as well as knobs). I figure you can use this as a base for your own user preset system (@ulrik also made a good one too)
HiseSnippet 4059.3oc6b0DaabbEdWIsxhxV1xNIMosAoKHRCnRrY3RJYIVGWQJIJGESIRKJIaWGi3UjCE2nk6Ru6RYKmZ.en8RA5ghhBDfdnAHG5kdH8V6gB3K8TQAJR6wh1jhVfBjFfbo.sGJbm+1cm8OpkxNMNMjFVR6Lu4Mu226Mu48lcjpZnWGXZpavwmXi86.33OlPs80rZsXKYEMtUVhi+3BEWuZshaUp1ZqTsJ2B62Q1zDzfime3KfngOwHbbb23IO+eX9EjUk0pCnMU3Cuy2Y9szUpCJqzVwh1J7S0BWTQUcY4FfMTZCbae5BqTWWaQcU8tP4YXgLbcjquq7Nf0jQjMj.G+nkZnXoaTyR1BXxwOxB5M1uVK8aoQneKESksUAnGj3pAYDo4k0UafjXTqbK1RQsQUa81jCxkptnvvDT3IEVUoghS6tnwj3NDcGAKdvOTuDOoCV7xDl3MDi3MBQ7NoPs5FJcrb6AIaGUXEMKfQSYnIfUrHzxMzu9IEVTGRglU51x6BV1.9fyHRIIkIyoEmMSloN2Dii9GzVXZItmrgXQiNfc1QQFpZRhmWD6fjdGfkGLJURVxRh3hKGpopz.XTEZNQLvVJfrXQ81cz0fOjJICM9F8E0z2N5wg6MjQjsmiHaRhd5NlEVuxkqUZ8HGEs+.iql7dfpF.SfUzplCI9wEmNpzwRA1bLXAkRebhzGZkxF5HZijQ9IjpOJZpJZ.wlc0piXuntFcYOhKF5popayhSCmO0tfolX72ZhwSPQkzlP2baRI8CYaBxjsfg9sLAFkWtR5N5c5pBWcP5nrhoUJLgATOOLD6SJB+3RVZ3+2BMOtc5WyPjjJoE31VIOsXx5sz0MAhZvtSmNMUquK9qgCTT8O4TH9PkjEkUU2F5glxO7PX2K+xhKAZBwQSQHgh0I8AePqgXc5PMEapaH1g3vrMAYlXbjXYBC2AD8CYXXFod9s0Hv6.rxHRR5EdPMEtB41OiNgFn+oGEQiPLNxkQz9r9HzQT72Q3BjepNHwpuWGFziJDgvo+XO8GtkxQwsMTrTAwfWX5BgSObAFhRSqraOEoJ65Afqrazfakc8rDJ3TsHJmB0dNcDR7LkjlhdZI8GpMMhXTtD.WlWkRio8J48T.2pitAbI89hMAV0aonsCNHPSEURTGSQEMQqV.wMgKroNpMTL.0g6WtOgw9CBGljPnjFS.8QUGFZgJFqgmmySM5uJLtiJb0EVdbMulNpSvvBoRpXAZaBCXxvvzuothVpjutVxorG4cssUA22HPbjv15HTc.O0Po2gdjo1Vhfgg6npXQDiyEt5GPyU0kaPCg.MCovb5ZXY35r7v0KAukhYJB6bT1yEs1FQPpXnyJMEo6T5SnM8wxTrxAwKz.rCaNUnMhVR1RFp+W65dbUCQf8GPKFhZu2c1Y6daxs+oXfdrA.BJHgCWtswzcXqDbbGXxIXGmbBXkX2EBNFAGUF643xzSKtieuko7ypvRSoorpInGDVukr1NfFo7SROhFQWHFGP1S3t9xh2CMnGR+cYRRlwQk5j9V2smNoAAXw.BH4CJUpTJPNl4bhJhuhnzYge+kdoncQBYQy0TtNpnF2NP9HjGwSeQqTJ9Pb2GL.VcMz7OKtOA2p.MOhWbsJKHtUwxaVplWRIkufjijheCRkNn4mf3Sc5PHNKKwYCmX6osV4UVpz5UKt3ECex8YZPbMDDhQ2cC+Gs4KPzzFPdDzECJikqTbIrftDK.ItxZaTA2.i3RPFGeQDKS6.crlGBggsZhfWAYQ1vXQ1PYgWYN.5Rjb2lYje+dp3Y2G7mVEnsiUq36BiTFxiEgUx2.b6TJmNTNC8wCIngHyd42kV+Brd98fC0zwbRpWAsQJNiFXkLvPinejtkKJ+FHMF5swI2fS2wbeS3NsAqpgFb0ojlPV36ciOVcmtTCENtFl+HWeJgLMVrSGr8DmlH5vTvwuShZ6kg0rkbJ+tvI7KEASWBIFIRvt8BJMElIEVyGddLSEPEfkd9hokM5.SoxxfVVbhvxYCuychDXGELJBSWjNYSg5HAaFYc5Z1BSUZK8ZVFP6QJooH7NA5KTvhYHn9vF4.5qujjbGSH5Mhh9P0Y1K9kDSF.F7HkHlbsLWGmyVQyJa+lvLiIGNP3hcO1gFGvIRgOfb50UIDYlHstLI8sLfoRREwFznGQHltrqzsgadaFDeonvgPrRqXh6qWnTfjIISZvYCQoCmtKS9CqoC0UsTSM9aMdhwu63h96pYyP6itGfJh4gzM5reM50.So0s81.C6TTrIjieDumxpP7Nk05jpGYHTWaEMEXFs.snNZXNZImbvYgJUPRsvmA6womA6Bcsrz03TZfO6bGeRNrTywmXTN6OwfCIrOrcmgSOa7OYd2gOBY3mhNb2P8XVLg.Sre+rYrBHuUN9upfzYSi+rH7+KTF9kk1izPzxIgu3I4HB3sYcY+CdvC9yW5W7mlO9CNqGY69+yT+w441bETXZHZySAdnwnCvvRAYm4WBrmRc.4DvSHrDvbWK8NXKCMaVXyjIcB6yGWVCnRAV5AUxcaWzXqB667v6YV3VJMrZA4G+sFhiqEPYmVVnmJwywsstAT5qobGFrbxBjVWGtyXWS1Wiw16X+RLNlvzYmaloyNaNoLb7CwHoSDkjdBAOm.Hi7V3xLxKmjs7Z2fRAaYl1xu6lE5G4dRex8r4mKe9okliCU0rcGIF8sLS8.7z4zZVezipthkQ4yL6Lmcloyw0Q1.p6rlKGqB+vLMOYjqOf979hmwZOyyhO6VPwbU81PFJarOYANRvv.75kpUZCwkqTFlmFmiY+GywZ1OO7IzVLqPOPCRTDS3tIfkkQmYi8q4JWte+7.MYXHGz6CoLP1f91n74FjKWVoyN6r9fyeHW2fvYhQa+b2A2rerbtrYymct4lMHV52ugKZmsxxaSc1NIEKJuRsMJWbgRkYgSNNF37YKbfyHAdeJgyHBChIRXbMQDqOCWS35YutgSW.2l09p3kyqC1AVlqgq0388XMRFBVjOmT1YxjWhC.2OPlFxOCdpHuwPTPhlxcUs7.Fmza3SPisnGcGMFtag1rfQVFeq6U5fACG83c8nG+T3St9EIFc4mYYeleTqu6Pu82KDmBtG7wJb8BHLqi1vcAYiMZoTeWM31XHHIWH9wgARcMAXsFuVInAKSA7wmww+LBsUZ.yiebzwa1sC9aMP6pxEm3aGi5xg2kyEfqZ4M3VOhU3.s77rP6yx6EZ+JeomJDn86+sOWeD9JwnVVVX56uHo7ivH4GKpUemRv+wSwFseiCviyCP5aufW2+dAbuRAxxyIE79hvB0SvWjKTXKoL4CwmHagH8E4hCBbRAeu.i9I9SX.f.+DdbJdd5xEzTcFxYhPi9elP07vhSEy3Nwx6+IDBbVpLp78Vjwlee43px+JOgXVNBuU6V86sxUHByM6BmH5Hqud1yN2a9g8ri9wibG8wDHmALqgOIanf7AQgv.QGv3Rd.iW.sTO77.FQnxECIx3gaqbafHizbyNijTz6ayEKTgTIA4PaYQlu0CCxrpGj4qGMxLlvhEWaQXx.elhNQFz3nB01b8RWsTs0pvhMKwhMi0mXitGr4TvmhWzgrzvpGQ.sjbdtCQrBg3UOIildI1cF15.hRvNUiDiBOcmm6ytk767lEX4zQ5iZPY3H6dZbobq3R2SEW+DXmcrKCekF36fFycKpWpTH0n5N8hayL82PoP+vmrH9Hv+u4w6JIv+awIsD3hiMAqjZe+4XkcO2Wrg8dRFCGuSxnmmSwSDiSY33BDof1juyHHdmTwDvL1Qo65gEB78b3Lf5IDVqa6ZVfNz1bXvHwjAvf.vQutmiZ4fU.FFLIlA01UIfHvGSH.xAXUCWDre+CjdUjN.PCjOlqHbzvF7jzAC8Z2VeA8aaWQL3lcAvMJbZNdJBiHLgPk5VvHMqidgG8usLArn7tMapBNbdRGUnDdSkMT.QI589DudRHDzVYC3BYlNBHJ8yAecPy2V.U85JV6G64q4KsPwzoyewkRmNW2pjmi87cJgx32KT7mscQy1VuFb1thdUxywzc5jBK1RVClsZMfJ9lob.dSgxjmVnRWqNcsdDvpSJrZ0Rv3iF1LykICEalbBDSJo0H.KlLltniJ7p5pMBw8N3UycRgU0afdg8du0vnqJMsCXhGd1E.cEb0LgdSrm1aebUhyD6a5bbE2SJTUwpdqvk2gBQdQ2R4OkkWm8WK0rIzaxUXGQX4qbXuE1wWT3mfQVFy4pxqztiJ3B1hxnBqt4Fk7.VLWQd3mqd+k.pxd.tK6sv8qVv6knG+YEs8.FVU0UkM7C6Opxfvykfu29FHUR7yM9xmR.C4edRfwtDe9QfmTnp7iCNDqq20RQamUksLTf4pOAJASXcXvDiHg8QupPdzaii9bF6bbpAzZfe3AvOzNkr2lB0ojuNyZ+Lpyr95LGam4704zrcNsuNmgsSmG3hQfmiJrzlqt5UuPwUVqGQefkHOH5yfnOCh9LH5yiznOIDTgTjqw1Q8KGH7yyOHymAwdFD6YPrmCYrmSXeseVrqwdfR2Di+m.h+FxsAP09lktTVOvODCVVQ0BXXZeVAKHiUV6KswKT.0fji04s+Y3FxRa3dezk96yiZHGq8C0vzrukATCy3xzifa3rtG38cwMLqelNmellm88ws7xaPNRrGwmR7W.7S9xg4mbTgUKVaiRqW5RR8vGYDe9HhC+9mziOh3I9nWyiOhi0qW9HS5wG4cZ7W+Oyy5ibuezkugGeDGdzKeDBSkbD0K+uNEoEG+4ordWRK1B6Gbkm9ugYiT.oUJf3JYKu23iewmkzhs.Kp8C9kjVBHwRADYIOx7+i7qEB0udnGJ+53jGzwotYaUo7lqVJpjg9fS+F+7uYOSFR769D0GjLzfjgFjLzfjg5qBwFSXypRYVZgdUGVgA0gMHzyfPOCB8b3B8Lrc90HcEr7UnqHoZtHQ0+z5Vt7viuLIAFDeG1syOyv2wCq9kIDJtVwxkqb4E2bidUkKuuJXt2vO2W69dpxcpQZ3oBl24Be3e4.qf4Sl+wpBRswuPWvX2YnKXFhZsC0fNLsyGwFTAhAcbghZxp6i9MCfTQp8idWqrP2lM8euceuBUM.n+7hPcMbuj4CrCOhCbk8w1.Wizq.WBOtF35XLAt5i3V2+270R6It0G7QsJ3ItUgO7N+iu3D25vaOGg5lDp8Tf14gJtUtCLt0GDdbqwJLvNbP1g+eMQx1x0MzeC6+r3Aq4aLbKP6qF9l1OpP4kq37aU7SHHIIkNyLyIIkKS94jld5Y3ZqzP4MpWGcsuNCLG7PFdVlgmMS574xjIaNo74xMS9oOngWaiRUcG9zSmNW1bylWZlL4xm4rYOfYeXgq3byBExjNyAQ8U6CpGR3yHhQ+ldTrqkdaRgUvFph+SBCbQOSjUt+qvVzEy
-
@DanH This only works on PC - or
It does not work on my Mac