2 *new { ^this.shouldNotImplement(thisMethod) }
14 ascii { ^this.asString.ascii }
16 // the primitive fails to escape '
17 asCompileString { ^("'" ++ super.asString.escapeChar($') ++ "'") }
20 // if Symbol represents a class name then return the class, else return nil.
30 asSpec { ^Spec.specs.at(this) }
31 asWarp { arg spec; ^Warp.warps.at(this).new(spec) }
32 asTuning { ^TuningInfo.at(this) }
33 asScale { ^ScaleInfo.at(this) }
36 // returns true if last character of symbol is an underscore
42 // returns true if first character of symbol is a capital letter
45 _SymbolIsMetaClassName
46 // returns true if there is a meta class by this name
52 // returns true if symbol is a valid primitive name
56 // returns true if symbol names a bound primitive
57 ^this.isPrimitiveName and: { this.primitiveIndex > 0 }
61 // returns true if symbol starts with 'a' or 'c' followed by a number
63 isRest { ^this.isMap.not }
65 openTextFile { arg selectionStart=0, selectionLength=0;
66 ^this.asString.openTextFile(selectionStart, selectionLength)
69 // Environment support
70 // The compiler translates use of an Environment variable like ~myvar
71 // to a call to one of these methods, for example:
72 // ~myvar = 5; translates to: 'myvar'.envirPut(5);
73 // the implementations have been replaced by primitives
76 ^currentEnvironment.at(this)
78 envirPut { arg aValue;
80 currentEnvironment.put(this, aValue);
84 blend { // Envelopes may call this on the curves inst var.
88 ++ { arg aString; ^this.asString ++ aString }
93 ^if(res[0].isAlphaNum) { res ++ ":" } { res }
96 applyTo { arg firstArg ... args;
97 ^firstArg.performList(this, args)
100 // support for math on symbols
102 performBinaryOpOnSomething { ^this }
165 bitHammingDistance { ^this }
166 hammingDistance { |that| ^this.asString.hammingDistance(that.asString) }
178 unsignedRightShift { ^this }
182 < { arg aNumber; _LT; ^this }
183 > { arg aNumber; _GT; ^this }
184 <= { arg aNumber; _LE; ^this }
185 >= { arg aNumber; _GE; ^this }
187 degreeToKey { ^this }
193 doComplexOp { ^this }
195 doListOp { arg aSelector, aList;
196 aList.collect({ arg item;
197 item.perform(aSelector, this)
202 _Symbol_PrimitiveIndex
203 ^this.primitiveFailed
206 // used by BasicOpUGens to get an ID number for the operator
208 ^this.primitiveFailed
211 printOn { arg stream;
212 stream.putAll(this.asString);
214 storeOn { arg stream;
215 stream.putAll(this.asCompileString);
219 codegen_UGenCtorArg { arg stream;
220 this.asString.codegen_UGenCtorArg(stream);
223 archiveAsCompileString { ^true }
225 kr { | val, lag, fixedLag = false |
226 ^NamedControl.kr(this, val, lag, fixedLag)
230 ^NamedControl.ir(this, val)
234 ^NamedControl.tr(this, val)
238 ^NamedControl.ar(this, val, lag)
241 matchOSCAddressPattern { arg addressPattern;
242 _Symbol_matchOSCPattern
243 ^this.primitiveFailed