Convolution no embedding
- 
 You need to have Engine.loadAudioFilesIntoPool();in on init.
- 
 @d-healey -- oh LOONG since had that: Engine.loadAudioFilesIntoPool(); -- in dfact I think theres a compile check these days that issues a warning if you dont have this.. 
- 
 @Lindon Right well Now the problem is: The stand alone starts OK - and runs fine - except: The reverb isnt working at all, Still... when I select a new IR then SOME of them DONT report an error - tho they are not having any effect in the instrument, and SOME of them report "not embeded properly" Heres my combo box code: inline function onReverbMenuControl(component, value) { //Change the IRs.. switch(value){ case 1: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Bottle Hall.wav"); break; case 2: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Conic Long Echo Hall.wav"); break; case 3: ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM spatial plate.wav"); break; case 4: ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM_dream hall.wav"); break; case 5: ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM_gen rhall.wav"); break; case 6: ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM_museum hall.wav"); break; case 7: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Deep Space.wav"); break; case 8: ConvolutionReverb1.setFile("{PROJECT_FOLDER}DRUMSbig drums.wav"); break; case 9: ConvolutionReverb1.setFile("{PROJECT_FOLDER}DRUMSshort plate.wav"); break; case 10: ConvolutionReverb1.setFile("{PROJECT_FOLDER}French 18th Century Salon.wav"); break; case 11: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Greek 7 Echo Hall.wav"); break; case 12: ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR gold plate.wav"); break; case 13: ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR plate4brass.wav"); break; case 14: ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR rock plate.wav"); break; case 15: ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR_guitar cave.wav"); break; case 16: ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR_horns hall.wav"); break; case 17: ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR_short reverse.wav"); break; case 18: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Large Long Echo Hall.wav"); break; case 19: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Large Wide Echo Hall.wav"); break; case 20: ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE great plate.wav"); break; case 21: ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE hot plate.wav"); break; case 22: ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_concert hall.wav"); break; case 23: ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_deep blue.wav"); break; case 24: ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_m hall+stage.wav"); break; case 25: ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_small church.wav"); break; case 26: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Scala Milan Opera Hall.wav"); break; case 27: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Small Drum Room.wav"); break; case 28: ConvolutionReverb1.setFile("{PROJECT_FOLDER}Small Prehistoric Cave.wav"); break; case 29: ConvolutionReverb1.setFile("{PROJECT_FOLDER}St Nicolaes Church.wav"); break; case 30: ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC vocal plate2.wav"); break; case 31: ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC_good ol' verb.wav"); break; case 32: ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC_vocal hall2.wav"); break; case 33: ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC_vocal magic.wav"); break; }; }; Content.getComponent("ReverbMenu").setControlCallback(onReverbMenuControl);
- 
 @Lindon ....and NOW..... it seems some are loading and working correctly and some are reporting "not embeded " 
- 
 @Lindon perhaps its something IN the Audio file that is stopping it embeding properly - whats the format requirements for IRs? 
- 
 @Lindon swell they are all 16 bit 44.1 Khz sample rate so thats not it... any help? 
- 
 Right, found it: So for those in a similar situation: Here's the name of one of my IR files: LIVE hot plate.WAV Here's the piece of code that loads it: ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE hot plate.wav");- this loads and plays nicely in HISE, but will not load in a compiled app...
 Perhaps you can quickly spot where I've made a mistake...It took me all morning... - yes this
 LIVE hot plate.WAV is NOT this: LIVE hot plate.wav --- as far as the HISE application is concerned the case of the file extension is unimportant, but as far as a compiled app is concerned - it IS important. So leaving my file named: LIVE hot plate.WAV and changing my code to read: ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE hot plate.WAV");Means it all works correctly. So my request: @Christoph-Hart - can we please have case sensitivity parity between HISE and the things made in HISE..... 
- 
 Hmm, the problem is that I am just passing the file path to the OS methods and Windows doesn't care about uppercase, but macOS does (in a compiled plugin it is case sensitive on both OS because it uses the path as normal string key to a hash map). I have no idea how to validate the case sensitivity for file paths on Windows without bad hacks, so this is a classic case of "watch out during development". 
- 
 @Christoph-Hart OK, understood, but perhaps we could have a warning? 
- 
 but how should I do that? You pass a string to a OS call and get a file handle back. I would have to then query the filename from the handle and match it with the input, which is really hacky and adds performance overhead for 0.00001% of all cases where somebody makes a case mistake. 


