Upload
jghudson
View
3
Download
0
Embed Size (px)
DESCRIPTION
Tutor
Citation preview
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 1/8
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 2/8
he easiest way to install such pac"ages is to
put all help 4les, $sc class 4les and plugin 4les(li"e $scx, $sco and similar) into the platformspeci4c Extensions directory$
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 3/8
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 4/8
Customising SuperCollider
9ou may also wish to change the defaultoptions in SuperCollider$
9ou might do this by modifying these classes!
Serer1ptions
'ain
:ut it is much more straight forward to modifya platform speci4c startup 4le$
1n a 'ac, this is located at!
;#5ibrary#ApplicationSupport#SuperCollider#startup$rtf;
(i$e$ parallel to the Extensions directory)
o gie an example of the sort of thing that can
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 5/8
go in there, here is an extract from mine! ;3ic"<s Startup *ile;$postln=
##aoid >ende?ous, Serer1ptionsSerer$local$options$?eroConf @ false=
Serer$internal$options$?eroConf @ false=
Serer$local$options$num1utput:usChannels @ &=Serer$local$options$numnput:usChannels @ &=Serer$internal$options$num1utput:usChannels @ &=Serer$internal$options$numnput:usChannels @ &=Serer$local$options$memSi?e @ BD&BF= ##so lots of memory for delay lines in Comb UGensetcSerer$internal$options$memSi?e @ BD&BF=
Serer$local$latency@$H= ##low latency is helpful for optimal performance for some machinelistening processesSerer$internal$latency@ $FH=
##;SCIJ5UG3IJA8;$seten(;#0olumes#data#sccode#plugins#;$standardi?eJath)= ## all defs in
this directory will be loaded at startup##;echo K;5oading Jlugins *rom <LSCIJ5UG3IJA8<K;;$unixCmd=
##M#scwor"#synthdefs#SynthNef $synthNefNirI(;#0olumes#data#sccode#synthdefs#; $standardi?eJath)=
##load on startup of serer;SCIS938NE*IJA8;$seten(;#0olumes#data#sccode#synthdefs#; $standardi?eJath)= ## all defsin this directory will be loaded at startup;echo K;5oading SynthNefs *rom <LSCIS938NE*IJA8<K;;$unixCmd=
##Serer$local$recSample*ormatI(;intB;)= ## sometimes might use this for standard wa 4leout as deafult, but currently accepting the Ooat default
##Serer$internal$recSample*ormatI(;intB;)=Serer$local$rec8eader*ormatI(;wa;)=Serer$internal$rec8eader*ormatI(;wa;)=
##Serer$local$options$deice @ ;est;=##Serer$internal$options$deice @ ;est;=
##for general use also use symbolic lin"s (ln %s path) from #5ibrary#ApplicationSupport#SuperCollider#Extensions to my own class folder and help folder directories## Nocument$initActionI(P##arg doc=####doc$bac"groundI(Color$blac")=##doc$stringColorI(Color$white)=##
##Q)=
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 6/8
t is also possible to oerwrite existing methodsof classes or add extra methods to classes,without modifying original source 4les% this isreally helpful if you are freRuently updatingSuperCollider and don<t want to hae to changeanything in a new download$
o hac" my own Serer window GUs made aclass 4le of the form
6 Serer Pma"eindow P arg w=
$$$
Q
Q
he 6 Serer part means that this class 4le isadding extra methods to the Serer class(which can be instance or class methods)$ f a
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 7/8
method exists already, it can be oerwritten%hence my suppressal of the standard SererGU$
:ecause SC is open source, it is een possible
to compile SuperCollider yourself aftermodifying the serer or language code$ his,howeer, is not recommended for the fainthearted (see the riting Jrimities help 4le andsc%de mailing list archies)$ he furthest you
7/21/2019 10 Extending SuperCollider
http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 8/8
might go in normal practise is writing new plug%ins for the serer (new UGens) which is carriedout with C programming$
here is one new fun tric" on 'ac post ersion$$ his is the Cocoa'enutem class, whichallows you to add your own items to the menubarT