Hello,
Is there any data on what are the most commonly used classes in supercollider? I think this would be useful information to anyone trying to uncover their own coding biases or blind spots in their knowledge, and could be valuable to educators for the same reason. Out of curiosity I decided to search my own files to see what my most used classes are (on this machine). I used the following Terminal commands to list my top 100 (I’m not going to spam the forum with a complete list):
cd /parent/path/to/your/sc/files/
grep -Ewroh --include \*.scd '[A-Z][a-zA-Z0-9]+' . | sort | uniq -c | sort -nr | head -n 100
WARNING: I am inexperienced with grep and regular expressions, so I’m not totally sure that’s the correct command. Im attempting to recursively look through all *.scd files and count all occurrences of capitalized words containing alphanumeric characters, which I believe is the only indicator that a token is a class, but if anyone sees an error or knows a better way please feel free to share. One problem for certain is that the result includes commented-out class names and other capitalized words in comments, which I would like to avoid, but maybe someone has written a script to do a more precise analysis.
Anyways, here is my top 100, and feel free to share your own results!
1699 Pseq
882 SinOsc
661 Out
655 Env
641 Ndef
588 Pwhite
568 SynthDef
480 Pbind
369 Pn
324 Rand
316 Pkey
304 EnvGen
280 Synth
272 Pfunc
251 Pexprand
251 Pan2
236 Pdef
189 In
182 Pwrand
178 LFNoise1
174 Impulse
171 Prand
142 LeakDC
141 Buffer
130 Pstutter
126 LPF
122 Spec
115 Pbindef
114 Array
111 Pbindf
108 Pfindur
105 Bus
105 BPF
102 Balance2
99 MIDIdef
95 PinkNoise
90 Mix
88 Pdefn
87 Pseg
82 WhiteNoise
82 Ppar
81 Rect
80 Pen
79 Saw
78 Color
69 MouseX
68 OffsetOut
67 Pshuf
67 DetectSilence
65 Scale
63 Sweep
63 PlayBuf
63 DelayN
61 Pseries
61 Hasher
60 RLPF
60 Pgauss
60 FFT
58 HPF
56 LFNoise2
54 Pmono
52 TempoClock
52 Psine
52 LFSaw
51 MouseY
50 Splay
49 RHPF
49 MixerChannel
47 Signal
46 Window
45 XLine
42 ExpRand
40 Instr
39 LFTri
38 LocalBuf
37 Pxrand
37 Plazy
36 Line
36 CombN
35 IFFT
35 Group
33 XFade2
33 Quark
32 Limiter
32 Dust
31 ControlSpec
30 OnePole
29 Routine
29 Pbjorklund2
29 PathName
28 Pulse
28 Pseed
27 ServerTree
27 LFPulse
27 BufRateScale
26 PmonoArtic
26 ObjectSpec
26 Button
25 TRand
25 Pbrown