Audio files sorting
-
I have built a vst using the standard audio files project folder and they all import correctly and work fine audio wise.
The only slight issue is that when I open the vst in DAW, the audio files are in a different order to the order they were in inside HISE.
Is there a way to force the order or sort it so that it remains the same in both HISE & then in the DAW? This is in Windows btw, I have a vague recollection of somebody saying that it will be different again on Mac (but I may be wrong there) so if that is the case then sorting them in the script would presumably solve all issues?
Ca anybody point me in the right direction?
Thanks in advance
-
@rzrsharpeprod sortWithFunction is the name of the command you want, I think
-
@d-healey said in Audio files sorting:
@rzrsharpeprod sortWithFunction is the name of the command you want, I think
Thankyou! I will give this a go when I get home later
Much appreciated as always
-
Here's a function I'm using to sort files by name
inline function sortFiles(a, b) { if (a.toString(a.NoExtension) < b.toString(b.NoExtension)) return -1; else return a.toString(a.NoExtension) > b.toString(b.NoExtension); }
And you'd call it like so:
Engine.sortWithFunction(files, sortFiles);
Here
files
is an array of file objects. -
@d-healey And I've made my own functions dozens of time... Sometimes I just hate myself, and right now is sometime...
-
@d-healey said in Audio files sorting:
Here's a function I'm using to sort files by name
inline function sortFiles(a, b) { if (a.toString(a.NoExtension) < b.toString(b.NoExtension)) return -1; else return a.toString(a.NoExtension) > b.toString(b.NoExtension); }
And you'd call it like so:
Engine.sortWithFunction(files, sortFiles);
Here
files
is an array of file objects.Sorry I took a while to get around to this.
I have added the inline function to the script and also called it as you suggested. It compiled with no errors but it hasn't done anything in DAW regarding the sorting.
I am using your convolution reverb CmbIr drop down method if that helps @d-healey.
I changed file to "items" in the callback as the reverb array is named that as per your tutorial but the reverbs weren't sorted by name as I expected they would be.I am almost certainly doing something stupid and not changing a reference in your script or something but I am unsure what.
-
@rzrsharpeprod Post a snippet
-
@d-healey said in Audio files sorting:
@rzrsharpeprod Post a snippet
Why is my snippet so big?!? I know I have done something stupid and silly.
This is a mega stripped down version from the project. In Hise the files are sorted alphabetically but in FL studio they are sorted in a random way.
HiseSnippet 2321.3oc6ZEzaabbEdoj1XyM1INNN2ZAlJzCTnxJjxJNwv01qDEYLSojHHokqQPgwvcGRNP6tylYmUVxAFn+C5whbq250donW0g9CoW6M+On8MyrK2conTTDTTrS7BHhcl48l227du48dyrpCm4PhhXbiRk6eXHwnz0L6cXfXb8wXZfQqMMJ8wl8BnggDAZHiK+K12XiCCwQQDWiRkl+KkDVp7BFpmW+nMvd3.GRVWFF6xnNj1TepHq2N1+ApmWSrKoO0OG0qY2xgETm4whAPMuYUiPryd3QjswRxlyznz60vkJX7dBrfDYTZgMXtG1aL6EAZ52kFQG3QjMpYzClHc2MYdtRDK60n9XpmamzEejgQIyNYph40phaYtE0kNo+LUxMTCfx3Hu9nzbEg27EfWs7vqZN3MCHUJGjVPCoOxrmCmFJxFQhm22rUffvGhA0ddnno0Xt+87l0Y.EAhU7w6QZxgFS3nxcqVcYzZqVco6aY8oeZqtH.1BKKvJDIP6i4Hf28YdwBJKnKYeBePMzCPJujUFQDqG6RY8v9gdjInpxh43AkvzhRAnmUJOBlhFAinAjU7XXW0jzj5Qh.bw5vXdUzvA4v7GvPCXGjvpi+fVbf4zEDff5L+PV.znxhpQUBhF3ASNZXbfiBDr.0XR13vr6jxyxvRzKlrj02ZUlNDUQ0B8PT0krJW93q7UhHBINq.KguVS6sQ09SfDKW15UfbOUbI4NAA0wddC.O6JEAlRGIaKIsxhTAwOZwkQKpVSxMfUN.QCjJP.eZBwtts.xpbvJbRnmzht321o6NeUi58edycZuYituBj7jwV4E38WbIIfkpWvXIPb0ZSa2KOshSRgxxTAuLZ.HUPQgfGoxBuhf0SvoAifW2l03.XoGALsD52iFjM1fBiIUrbhHlGftcs6qmLhWDIq6SdZe3IOsvL8JKqDeJIneJULtYxpHSSNY4rz8AxUOH4eHKINPV4bX1lIH6DTQ4ZX8JKzzCMb3LGKwR5Q3ybXY3N9owXkfX+ADddGSIgPLfhAVLO4.K4i64ncHyQHKnU.UrSHI3jhFZj3EKCBkfJfTgJDzMRBAUWtwbC1AFTHVyULU9hFJHmEL+WYa7jVahE3zIBlSPNgDtfJWBk1jrOjZPGaqr4ljn8DrPHJ+jsNvTqE60Si7gCHdJYdUS060LNHetlCy23ETWw3IcD9WsGSniFmKKzg1j.LnzbSCBmI2qcFVtYR9nQ1YR1lXWTx+48NljensziTmmaUYZ20VsVspeQsUqcWigflpG8k4TjqZK6SmB78MaDyYQBvI1P.QJEzPo5oaicazcCT+m0oggxY2nz+xzZ8PvSjYsNGVmV0gf4cv78jAob.a.5wPPHK0OeE9kuT2rMlOhfpONl6L1pMwA1QRzirS.B78FQr.WGNF8XVLrosKIj.9i7IufZyBFk0pW7.gGwpmOLCoyZuPXSXjUe1K.95yo3fQ.I6xN.0wCXxvGCJVyR2TUmvwxABYeYtw.gESIKqCIY.X6Tg7fxbcPPBwg4qSY57zKb1xSe5kQbVg6GY1gJbFOa7N2LvKrA5Ga7lT0y0MaLbHX1y.6BlM+imZINW3P4WqgxMMgH8DrODrWWfgtbGKyjV0NoBQ+ae228eOqEhFdlKDsCmHqUo3Nyir2HFzW7h89OrUhZceVbPAYkfb81Cv7mGd1c69kbVb3zb85GobV5ygxE.UQ9A1If.5cQ90XcH1PzPX4nlqn7C0IF1Z6luGUUMQE6a6Xev1G.gVkIYJUB55IQDosl5rEFR8VHdqRJU6iU1an5bU6ZS0d0oZemoZu1Ts+roZe2oZ+4Ys0JzsvgZO0pUOVdxqb1xSBSgJeRNJ2fNZxzq6IuK7DEsBL4N.xLJk+8dK9zEW0rMYDD9pPHpziVr2blP4iiPfeDblBWnv7aeu6ceKUed3HgrPojNOgJq1BjDjTQcxj0g5BFRcnXc4+pBx0GzfFoAg5XK6KGWWIphjTg+aTBRVeYYMWPow6B0u6SjauSIaYzcjm3410ppNxyroMEUPY7MzrUYokQR1.Ab+ePLojV0j5SKmonlE0.Q4zZ4nP1y1p5BkDcJEiJ0Gm.enG7fI1jDsmdUDnmfMNLEGIfTqdlxzVt7T1U455mwU.etpf8xqrkKl..enFiWwb8GuYutIknndGNk99PZuPRwjsawBXgiYATmhoSfzCiFQ34Q7LWFqKDP1r5w78KjfdShC9vi0ql3rd9s15dZCtld4I7wP34rht2xVMc44qWbjnv8Uc0i5R7H3nL4E92sa3vJlZ9GjZu1oq1MOitFW2TuHQpxRdytb1OHEqZKxa1f8ZlJ2h2FzqenYhC6aEJ1OvLYuzaCp1S8DXyelNA1ESn2anAooY6l6jjS.dCMAx099A1FT3T9Xtrtrlbx2DSBbxM9+4QxhSZkEzy9uX+T79jgLteRdqIljjJ8xM28I9gLnLgBw464yXhwvYQJdjoaY2lwBajdiJ4N3wXvq.pvHhT3nJxosOaKnbBButGKeHdPqAd9L+Tfpq0WPBU4hK80l2csUfmg+N4u2qN7yc14hoswEWn94Ni9herxhOwzJs8+DWHvI5Mt52OvdmK3uTcAuTCfqQ7Dmseof3Kms424caye2172sM+Gg6J+7aiyu+8loxO2WnVI+OwbFe48B.ZS9gE+W1vv3oDQwtd1QsAzVXu8Z1s7Ci8hHsIAix8osj2NsFWsBBiKbq0OIhrAbnvQbVbfa+wbB1sHaDWhGtPkrOlVOtvF2Mw9gEty6mcTyl8KFL4V1xOnq9iisn4ze667eOK4291vWtRMkWqc5GZ5et+7FdP7DvFwEoi4oBv3Ja9534AqxEjcznKCLNAiRuJcysi86w.zQxeq6yIiKoaWMEQ8HAtpF+O3IYvZoWQubvZoCd1Owl99sQ5U9a5maWc2+HYNlepf5kgsyIcpf0Vx65TQyO4aUWZNuou5qn3gCkPBRdcofRerCm8bG8E1Jw5UU8.nLPsQrr4Vx1nZo+OAXZVckpvlOW5ycbjAJucMCiYyypmCdty4fm0NG77YmCdt64fmO+bvyWbp7H+pRqGCU5nutCniNMzNVklTHUo4M9+bypmJA
-
@rzrsharpeprod Insert it in code tags, this button
-
Engine.sortWithFunction("items", sortFiles);}
You've passed a string "items" as the first parameter. You need to pass an array. Also you have an extra curly brace at the end.
-
@d-healey said in Audio files sorting:
Engine.sortWithFunction("items", sortFiles);}
You've passed a string "items" as the first parameter. You need to pass an array. Also you have an extra curly brace at the end.
See - something silly...
I must have left the extra bracket at the end when I removed the rest of the code as I was trying to keep the snippet as small as possible.
-
@d-healey said in Audio files sorting:
Engine.sortWithFunction("items", sortFiles);}
You've passed a string "items" as the first parameter. You need to pass an array. Also you have an extra curly brace at the end.
I switched it to the array and it now sorted them correctly in the test plugin so I just need to make the change in the actual plugin now.
Thankyou for your help. As usual it is very useful and much appreciated