2 *new { ^this.shouldNotImplement(thisMethod) }
7 ?? { arg obj; ^obj.value }
10 booleanValue { ^false } // TODO in the long-run, deprecate for asBoolean
12 // support a nil Environment
13 push { arg function; ^function.value }
14 appendStream { arg stream; ^stream }
21 // rate access support
37 // dependancy operators are no-ops
48 transformEvent { arg event;
51 awake { arg inBeats, inSeconds, inClock;
53 temp = inBeats; // prevent optimization
58 nextTimeOnGrid { arg clock; ^clock !? { clock.nextTimeOnGrid } }
59 asQuant { ^Quant.default } // { ^Quant.new }
72 matchItem { ^true } // nil matches anything
76 // This makes it unecessary to check for array.isNil when doing:
77 // array = array.add(thing); Instead, it just works.
80 addAll { arg array; ^array.asArray }
81 ++ { arg array; ^array }
85 // ControlView support
87 get { arg prevVal; ^prevVal }
89 // FunctionList support
90 addFunc { arg ... functions;
91 ^if(functions.size <= 1) {functions[0] } { FunctionList(functions) }
97 // if Main-startup fails then AppClock scheduler may be nil. If that happens an
98 // endless cascade of doesNotUnderstand messages gets printed in response to each clock tick
105 handleError { arg error;
106 Error.handling = true;
108 { error.inspect }.defer;
112 Error.handling = false;
116 archiveAsCompileString { ^true }