Order of IR in Combobox not in the same order after export. Am I the only one?
-
Here's in the audio file folder :
Here's in Hise (right order):
Here's the exported Vsti (strange order)
The order is also different on MAC.
Any thoughts?
This is how the combobox is populated with the names :
// Pool audio files const audioFiles = Engine.loadAudioFilesIntoPool();
// Get a list of irs const var irs = []; for (a in audioFiles) { if (a.indexOf("ir/")) //Impulse responses will be in ir folder { var ir = a.substring(a.indexOf("ir/") + 3, a.lastIndexOf(".")); irs.push(ir); } }
// cmbIR const var cmbIR = Content.getComponent("cmbIR"); cmbIR.set("items", irs.join("\n")); // Populate dropdown inline function oncmbIRControl(component, value) { local filename = component.getItemText(); loadIR(filename); }; Content.getComponent("cmbIR").setControlCallback(oncmbIRControl);
inline function loadIR(filename) { masterIRReverb.setFile("{PROJECT_FOLDER}" + "ir/" + filename + ".wav"); }
Maybe Engine.loadAudioFilesIntoPool(); is loading the files in a different order, because it's more desorganized on mac?
-
Yeah I also noticed that juce will sort the file list on Windows alphabetically but not on macOS and this might be the reason for this too.
-
Got this on mac..
-
@Christoph-Hart So it's a problem with JUCE then? I'm not crazy?
-
You could sort the array yourself ;)
-
@d-healey Yeah! But the problem is that they also change place when compiling...very strange. I don't get the same result in Hise and in Reaper let's say..so I think something is happening when compiling
-
Technically, .setFile is a path. So I could bypass
cmbIR.set("items", irs.join("\n")); // Populate dropdown
and add items by hand in the Combobox.
-
@marcLab Can't you sort the array before adding it to the combo box
-
@d-healey Yep, i'm testing right now.
-
@d-healey Did the trick!
-
@marcLab Can you correct the snippet?
HiseSnippet 1275.3ocuWstaiSDEdbaLPyRQ6h32nQ4WtP2zD1t.hEDcatrDncaTR1cAQPUSrmjLT6YrFOtsQU8+7Xw6.uH7F.mYrcrca1pRjXspT7bt9ctLmiaeovkFEIjHqsFsHjhr9P6gK3p4slSXbTu1HqOx9XRjhJwIjNbQHIJh5grr17EZBVaUAYd96u+PhOg6RyIgPuVvboGwBXpbp8O3mX99cIdzQrfBRu+A8bE7VBeQLfmMsafBItmQlQeIQK1F1Hq2qiGSIjCUDEMBj4Pg2hgyEWvSj+0rH1Dep9PSzPvPIjQsly785mEqQHjUk94Q9lIQ9mXeLyisjddF3gFF3bMJlCr1nLjpTBRMeaPpqv2Saf2B7rJ.uJIv6Q1CckrPUNGM1dfcONTblRfzdQXkHKZiOshcKAHAWUOfbFsqDNrTCmm1nwt38azXmmsc081C2WH7wjXOl.Ok4Si1tJTOhTIj5pof+NbG9LFmV2WP7d9R5fIEZsczVxXqWPA8v9LPcwTLSBFCCOIF7bhTSBr1u9aFEzrlJjXGBlwK3ucRXcUxO5G1TPn5LtG8xSl5TiI2q1N6f2audAgw9QTrjFEB9.f5EPSFdBUaPlDrNjvk41ofI0OIHB.DodT7jHkjwmcK+f+b7S1EjvGtPzKiScv+OqrwfPqdXbzbGlrHqqSdM8GSVxMXRuAYoYMFLD.XjUzlQUsDAPDAGbpY3VSaSya0in.QlhFDUaWiW+cAi6TaLWiIrohBYEnwD6IEgdPSoNYy39PEDOMl6pXBNVvMVS6RITBcy72t.h7io2tF3KbI9lVDNbyDP6RUz3sGfmQzKUNEicc6RuANY5jw55Bhrc06Ln0AaJDaQ78m.iFbJi7jduaFc2zyoQSw5UNFBLi55MX.8bpbh1k51PmZW0evI+XmViNs6IG0tyfqqAsBldB32k4AfT8KHmWaYvgypzER0uTnnmvc1o5UU2p50Uw2j0zoqjWZH5SkqjsdPp7tTzgGGLgJyJoYBBSWJO95A2uwWtIUpBBJ383L0Igzzy4C3z7Rh5LtMPKC1hjxiwhTMg1JDKmzsmehR6jzSRSEGDUYli9vz4nPG1DwghKQL.kuusoQBYxNEWogdUu1DEIyPfMA+DRkJlNaY0ldNreKY.8V1soQmoDgFYSaeQV12C2dIHl0iAGtP+x2BuXtTCGrYxlvFyasM.1II7zWsKunRuQNkAT9KsQPO0mGwTKJFd+G1d0XkauZtpr+8DtOxtOS4Ne03ciUfWnJ7+MdS+Vfss6LcJ0UkC1J1c+42wK9+3Lr.cdmK7iMonj5b44TkvUa4hxeW1u7mugpJSBgNB.M2sTtMcC5QT9L07hMIoPpGOLVUj9qhnGBSgmIEwbuQykThWQ60WR8n9jR93GXsJXi+3uNnMIHDV0VTltcGkdgJmDLhM4i.+L6VeyXvwxnwCh8jjwo24FejYL+XlD9qodLLJPGw1VZ8CHlaXR3fuPDBkLoJimlPGtW1QqMuqOwr48+SLQCDPEiO6XB7wDZ2+x3fgvW15RglJNm5qudasgdXUx4FYPXHk6YN7OvSJyl5yVoLalw7chOBHtRwotIiQ08nefgBD2bSIYK3eP.NialM8z1tQ8FP52icpqq9lyiahPqVmuXMz4IqgN6uF57z0PmubMz4qVCc956TG8+txyiUhfjop.g9cLawrr5vIP2qYPA5eAtFArt
-
@DabDab
masterIRReverb
hasn't been declared in your script. -
@marcLab Did you use
array.sort()
? -
HiseSnippet 1233.3ocuWstaiSDEdbaMrMvJsKhGfQ4WthRZBaW.oUH51bYIPuDkjcADrpZh8jjgNdFqwiaaTUk3m7Xw6.uH7F.mYrcrca1RUjV7ebly0uyk4bbFnj9z3XoB4r83EQTjyG6NZgPOu8bBSf52A47H2ijjf9CQGtHhDGSCPNNa9JCWms2BYe96u8PBmH7oEjPn2HY9ziXgLcA0AG7CLNuGIfNlEVR58OnuuTzVxkI.R1zsIJh3eNYF8DhQrMbQNeP2.lVpFoIZZLxYqCkAKFMWdoHU92vhYS3TygVnQfgRI2SxCLH1PE0dNiGLHOhiQfUFTD+alF+ep6wr.1R5E4gmXYfKznb9vYi6CdsJCulOb34TBdakBum5NxWwhzEbLX6ib6KzT0TBTBJCqTYQa71sbaKAID5Fgjyo8TvgkZ387lM2Eueyl67hGWCJCwZ7EDENjDCBze3P5ET0D72fs8EMlQ0cmNk5q8pWUh5F02aO7.ojiIIALIdJiSiysokTOCEvVcEyXBZCNzY8xkzADIMZ6Yrj0VuhB5g4LPc4TLSAFCCOEfDHAV6WdqUACqoRE1ifYhR9amTVWm9x7vlBB0fIBnWc5Tu5L0d02YG7d60OLJgGSwJZbD3C.pWB8q3ITiAYJv5P8RUXmRlz7jhH.PjFwISh0JlX1c7C9yvOaWPBNj85myoA3+WT0XPn0HJIdtGSUl0Mo+L6kMK4GNo+vxkNKA.F40bnl0VFBQDbvqtkqsZY+UiXJPjoogw02050eSxDd0+UgASXaEExJPeMNPIiBfdZSxlI3PEDOMQ3qYRAVJrVy3RETB8y82t.h3Iz6VC3ReB21hHfK4.ZWphAu8A7Lldk1qbrysCh7x0Im0MkD4w0t2f1DrYPrMgym.SY7ph7zduaGc21yYQS45UAFpduv3RSanW8qGL7zuua6wm06zi5zc3M0gVAaOA7dYd.H03RxE0WFb37JcoT8IRM8Tg2N0tt110toF91rlNck7xBQNUsR1lYxp6SQOQR3DpJujlKHLbp5zO228zuxCm8SqTkDTJ5KX5Sinh20LQTV40LcLCUfnZ6rwmjMaDJ6SjGJuBwfgfenqs5hrPt7JKzq62gnI4FBrI3mHpRyLgfSG5Ev9qzgta61gFetVFYkMqmBByGfauZoK+8dGrnv+mbf8FGXDWlBBz6NoG12HCL26ptDxr4MiATapLs2LQWDyzKJGluW1L8Pg6ScGvz9yWMd2XE3EpFuuwa1d9G6ltFq.ra416mV2k5q9aNZ9esT+SxwBzAdgjmXSQo04pCQpfqNpEU+9qe9O+QptJID5H.zB+J41r0aGQEyzyK2jjAo9hnDcY5uNldHLhblRlHBFOWQIAks2.EMfxIU7w2wZWxF+wecPGRXDrGrrL85MN6hUAIX92xO1KzDItNF5gjqx+IWJifRgRWlPWQP9QmMqVt17gUtVQ2xPITIDyNl.avMt+jjvQvWl5SglEgfxMWac1vLLJ8bybHLhJBrG9G3IiYKyYmLlsxY9+hOBI9J4Y9oiIM8dOxRAhagMUus6wly3V4SGcca1nIj9CXm46atQ74sPnUqyWrF57r0Pm8WCcd9ZnyWtF57UqgNe88pi4uX7xDsLLcZIPXPW6VJGmtBBz8ZG.f9WPQxpJ1
Now ?
-
@DabDab setFile isn't a function that effects have - see the docs
You need to grab the reference as an audioSampleProcessor.
Whenever you see a
function not found
error it means you've either mistyped a function name, or the thing on the left side of the.
doesn't have such a function, you can quickly check this by typing the function name into the api browser. -
@d-healey Array.sortNatural();
Array.sort() doesn't sort strings if I'm not mistaking.
-
EX:
const masterIRReverb = Synth.getAudioSampleProcessor("masterIRReverb"); inline function loadIR(filename) { masterIRReverb.setFile("{PROJECT_FOLDER}" + "ir/" + filename + ".wav"); }
-
@marcLab Ok... Got it.. :) Thank you.
-
@d-healey Thanks man :)