8
7/21/2019 10 Extending SuperCollider http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 1/8

10 Extending SuperCollider

Embed Size (px)

DESCRIPTION

Tutor

Citation preview

Page 1: 10 Extending SuperCollider

7/21/2019 10 Extending SuperCollider

http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 1/8

Page 2: 10 Extending SuperCollider

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$

Page 3: 10 Extending SuperCollider

7/21/2019 10 Extending SuperCollider

http://slidepdf.com/reader/full/10-extending-supercollider-56db13f8daa72 3/8

Page 4: 10 Extending SuperCollider

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

Page 5: 10 Extending SuperCollider

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)=

Page 6: 10 Extending SuperCollider

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

Page 7: 10 Extending SuperCollider

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

Page 8: 10 Extending SuperCollider

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