Order of IR in Combobox not in the same order after export. Am I the only one?



  • Here's in the audio file folder :
    ir.gif

    Here's in Hise (right order):
    ir2.gif

    Here's the exported Vsti (strange order)
    ir3.gif

    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.



  • @Christoph-Hart

    Got this on mac..
    Screen Shot 2021-10-06 at 11.36.04 AM.png

    Screen Shot 2021-10-06 at 11.38.36 AM.png



  • @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() ?



  • @d-healey @marcLab

    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

    6cb2bebd-bd67-4f4a-ad7c-573622f656e2-image.png

    You need to grab the reference as an audioSampleProcessor.

    e4a3bb6c-d646-4e15-9e29-3c124fa825dd-image.png

    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.



  • @DabDab

    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 🙂


Log in to reply
 

5
Online

1.5k
Users

4.6k
Topics

42.1k
Posts