hsc3-rec-0.14.1: Haskell SuperCollider Record Variants

Safe HaskellSafe-Inferred



The Make class provides the ugen function, and has instances for record constructors for all unit generators that take at least one parameter.

There are two primary use scenarios.

In the first individual record variants are used in isolatation for UGens having many inputs where default values are required

In the second graphs are predominantly constructed using record syntax for clarity.

In the latter case clarity is greatly enhanced using record field disambiguation as is present in ghc since version 6.8.2.

The record variants are generated by a program using the database at hsc3-db and are not stored in the darcs repository. This database is auto-generated from the supercollider language unit generator bindings and is not entirely accurate.

See http://slavepianos.org/rd?t=hsc3-db

In particular neither argument re-ordering or multiple channel collapse are correctly annotated, see for instance the Out unit generator in the help file analog-bubbles.hs, where explicit bus numbering is required.


class Make a whereSource


ugen :: a -> UGenSource


Make A2B 
Make A2K 
Make AbstractIn 
Make AbstractOut 
Make Allpass1 
Make Allpass2 
Make AllpassC 
Make AllpassL 
Make AllpassN 
Make AmpCompA 
Make AmpComp 
Make Amplitude 
Make AmplitudeMod 
Make AnalyseEvents2 
Make APF 
Make ArrayMax 
Make ArrayMin 
Make Astrocade 
Make Atari2600 
Make AtsAmp 
Make AtsBand 
Make AtsFreq 
Make AtsNoise 
Make AtsNoiSynth 
Make AtsParInfo 
Make AtsPartial 
Make AtsSynth 
Make AtsUGen 
Make AudioControl 
Make AudioMSG 
Make AverageOutput 
Make AY8910 
Make AY 
Make B2A 
Make B2Ster 
Make B2UHJ 
Make Balance2 
Make Balance 
Make Ball 
Make BAllPass 
Make BBandPass 
Make BBandStop 
Make BBlockerBuf 
Make BeatTrack2 
Make BeatTrack 
Make Beep 
Make BeepU 
Make BEQSuite 
Make BFDecode1 
Make BFDecoder 
Make BFEncode1 
Make BFEncode2 
Make BFEncodeSter 
Make BFGrainPanner 
Make BFManipulate 
Make BHiPass 
Make BHiShelf 
Make BinData 
Make BiPanB2 
Make BLBufRd 
Make Blip 
Make BlitB3 
Make BlitB3Saw 
Make BlitB3Square 
Make BlitB3Tri 
Make BLowPass 
Make BLowShelf 
Make BMoog 
Make BPeakEQ 
Make BPF 
Make BPZ2 
Make Breakcore 
Make BRF 
Make Brusselator 
Make BRZ2 
Make BufAllpassC 
Make BufAllpassL 
Make BufAllpassN 
Make BufChannels 
Make BufCombC 
Make BufCombL 
Make BufCombN 
Make BufDelayC 
Make BufDelayL 
Make BufDelayN 
Make BufDur 
Make BufFrames 
Make BufGrainBBF 
Make BufGrainBF 
Make BufGrainB 
Make BufGrain 
Make BufGrainIBF 
Make BufGrainI 
Make BufInfoUGenBase 
Make BufMax 
Make BufMin 
Make BufRateScale 
Make BufRd 
Make BufSampleRate 
Make BufSamples 
Make BufWr 
Make Cepstrum 
Make Changed 
Make ChaosGen 
Make CheckBadValues 
Make Chromagram 
Make ChuaL 
Make CircleRamp 
Make ClearBuf 
Make Clip 
Make Clipper32 
Make Clipper4 
Make Clipper8 
Make CoinGate 
Make CombC 
Make CombL 
Make CombLP 
Make CombN 
Make CompanderD 
Make Compander 
Make Concat2 
Make Concat 
Make Control 
Make Convolution2 
Make Convolution2L 
Make Convolution3 
Make Convolution 
Make COsc 
Make Coyote 
Make CQ_Diff 
Make Crackle 
Make Crest 
Make CrossoverDistortion 
Make CuspL 
Make CuspN 
Make Dbrown2 
Make Dbrown 
Make Dbufrd 
Make Dbufwr 
Make DC 
Make Decay2 
Make Decay 
Make Decimator 
Make DecodeB2 
Make DegreeToKey 
Make Delay1 
Make Delay2 
Make DelayC 
Make DelayL 
Make DelayN 
Make DelTapRd 
Make DelTapWr 
Make DemandEnvGen 
Make Demand 
Make DetaBlockerBuf 
Make DetectIndex 
Make DetectSilence 
Make DFM1 
Make Dgauss 
Make Dgeom 
Make Dibrown 
Make Disintegrator 
Make DiskIn 
Make DiskOut 
Make Diwhite 
Make Donce 
Make Done 
Make DoubleNestedAllpassC 
Make DoubleNestedAllpassL 
Make DoubleNestedAllpassN 
Make DoubleWell2 
Make DoubleWell3 
Make DoubleWell 
Make Dpoll 
Make DPW3Tri 
Make DPW4Saw 
Make Drand 
Make Dreset 
Make DriveNoise 
Make Dseq 
Make Dser 
Make Dseries 
Make Dshuf 
Make Dstutter 
Make Dswitch1 
Make Dswitch 
Make DUGen 
Make Dunique 
Make Dust2 
Make Dust 
Make Duty 
Make Dwhite 
Make Dxrand 
Make DynKlang 
Make DynKlank 
Make EnvDetect 
Make EnvFollow 
Make EnvGen 
Make ExpRand 
Make FBSineC 
Make FBSineL 
Make FBSineN 
Make FeatureSave 
Make FFTCentroid 
Make FFTComplexDev 
Make FFTCrest 
Make FFTDiffMags 
Make FFTFlux 
Make FFTFluxPos 
Make FFT 
Make FFTPeak 
Make FFTPhaseDev 
Make FFTPower 
Make FFTSlope 
Make FFTSpread 
Make FFTTrigger 
Make Fhn2DC 
Make Fhn2DL 
Make Fhn2DN 
Make FhnTrig 
Make Filter 
Make FincoSprottL 
Make FincoSprottM 
Make FincoSprottS 
Make FitzHughNagumo 
Make FM7 
Make FMGrainBBF 
Make FMGrainBF 
Make FMGrainB 
Make FMGrain 
Make FMGrainIBF 
Make FMGrainI 
Make FMHDecode1 
Make FMHEncode0 
Make FMHEncode1 
Make FMHEncode2 
Make FoaAsymmetry 
Make FoaDirectO 
Make FoaDirectX 
Make FoaDirectY 
Make FoaDirectZ 
Make FoaDominateX 
Make FoaDominateY 
Make FoaDominateZ 
Make FoaFocusX 
Make FoaFocusY 
Make FoaFocusZ 
Make FoaNFC 
Make FoaPanB 
Make FoaPressX 
Make FoaPressY 
Make FoaPressZ 
Make FoaProximity 
Make FoaPsychoShelf 
Make FoaPushX 
Make FoaPushY 
Make FoaPushZ 
Make FoaRotate 
Make FoaTilt 
Make FoaTumble 
Make FoaZoomX 
Make FoaZoomY 
Make FoaZoomZ 
Make Fold 
Make Formant 
Make Formlet 
Make FOS 
Make FrameCompare 
Make Free 
Make FreeSelf 
Make FreeSelfWhenDone 
Make FreeVerb2 
Make FreeVerb 
Make FreqShift 
Make Friction 
Make FSinOsc 
Make Gammatone 
Make Gate 
Make GaussClass 
Make GaussTrig 
Make Gbman2DC 
Make Gbman2DL 
Make Gbman2DN 
Make GbmanL 
Make GbmanN 
Make GbmanTrig 
Make Gendy1 
Make Gendy2 
Make Gendy3 
Make Gendy4 
Make Gendy5 
Make Getenv 
Make GlitchBPF 
Make GlitchBRF 
Make GlitchHPF 
Make GlitchRHPF 
Make Goertzel 
Make GrainBuf 
Make GrainFM 
Make GrainIn 
Make GrainSin 
Make GravityGrid2 
Make GravityGrid 
Make GVerb 
Make HairCell 
Make Hasher 
Make Henon2DC 
Make Henon2DL 
Make Henon2DN 
Make HenonC 
Make HenonL 
Make HenonN 
Make HenonTrig 
Make HilbertFIR 
Make Hilbert 
Make HPF 
Make HPZ1 
Make HPZ2 
Make ICepstrum 
Make IEnvGen 
Make IFFT 
Make IIRFilter 
Make Impulse 
Make Index 
Make IndexInBetween 
Make IndexL 
Make InFeedback 
Make InGrainBBF 
Make InGrainBF 
Make InGrainB 
Make InGrain 
Make InGrainIBF 
Make InGrainI 
Make In 
Make InRange 
Make InRect 
Make InsideOut 
Make Instruction 
Make Integrator 
Make InTrig 
Make IRand 
Make JoshGrain 
Make JoshMultiOutGrain 
Make K2A 
Make KeyState 
Make KeyTrack 
Make Klang 
Make Klank 
Make KMeansRT 
Make KmeansToBPSet1 
Make Lag2 
Make Lag2UD 
Make Lag3 
Make Lag3UD 
Make LagControl 
Make Lag 
Make LagIn 
Make LagUD 
Make LastValue 
Make Latch 
Make Latoocarfian2DC 
Make Latoocarfian2DL 
Make Latoocarfian2DN 
Make LatoocarfianC 
Make LatoocarfianL 
Make LatoocarfianN 
Make LatoocarfianTrig 
Make LeakDC 
Make LeastChange 
Make LFBrownNoise0 
Make LFBrownNoise1 
Make LFBrownNoise2 
Make LFClipNoise 
Make LFCub 
Make LFDClipNoise 
Make LFDNoise0 
Make LFDNoise1 
Make LFDNoise3 
Make LFGauss 
Make LFNoise0 
Make LFNoise1 
Make LFNoise2 
Make LFPar 
Make LFPulse 
Make LFSaw 
Make LFTri 
Make Limiter 
Make LinCongC 
Make LinCongL 
Make LinCongN 
Make Line 
Make Linen 
Make LinExp 
Make LinPan2 
Make LinRand 
Make LinXFade2 
Make ListDUGen 
Make ListTrig2 
Make ListTrig 
Make LocalOut 
Make Logger 
Make Logistic 
Make LoopBuf 
Make Lorenz2DC 
Make Lorenz2DL 
Make Lorenz2DN 
Make LorenzL 
Make LorenzTrig 
Make Loudness 
Make LPCAnalyzer 
Make LPCError 
Make LPCSynth 
Make LPCVals 
Make LPF18 
Make LPF1 
Make LPF 
Make LPFVS6 
Make LPZ1 
Make LPZ2 
Make LTI 
Make MantissaMask 
Make MarkovSynth 
Make Maxamp 
Make Max 
Make MCLDChaosGen 
Make MdaPiano 
Make MeanTriggered 
Make Meddis 
Make Median 
Make MedianTriggered 
Make MembraneCircle 
Make MembraneHexagon 
Make Metro 
Make MFCC 
Make MidEQ 
Make MonoGrainBF 
Make MonoGrain 
Make MoogFF 
Make MoogLadder 
Make MoogVCF 
Make MostChange 
Make MouseButton 
Make MouseX 
Make MouseY 
Make MultiOutUGen 
Make MZPokey 
Make NeedleRect 
Make Nes2 
Make NestedAllpassC 
Make NestedAllpassL 
Make NestedAllpassN 
Make NL2 
Make NLFiltC 
Make NLFiltL 
Make NLFiltN 
Make NL 
Make Normalizer 
Make NRand 
Make NTube 
Make OffsetOut 
Make OnePole 
Make OneZero 
Make Onsets 
Make Oregonator 
Make Osc 
Make OscN 
Make OSFold4 
Make OSFold8 
Make OSTrunc4 
Make OSTrunc8 
Make OSWrap4 
Make OSWrap8 
Make Out 
Make Pan2 
Make Pan4 
Make PanAz 
Make PanB2 
Make PanB 
Make PanX2D 
Make PanX 
Make PartConv 
Make Pause 
Make PauseSelf 
Make PauseSelfWhenDone 
Make PeakEQ2 
Make PeakEQ4 
Make PeakFollower 
Make Peak 
Make Perlin3 
Make Phasor 
Make Pitch 
Make PitchShift 
Make PlaneTree 
Make PlayBuf 
Make Pluck 
Make Pokey 
Make PosRatio 
Make PrintVal 
Make PSinGrain 
Make PulseCount 
Make PulseDivider 
Make Pulse 
Make PureUGen 
Make PV_Add 
Make PV_BinBufRd 
Make PV_BinDelay 
Make PV_BinFilter 
Make PV_BinPlayBuf 
Make PV_BinScramble 
Make PV_BinShift 
Make PV_BinWipe 
Make PV_BrickWall 
Make PV_BufRd 
Make PV_ChainUGen 
Make PV_CommonMag 
Make PV_CommonMul 
Make PV_Compander 
Make PV_ConformalMap 
Make PV_Conj 
Make PV_Copy 
Make PV_CopyPhase 
Make PV_Cutoff 
Make PV_DiffMags 
Make PV_Diffuser 
Make PV_Div 
Make PV_EvenBin 
Make PV_ExtractRepeat 
Make PV_Freeze 
Make PV_FreqBuffer 
Make PV_HainsworthFoote 
Make PVInfo 
Make PV_Invert 
Make PV_JensenAndersen 
Make PV_LocalMax 
Make PV_MagAbove 
Make PV_MagBelow 
Make PV_MagBuffer 
Make PV_MagClip 
Make PV_MagDiv 
Make PV_MagExp 
Make PV_MagFreeze 
Make PV_MagGate 
Make PV_MagLog 
Make PV_MagMap 
Make PV_MagMinus 
Make PV_MagMulAdd 
Make PV_MagMul 
Make PV_MagNoise 
Make PV_MagScale 
Make PV_MagShift 
Make PV_MagSmear 
Make PV_MagSmooth 
Make PV_MagSquared 
Make PV_MagSubtract 
Make PV_Max 
Make PV_MaxMagN 
Make PV_Min 
Make PV_MinMagN 
Make PV_Morph 
Make PV_Mul 
Make PV_NoiseSynthF 
Make PV_NoiseSynthP 
Make PV_OddBin 
Make PV_PartialSynthF 
Make PV_PartialSynthP 
Make PV_PhaseShift270 
Make PV_PhaseShift90 
Make PV_PhaseShift 
Make PV_PitchShift 
Make PV_PlayBuf 
Make PV_RandComb 
Make PV_RandWipe 
Make PV_RecordBuf 
Make PV_RectComb2 
Make PV_RectComb 
Make PV_SoftWipe 
Make PV_SpectralEnhance 
Make PV_SpectralMap 
Make PVSynth 
Make PV_Whiten 
Make PV_XFade 
Make Qitch 
Make QuadC 
Make QuadL 
Make QuadN 
Make Ramp 
Make Rand 
Make RandID 
Make RandSeed 
Make RDelayMap 
Make RDelaySetB 
Make RDelaySet 
Make RecordBuf 
Make RedDPCMdecode 
Make RedDPCMencode 
Make RedLbyl 
Make RedNoise 
Make RedPhasor2 
Make RedPhasor 
Make RegaliaMitraEQ 
Make ReplaceOut 
Make Resonz 
Make RFreezer 
Make RHPF 
Make Ringz 
Make RLoopSet 
Make RLPF 
Make RMAFoodChainL 
Make RMEQ 
Make RMEQSuite 
Make RMShelf2 
Make RMShelf 
Make RosslerL 
Make RosslerResL 
Make Rotate2 
Make Rotate 
Make RPlayTrace 
Make RShufflerB 
Make RShufflerL 
Make RTraceRd 
Make RTraceRdX 
Make RTraceRdY 
Make RTraceRdZ 
Make RunningMax 
Make RunningMin 
Make RunningSum 
Make SawDPW 
Make Saw 
Make Schmidt 
Make ScopeOut2 
Make ScopeOut 
Make Select 
Make SendTrig 
Make SensoryDissonance 
Make SetBuf 
Make SetResetFF 
Make Shaper 
Make SID6581f 
Make Sieve1 
Make SineShaper 
Make SinGrainBBF 
Make SinGrainBF 
Make SinGrainB 
Make SinGrain 
Make SinGrainIBF 
Make SinGrainI 
Make SinOscFB 
Make SinOsc 
Make SinTone 
Make SkipNeedle 
Make Slew 
Make SLOnset 
Make Slope 
Make Slub 
Make SmoothDecimator 
Make SMS 
Make SN76489 
Make SoftClipAmp4 
Make SoftClipAmp8 
Make SoftClipAmp 
Make SoftClipper4 
Make SoftClipper8 
Make SOMAreaWr 
Make SOMRd 
Make SOMTrain 
Make SortBuf 
Make SOS 
Make SpecCentroid 
Make SpecFlatness 
Make SpecPcile 
Make SpectralEntropy 
Make SplayAz 
Make Splay 
Make Spreader 
Make Spring 
Make SpruceBudworm 
Make Squiz 
Make Standard2DC 
Make Standard2DL 
Make Standard2DN 
Make StandardL 
Make StandardN 
Make StandardTrig 
Make Stepper 
Make StereoConvolution2L 
Make StkBandedWG 
Make StkBeeThree 
Make StkBlowHole 
Make StkBowed 
Make StkClarinet 
Make StkFlute 
Make StkMandolin 
Make StkModalBar 
Make StkMoog 
Make StkPluck 
Make StkSaxofony 
Make StkShakers 
Make StkVoicForm 
Make Streson 
Make Summer 
Make SVF 
Make Sweep 
Make SwitchDelay 
Make SyncSaw 
Make T2A 
Make T2K 
Make Tap 
Make Tartini 
Make TBall 
Make TBetaRand 
Make TBrownRand 
Make TDelay 
Make TDuty 
Make TermanWang 
Make TExpRand 
Make TGaussRand 
Make TGrains2 
Make TGrains3 
Make TGrains 
Make Tilt 
Make Timer 
Make TIRand 
Make ToggleFF 
Make TPV 
Make TRand 
Make Trig1 
Make TrigAvg 
Make TrigControl 
Make Trig 
Make TTendency 
Make Tumble 
Make TWindex 
Make TwoPole 
Make TwoTube 
Make TwoZero 
Make UHJ2B 
Make Unpack1FFT 
Make VarLag 
Make VarSaw 
Make VBAP 
Make VDiskIn 
Make Vibrato 
Make VMScan2D 
Make VOsc3 
Make VOsc 
Make WalshHadamard 
Make WAmp 
Make Warp1 
Make WarpZ 
Make WaveletDaub 
Make WaveLoss 
Make WaveTerrain 
Make WeaklyNonlinear2 
Make WeaklyNonlinear 
Make WidthFirstUGen 
Make Wrap 
Make WrapIndex 
Make WrapSummer 
Make XFade2 
Make XLine 
Make XOut 
Make ZeroCrossing