The following gives a really weird “ERROR: Non Boolean in test” when parameterizing numChannels
in InFeedback
(full trace at end):
(
add(SynthDef(\weird, { arg in, out, numChannels=2;
var a = InFeedback.ar(in,numChannels);
Out.ar(out,a);
Out.ar(in,a);
}));
)
Eliding numChannels
arg and hardcoding to 2 has no issue.
Stack trace:
RROR: Non Boolean in test.
RECEIVER:
Instance of BinaryOpUGen { (0x2801f7aa8, gc=60, fmt=00, flg=00, set=04)
instance variables [9]
synthDef : instance of SynthDef (0x159e045d8, size=16, set=4)
inputs : instance of Array (0x130e0e5b8, size=2, set=2)
rate : Symbol 'control'
synthIndex : Integer 2
specialIndex : Integer 8
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
operator : Symbol '<'
}
PATH: .../2024JanWorkspace.scd
PROTECTED CALL STACK:
Meta_MethodError:new 0x15847ffc0
arg this = MustBeBooleanError
arg what = nil
arg receiver = a BinaryOpUGen
Object:mustBeBoolean 0x1480dcc00
arg this = a BinaryOpUGen
MultiOutUGen:initOutputs 0x158a62540
arg this = an InFeedback
arg numChannels = an OutputProxy
arg rate = audio
a FunctionDef 0x1483187b8
sourceCode = "{ arg in, out, numChannels=2;
var a = InFeedback.ar(in,numChannels);
Out.ar(out,a);
Out.ar(in,a);
}"
arg in = an OutputProxy
arg out = an OutputProxy
arg numChannels = an OutputProxy
var a = nil
SynthDef:buildUgenGraph 0x1594e5380
arg this = a SynthDef
arg func = a Function
arg rates = nil
arg prependArgs = [ ]
var result = nil
var saveControlNames = nil
a FunctionDef 0x1594e3900
sourceCode = "<an open Function>"
Function:prTry 0x15875f880
arg this = a Function
var result = nil
var thread = a Thread
var next = nil
var wasInProtectedFunc = false
CALL STACK:
MethodError:reportError
arg this = <instance of MustBeBooleanError>
Nil:handleError
arg this = nil
arg error = <instance of MustBeBooleanError>
Thread:handleError
arg this = <instance of Thread>
arg error = <instance of MustBeBooleanError>
Object:throw
arg this = <instance of MustBeBooleanError>
Function:protect
arg this = <instance of Function>
arg handler = <instance of Function>
var result = <instance of MustBeBooleanError>
SynthDef:build
arg this = <instance of SynthDef>
arg ugenGraphFunc = <instance of Function>
arg rates = nil
arg prependArgs = nil
< closed FunctionDef > (no arguments or variables)
Interpreter:interpretPrintCmdLine
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
add(SynthDef(\weird, { arg..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Non Boolean in test.
RECEIVER: a BinaryOpUGen