Convolution Reverb
-
FYI, I've just added a safe check that throws a script error whenever you want to load a embedded audio file using the scripting call
AudioSampleProcessor.setFile()
without callingEngine.loadAudioFilesIntoPool()
first. This should catch 99% of all use cases that would lead to a missing embedded resource. -
@Christoph-Hart said in Convolution Reverb:
Engine.loadAudioFilesIntoPool()
AudioSampleProcessor.setFile() without calling Engine.loadAudioFilesIntoPool()
Where to add this code? I use old hise 1.1.2(
The convolution reverb is not embedding the IR samples into the Exported FX
-
i have this errors(((
-
@jackburns you are going to have to be on a more recent version of HISE...
-
I'm still missing something in doing a basic IR loader.
I'm getting the list of audio files with
getFolder(FileSystem.AudioFiles)
as suggested in this thread, and loading the IRs withsetFile("{PROJECT_FOLDER}" + impulseName)
. However in the exported plugin they don't show up in the combobox, I'm guessing because I'm supposed to use{PROJECT_FOLDER}
instead as FileSystem.AudioFiles doesn't resolve.I think I should get a file object for
{PROJECT_FOLDER}
so I can list the files withfindFiles
, but I couldn't find a function to do that in the API.HiseSnippet 2059.3ocuXszaibbDdFIMFVz4wZi8GPCdvfxQQfCeSXDDI9RRYEkXDo0tNAFKZMSSx1ZltI5oGsKggO3a4TNleO4+PNj+F4dNjT87dFNd8tBNgGHl96qqpqtppq9wLA2h34wEZ5UVrcCQS+WXLeKStd3ZLkoc4HM8ekwTrmjHPgPC1tA64Qr0z02+bEf9gGnE76e86GfcvLKRJjl1cbpE4JpKUlhN6zWPcblfsIKntY5cqSuzhyFxc39f8ruQcsMXqGvqHWiUcaOCsKvdq0z+Bi5s6PHcatz1F2rocmNc52qeq9l3k0agu2rS+VMZ0sQutK0z+nw1TIWLWhkDOPoC31amul+FV3.bG0iduCQ0vTaNLxgvZCWScrmE6b7zzzOXVpqZ+PW0yMlRsoI3otrmEPfRkHqSSeu2kIY9AXR5YLoCBMoO0XtkftQlxnrmOw3RFDAWhgXSVSIruZ68C6aLjC8fIOwE+.Yh.ZjHQsN0qeLB96nurREH93IQPmej63Kob1sjGIh6Q+NTPVyIqHxy7so74X2MNjDqnV0LhfBkoJnuP0IBZOm3Pr.+BnqXiAaaOj6dOe.+s0plzKUmpdLxDrJy1JqJu7m3Qj0pRkDWupGWUMJUFyVQYjSb3X6.qaB0g3ASP9LN2oFziCirDp6FeGOxDtiMQYHpNNeKj86plYgv0x.lpsjISjJ7xK8RJyNne0xMDGip9EUQGiVhAHPEKAWEUfnrD0bz2U4vByOvqbInSnimH4ykBJak5ak5YvBkiNQP13nBbUO4M3GC7Afp+9JUnLGvMfV5yrBhCbVdMqb6BvgXwc2vYP.3XziXGexQU.ivgagchMKXxEaf+4ftf9sHyuIi4TBYh8At6cRfTAMUGpU86lc6M+gwCW75I2b0nw298UQ+l3wRMKfn4tg6HCeH1w4dnhQsejI1QeYlo90bI4FVsf4F3bPEoVtrTtHU4.4AkQqJnIdWBVi46duJvm5YUcDV.mupvG89UUvJbkRlNxYWxnxa1PhZGjnYG98t0PzhVpoplDYgPWkA0RdVTsj3kfZTPM+ZibqC0BlFIkvO8Ocp1Wc4HrDGqPP2v3sgHjT0zReD4QXCgvhUGZLh38fjuInuQ4bvT+CX3eqltgdEXj2p93uAeDrvWau+YEiJlnKfLBOTcSzUXwJRPyTzFnoDapuaA3ln4tvWEPaEohOGcMAKRwaGqjhDchTSQ7tIJZDV7PJduTbBYSJd+zAHGgYcUYRKvwl2RMMQmCg7BfMPywLaHjW.uInTlWAOiYKzPGvnKf1FMP.acT.sC5LW0wCrwEbjlcQCHBUEmhJpGZ.2SBqJTsQmkRzOGwfDhFvbcM0BuhmWSMLQ2QILFt.bCzK4BHGWVbnazDsXMAclvZ8H+GHo3sPKD7sno9dTqBhzFbcTlD1fy4Q3iThNPjwZMlQsJ3SZzMRjyIv5I6JMQ2x4tA4gykpcLf4bBViXrAfSm6QRYZlxLAxfRvaEiOLEqcL1nTrNwXiSw5FjDADvZsTzdQSbUyTz9nKH3G2lGER6BySeImaSXEHMiR5KkrQjjKf571E3ZFmkWFYqHsVFWazHQvhC3zWpBqoLcPi9VLaE2qfDciz1c72VfoG5bGUBddz9nYDgkumWvQWxRAokSwBnpLZBealgtgYxZ478uQRMg73Mi5+sEmdPd4tXv5P0lp4A6Dqhbnwy07n8PAmvq.ZezPh5Le4gaVGM.1Rs.XRh7KRwfEcXprf2qYSnJknfeqYKzM3GfqJTXl0Dxhmn71KCwaEGTyTBONLmkKoPdYjwkyKiqU9ZwYoZmDp1gpShTCDzUqk4H6lHWIj8PufB9xxLk9n4Lrnz4Grj6tfCeUFmI5rOeZoLMPCGUJQSzMv9CkwzJr5PYTsgx72G2FpekkqSNtA43.+gOrAiLQoAJBJZCkmSipwP4YShqkSGGYKmsPrMGWlMs2krS9HeNttEC84X6kp1xn6WL0HKKDjC78kNYfn7Ub1peDxFQ6VWNaynp3ky1BVcCU7d0qtJOd6rE8NiJp.dE3x3gwrq4B4ZHf5CailgnAZLVc4vh3Pbh6Wl.sPujTl.sQCgSM3hCqBjhCeYwU2u.p9fWQxv.G0.CivEbeurv8PCA+xLUXLErOr8ObQjTDv0CEYeCrkE5NH9P1lgxDs.1CwgnXy.2.clE1l3tE80XQVBvaSgi.PsyXFpiSggCsxx.0NbKXzezGKDYGvNnw9v4kyZdcQmC2IvNrslKN3Lu7fGRYm6++LiobaeGrL+yQndnlHBHfl6M.T2ym4Qkay9PNe.uQQ824aT79ZhepwLpzZc413dkXiv8K9egMF8xN+RiwKWBWcL0.OvXxqdmOiyAueCe50w9IeRmOK1Vxba4.a44F69ZJ4rsQhs4eZtu9u+RhLOjl1Ufgyrx4SuL7h1WQXqjqylPDYVWx13Kyh+UdD0wCVI39L6EqEDrcV8MSPrIN3biwEzgYzwe4eb5Hr6FXQc19LYxhnqHFA87SUuNP36.drQw2Hn70qpW+PyUMmMzU5HZky+9utulCmuABbBYLmBXLyNlWe+eldiNsagRevjaJVJnpg+ZeWnZHb4DH0hwHNdpgbO0EwCaWO1hlSX1AM9OvuHRSUa8HRyXx+uLFtXKA+0VgOQfJS8iCPf4MKHnbnwTUajYgWDP42o1zWaYkWU6HXimpfMepB15oJX6mpfcdpB18oJXueZAUOU8Y9RtaXcWMsoyFG7BN55iYXHKOnjh1+EQKgIp.
-
@Simon Are these IRs going to be provided with the plugin, or are they external and the user can add their own?
-
@Simon read this thread, you need to call
loadAudioFilesIntoPool()
. -
@d-healey They'll be shipped with the plugin, with no option to let the user add more.
@Christoph-Hart I did!
const ConvolutionReverb = Synth.getAudioSampleProcessor("Convolution Reverb"); const reverbSelector = Content.addComboBox("reverbSelctor", 10, 150); reverbSelector.set("items",""); Engine.loadAudioFilesIntoPool(); const impulseFolder = FileSystem.getFolder(FileSystem.AudioFiles); const impulses = FileSystem.findFiles(impulseFolder, "*" , false); for(ir in impulses){ reverbSelector.addItem(ir.toString(ir.Filename).replace(".wav","")); } inline function onreverbSelectorControl(component, value) { local impulse = impulses[value - 1].toString(impulses[value - 1].Filename); ConvolutionReverb.setFile("{PROJECT_FOLDER}" + impulse); }; reverbSelector.setControlCallback(onreverbSelectorControl);
-
@Simon loadAudioFilesIntoPool returns a list of references. Do not use findFiles, the files do not exist on the user system.
-
@Christoph-Hart Ahaaaahhh that's the step I was missing, thanks very much!