1 SCQuartzComposerView : SCView{
2 var <path, <inputKeys, <outputKeys;
5 this.setProperty(\start);
9 this.setProperty(\stop);
14 this.setProperty(\loadCompositionFromFile, argpath);
15 inputKeys = this.getProperty(\getInputKeys).collect(_.asSymbol);
16 outputKeys = this.getProperty(\getOutputKeys).collect(_.asSymbol);
19 openInQC{ ("open" + path.quote).unixCmd }
21 setInputValue{|key, value|
22 this.setProperty(\setInputValue, [key.asSymbol, value]);
26 ^this.getProperty(\getInputValue, key.asSymbol);
30 ^this.getProperty(\getOutputValue, key.asSymbol);
34 // this.setProperty(\erase);
37 // eraseColor_{|color|
38 // this.setProperty(\eraseColor, color);
42 this.setProperty(\setMaxRenderingFrameRate, rate);
45 // check if the method corresponds to a port key
47 doesNotUnderstand { arg selector ... args;
48 if(selector.isSetter && inputKeys.includes(selector.asGetter), {
49 this.setInputValue(selector.asGetter, *args); ^this;},
51 if(outputKeys.includes(selector), {^this.getOutputValue(selector)}, {
52 if(inputKeys.includes(selector), {^this.getInputValue(selector)})
56 super.doesNotUnderstand(selector, *args);