Arpeggiator Presets
-
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
-
@MikeB well it was created on a Mac so… ️
-
@MikeB This is often an issue with the permission settings of a folder. Very occasionally Macs can have weird permissions on the Application Support folders, so you need to update your folder to be Read / Write in order for this to work properly.
-
@DanH Thank You Dear :) Snippets are the best Learning material for Me :)
-
@DanH Ok - Then can you tell me where the AppData folder is?
Where are the presets stored?
-
@MikeB The AppData folder is the folder your plugin uses for essential data (presets, license key, link to samples etc). It should be in ~Library/Application Support/Your Plugin Manufacturer Name/Plugin Name/
Within that folder (via the script) you can create whatever folders you like. For simplicity I have scripted it to be Data/Arp and the files will be .arp files.
One quirk is that when using HISE it seems to need the actual plugin AppData (~Library/etc) folder there in order to read and write the presets. It doesn't use the HISE project folder as it does for the other AppData files. Am I doing it wrong anyone?
-
@DanH Ok - Thank you - now I think I understand.
It only works in the compiled plug-in, not in the backend - right? -
"One quirk is that when using HISE it seems to need the actual plugin AppData (~Library/etc) folder there in order to read and write the presets. It doesn't use the HISE project folder as it does for the other AppData files. Am I doing it wrong anyone?"
-- yes thats correct if you want to reference the appdata folder then HISE itself will do that as well as the plug-in.
-
@MikeB Well you can save and load your arp (or whatever) presets in HISE absolutely fine, you will just need to first create the AppData folder (and the Data etc folders) if it doesn't already exist.
Does that make sense?