@David-Healey I'm not sure I've tried to get it to print some info to console for me but stuck at this point. Here is the full code if that helps shed any further light:
///Convo Reverb
const var ConvolutionReverb1 = Synth.getAudioSampleProcessor("Convolution Reverb1");
const var irs = Engine.loadAudioFilesIntoPool();
const var rvbnextbtn = Content.getComponent("rvbnextbtn");
const var rvbprevbtn = Content.getComponent("rvbprevbtn");
// Track current IR
var currentIRIndex = 0;
ConvolutionReverb1.setFile(irs[currentIRIndex]);
inline function onrvbnextbtnControl(component, value)
{
if (value)
{
currentIRIndex++;
if (currentIRIndex >= irs.length)
currentIRIndex = 0;
ConvolutionReverb1.setFile(irs[currentIRIndex]);
}
}
inline function onrvbprevbtnControl(component, value)
{
if (value)
{
currentIRIndex--;
if (currentIRIndex < 0)
currentIRIndex = irs.length - 1;
ConvolutionReverb1.setFile(irs[currentIRIndex]);
}
}
rvbnextbtn.setControlCallback(onrvbnextbtnControl);
rvbprevbtn.setControlCallback(onrvbprevbtnControl);
const lafrvbnextbtn = Content.createLocalLookAndFeel();
rvbnextbtn.setLocalLookAndFeel(lafrvbnextbtn);
lafrvbnextbtn.registerFunction("drawToggleButton", function(g, obj)
{
var c = obj.area;
g.setFont("phosphor", 30);
g.setColour(obj.textColour);
g.drawAlignedText("\ue02e", c, "centred");
});
const lafrvbprevbtn = Content.createLocalLookAndFeel();
rvbprevbtn.setLocalLookAndFeel(lafrvbprevbtn);
lafrvbprevbtn.registerFunction("drawToggleButton", function(g, obj)
{
var c = obj.area;
g.setFont("phosphor", 30);
g.setColour(obj.textColour);
g.drawAlignedText("\ue05a", c, "centred");
});
const var rvbfilename = Content.getComponent("rvbfilename");
inline function onrvbfilenameControl(component, value)
{
local currentReverb = ConvolutionReverb1.getCurrentlyLoadedFile();
if (currentReverb == "")
{
rvbfilename.set("text", currentReverb);
}
else
{
rvbfilename.set("text", currentReverb);
}
rvbfilename.repaint();
};
Content.getComponent("rvbfilename").setControlCallback(onrvbfilenameControl);
rvbfilename.setPaintRoutine(function(g)
{
var a = this.getLocalBounds(0);
var cornerRadius = 4;
// Text color
if (isContainerOpen || isHovered)
{
g.setColour(0xFFFFFFFF);
}
else
{
g.setColour(0xFFFFFFFF);
}
// IR text
var textArea = [a[0], a[1], a[2], a[3]];
g.setFont("font", 20);
if (currentReverb == "")
{
g.drawAlignedText("Default", textArea, "centred");
}
else
{
g.drawAlignedText(currentReverb, textArea, "centred");
}
});