SuperCollider "UGen" plugins are extensions for the SuperCollider audio synthesis server (see also quarks to extend the programming language). For community discussion and support see the SuperCollider mailing lists.
Downloads are available from Sourceforge project page.
Here is an automatically-generated list of what's available in the download (it's a listing of the helpfiles).
Make a directory for the cmake build files to go into:
-
sc3-plugins/$ mkdir build && cd build
-
sc3-plugins/build/$ cmake ..
It assumes you have the supercollider header include files located in /usr/include/SuperCollider/
If you have them in another location:
sc3-plugins/build/$ cmake -DSC_PATH=/path/to/sc3source/ ..
and then:
-
sc3-plugins/build/$ make
-
sc3-plugins/build/$ make install
On OSX, the plugins will end up in sc3-plugins/build/SC3plugins
.
Copy SC3plugins folder into /Library/Application Support/SuperCollider/Extensions
(or into a user specific ~/Library
folder).
WARNING: on OSX, if you want to install into CMAKE_INSTALL_PREFIX
, you have to
specify it by disabling IN_PLACE_BUILD
cmake option which defaults to ON (see below).
- To set the install target: (default on linux
/usr/local
)
sc3-plugins/build/$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
- (OSX ONLY) Install in cmake build folder instead of
CMAKE_INSTALL_PREFIX
(default=ON)
sc3-plugins/build/$ cmake -DIN_PLACE_BUILD=ON
- Build the plugins as quarks: (default 'OFF')
sc3-plugins/build/$ cmake -DQUARKS=ON ..
- Build supernova-plugins: (default 'OFF')
sc3-plugins/build/$ cmake -DSUPERNOVA=ON ..
- Print all cmake options:
sc3-plugins/build/$ cmake -L ..
If something went wrong and you want to start from scratch, delete everything in the build directory that you made:
sc3-plugins/build/$ make uninstall
(only if you did make install
before)
sc3-plugins/build/$ rm -r *
If you add a new plugin, please keep to this pattern:
Add a folder in the source
directory, that ends with "UGens", and starting with whichever standard pattern in the filename you have for the UGens.
Your source files should go into this directory. Beware, all your sc-specific files (sc|schelp|...
) should go into a sc
subdirectory.
e.g. the GLitchUGens comprise:
source/GlitchUGens/GlitchUGens.cpp
source/GlitchUGens/sc/GlitchUGens.sc
source/GlitchUGens/sc/HelpSource/Classes/GlitchBPF.schelp
source/GlitchUGens/sc/HelpSource/Classes/GlitchBRF.schelp
source/GlitchUGens/sc/HelpSource/Classes/GlitchHPF.schelp
source/GlitchUGens/sc/HelpSource/Classes/GlitchRHPF.schelp
then edit sc3-plugins/source/CMakeLists.txt
and add your folder to PLUGIN_DIRS
.
For the Quark-installable option, there is a document Generate_Quark.scd in quarks
folder, which also creates a help file, listing all the classes and helpfiles.
It indexes the base directory of the Extensions for each UGen, and help, and Help that are in each directory.
It also creates a Quark file that goes in the build/DIRECTORY
folder.
To package SC3-plugins:
sc3-plugins/$ mkdir build && cd build
sc3-plugins/build/$ cmake -DSC_PATH=/PATH/TO/SC -DOSX_PACKAGE=1 ..
sc3-plugins/build/$ make && make install
The dmg image will be generated in sc3-plugins/build/build_osx
.
The dmg image will contain License.txt
, README.txt
and SC3plugins
.
note: the quarks DIRECTORY is included in the dmg by default.
sc3-plugins/$ mkdir build && cd build
sc3-plugins/build/$ cmake -DSC_PATH=/PATH/TO/SC ..
and then, with your chosen PKG_FORMAT (TGZ|ZIP):
sc3-plugins/build/$ cpack -G PKG_FORMAT
The package will end up in sc3-plugins/build
.
Here is an automatically-generated list of what's available in the download (it's a listing of the helpfiles):
- AmplitudeMod
- AnalyseEvents2
- ArrayMax
- ArrayMin
- Atk
- ATKDocsLicensing
- AtkKernelConv
- ATKLicensing
- AtkMatrixMix
- AttackSlope
- AutoTrack
- AverageOutput
- AY
- BeatStatistics
- BlitB3
- BlitB3Saw
- BlitB3Square
- BlitB3Tri
- BMoog
- Breakcore
- Brusselator
- BufMax
- BufMin
- Cepstrum
- Chromagram
- CircleRamp
- ComplexRes
- Concat
- Concat2
- Coyote
- Crest
- CrossoverDistortion
- Dbrown2
- DbufTag
- Decimator
- DEIND
- DetaBlockerBuf
- DFM1
- Dfsm
- DiodeRingMod
- Disintegrator
- DNoiseRing
- DoubleNestedAllpassC
- DoubleNestedAllpassL
- DoubleNestedAllpassN
- DoubleWell
- DoubleWell2
- DoubleWell3
- DPW3Tri
- DPW4Saw
- Dtag
- DWGBowed
- DWGBowedSimple
- DWGBowedTor
- DWGPlucked
- DWGPlucked2
- EnvDetect
- EnvFollow
- EQExamples
- FeatureSave
- FFTCrest
- FFTPeak
- FFTPower
- FFTSlope
- FFTSpread
- FFTSubbandFlatness
- FFTSubbandPower
- Fhn2DC
- Fhn2DL
- Fhn2DN
- FilterComparisons
- FitzHughNagumo
- FM7
- Foa
- FoaAsymmetry
- FoaBalance
- FoaDecode
- FoaDecoderKernel
- FoaDecoderMatrix
- FoaDirect
- FoaDirectO
- FoaDirectX
- FoaDirectY
- FoaDirectZ
- FoaDominate
- FoaDominateX
- FoaDominateY
- FoaDominateZ
- FoaEncode
- FoaEncoderKernel
- FoaEncoderMatrix
- FoaFocus
- FoaFocusX
- FoaFocusY
- FoaFocusZ
- FoaMirror
- FoaNFC
- FoaPanB
- FoaPress
- FoaPressX
- FoaPressY
- FoaPressZ
- FoaProximity
- FoaPsychoShelf
- FoaPush
- FoaPushX
- FoaPushY
- FoaPushZ
- FoaRotate
- FoaRTT
- FoaSpeakerMatrix
- FoaTilt
- FoaTransform
- FoaTumble
- FoaXform
- FoaXformerMatrix
- FoaZoom
- FoaZoomX
- FoaZoomY
- FoaZoomZ
- FormantTable
- FrameCompare
- Friction
- Gammatone
- GaussClass
- GaussTrig
- Gbman2DC
- Gbman2DL
- Gbman2DN
- Gendy4
- Gendy5
- Getenv
- GlitchBPF
- GlitchBRF
- GlitchHPF
- GlitchRHPF
- Goertzel
- GravityGrid
- GravityGrid2
- Greyhole
- GreyholeRaw
- HairCell
- Henon2DC
- Henon2DL
- Henon2DN
- ICepstrum
- IIRFilter
- InsideOut
- Instruction
- JPverb
- JPverbRaw
- KeyClarity
- KeyMode
- KMeansRT
- KmeansToBPSet1
- LADSPA
- Latoocarfian2DC
- Latoocarfian2DL
- Latoocarfian2DN
- LFBrownNoise0
- LFBrownNoise1
- LFBrownNoise2
- ListTrig
- ListTrig2
- Logger
- LoopBuf
- Lorenz2DC
- Lorenz2DL
- Lorenz2DN
- LorenzTrig
- LPCAnalyzer
- LPCError
- LTI
- MarkovSynth
- MatchingP
- Max
- MdaPiano
- MeanTriggered
- Meddis
- MedianSeparation
- MedianTriggered
- MembraneCircle
- MembraneHexagon
- MoogLadder
- MoreChaos
- NearestN
- NestedAllpassC
- NestedAllpassL
- NestedAllpassN
- NL
- NL2
- NLFiltC
- NLFiltL
- NLFiltN
- NTube
- OnsetStatistics
- Oregonator
- OteyPiano
- Perlin3
- PlaneTree
- Plorenz
- PrintVal
- ProbalisticNoiseUGens
- PulseDPW
- PV_CommonMag
- PV_CommonMul
- PV_Compander
- PV_Cutoff
- PV_ExtractRepeat
- PV_MagGate
- PV_MagMinus
- PV_MagSmooth
- PV_Morph
- PV_SoftWipe
- PV_XFade
- Qitch
- RLPFD
- RosslerL
- SawDPW
- SensoryDissonance
- Sieve1
- SineShaper
- SLOnset
- SmoothDecimator
- SMS
- SOMRd
- SOMTrain
- SortBuf
- SpectralEntropy
- SpruceBudworm
- Squiz
- Standard2DC
- Standard2DL
- Standard2DN
- Streson
- Summer
- SVF
- SwitchDelay
- Tartini
- TBetaRand
- TBrownRand
- TermanWang
- TextVU
- TGaussRand
- TGrains2
- TGrains3
- TPV
- TrigAvg
- TwoTube
- VBAP
- VBAPSpeaker
- VBAPSpeakerArray
- VMScan2D
- VOSIM
- WalshHadamard
- WAmp
- WaveletDaub
- WaveLoss
- WaveTerrain
- WeaklyNonlinear
- WeaklyNonlinear2
- WrapSummer