packages feed

hsc3-db 0.8 → 0.9

raw patch · 9 files changed

+158/−33 lines, 9 filesdep ~hsc3setup-changedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hsc3

API changes (from Hackage documentation)

Files

README view
@@ -3,5 +3,5 @@ hsc3-db provides Sound.SC3.UGen.DB.Data, a Haskell module that contains a database of SC3 UGens. -(c) rohan drape, 2006-2010+(c) rohan drape, 2006-2011     gpl, http://gnu.org/copyleft/
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
− Setup.lhs
@@ -1,3 +0,0 @@-#!/usr/bin/env runhaskell-> import Distribution.Simple-> main = defaultMain
Sound/SC3/UGen/DB/Data.hs view
@@ -1,4 +1,4 @@--- AUTOGENERATED: 2009-06-20-13h07+-- AUTOGENERATED: 2011-03-09-10h59 module Sound.SC3.UGen.DB.Data where import Sound.SC3.UGen.Rate data I = I { input_name :: String, input_default :: Double } deriving (Eq, Show)@@ -37,7 +37,7 @@          , U "BeatTrack" [ KR ] AR [ I "chain" (0), I "lock" (0) ] 4          , U "BeatTrack2" [ KR ] AR [ I "busindex" (0), I "numfeatures" (0), I "windowsize" (2), I "phaseaccuracy" (0.02), I "lock" (0), I "weightingscheme" (0) ] 6          , U "BiPanB2" [ AR, KR ] AR [ I "inA" (0), I "inB" (0), I "azimuth" (0), I "gain" (1) ] 3-         , U "Blip" [ AR ] AR [ I "freq" (440), I "numharm" (200) ] 1+         , U "Blip" [ AR, KR ] AR [ I "freq" (440), I "numharm" (200) ] 1          , U "BrownNoise" [ AR, KR ] AR [  ] 1          , U "BufAllpassC" [ AR ] AR [ I "buf" (0), I "in" (0), I "delaytime" (0.2), I "decaytime" (1) ] 1          , U "BufAllpassL" [ AR ] AR [ I "buf" (0), I "in" (0), I "delaytime" (0.2), I "decaytime" (1) ] 1@@ -58,10 +58,11 @@          , U "BufSamples" [ KR, IR ] AR [ I "bufnum" (0) ] 1          , U "BufWr" [ AR, KR ] AR [ I "inputArray" (0), I "bufnum" (0), I "phase" (0), I "loop" (1) ] 1          , U "COsc" [ AR, KR ] AR [ I "bufnum" (0), I "freq" (440), I "beats" (0.5) ] 1+         , U "Changed" [ AR, KR ] AR [ I "input" (0), I "threshold" (0) ] 1          , U "ChaosGen" [  ] AR [ I "maxSize" (0) ] 1          , U "CheckBadValues" [ AR, KR ] AR [ I "in" (0), I "id" (0), I "post" (2) ] 1          , U "ClearBuf" [  ] IR [ I "buf" (0) ] 1-         , U "Clip" [ AR, KR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1+         , U "Clip" [ AR, KR, IR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1          , U "ClipNoise" [ AR, KR ] AR [  ] 1          , U "CoinGate" [ AR, KR ] AR [ I "prob" (0), I "in" (0) ] 1          , U "CombC" [ AR, KR ] AR [ I "in" (0), I "maxdelaytime" (0.2), I "delaytime" (0.2), I "decaytime" (1) ] 1@@ -73,9 +74,9 @@          , U "ControlDur" [ IR ] AR [  ] 1          , U "ControlRate" [ IR ] AR [  ] 1          , U "Convolution" [ AR ] AR [ I "in" (0), I "kernel" (0), I "framesize" (512) ] 1-         , U "Convolution2" [ AR ] AR [ I "in" (0), I "kernel" (0), I "trigger" (0), I "framesize" (0) ] 1-         , U "Convolution2L" [ AR ] AR [ I "in" (0), I "kernel" (0), I "trigger" (0), I "framesize" (0), I "crossfade" (1) ] 1-         , U "Convolution3" [ AR, KR ] AR [ I "in" (0), I "kernel" (0), I "trigger" (0), I "framesize" (0) ] 1+         , U "Convolution2" [ AR ] AR [ I "in" (0), I "kernel" (0), I "trigger" (0), I "framesize" (2048) ] 1+         , U "Convolution2L" [ AR ] AR [ I "in" (0), I "kernel" (0), I "trigger" (0), I "framesize" (2048), I "crossfade" (1) ] 1+         , U "Convolution3" [ AR, KR ] AR [ I "in" (0), I "kernel" (0), I "trigger" (0), I "framesize" (2048) ] 1          , U "Crackle" [ AR, KR ] AR [ I "chaosParam" (1.5) ] 1          , U "CuspL" [ AR ] AR [ I "freq" (22050), I "a" (1), I "b" (1.9), I "xi" (0) ] 1          , U "CuspN" [ AR ] AR [ I "freq" (22050), I "a" (1), I "b" (1.9), I "xi" (0) ] 1@@ -88,6 +89,8 @@          , U "Decay2" [ AR, KR ] AR [ I "in" (0), I "attackTime" (0.01), I "decayTime" (1) ] 1          , U "DecodeB2" [ AR, KR ] AR [ I "numChans" (0), I "w" (0), I "x" (0), I "y" (0), I "orientation" (0.5) ] 1          , U "DegreeToKey" [ AR, KR ] AR [ I "bufnum" (0), I "in" (0), I "octave" (12) ] 1+         , U "DelTapRd" [ AR, KR ] AR [ I "buffer" (0), I "phase" (0), I "delTime" (0), I "interp" (1) ] 1+         , U "DelTapWr" [ AR, KR ] AR [ I "buffer" (0), I "in" (0) ] 1          , U "Delay1" [ AR, KR ] AR [ I "in" (0) ] 1          , U "Delay2" [ AR, KR ] AR [ I "in" (0) ] 1          , U "DelayC" [ AR, KR ] AR [ I "in" (0), I "maxdelaytime" (0.2), I "delaytime" (0.2) ] 1@@ -106,6 +109,7 @@          , U "Done" [ KR ] AR [ I "src" (0) ] 1          , U "Dpoll" [  ] DR [ I "in" (0), I "label" (0), I "run" (1), I "trigid" (-1) ] 1          , U "Drand" [  ] DR [ I "list" (0), I "repeats" (1) ] 1+         , U "Dreset" [  ] DR [ I "in" (0), I "reset" (0) ] 1          , U "Dseq" [  ] DR [ I "list" (0), I "repeats" (1) ] 1          , U "Dser" [  ] DR [ I "list" (0), I "repeats" (1) ] 1          , U "Dseries" [  ] DR [ I "start" (1), I "step" (1), I "length" (inf) ] 1@@ -113,13 +117,15 @@          , U "Dstutter" [  ] DR [ I "n" (0), I "in" (0) ] 1          , U "Dswitch" [  ] DR [ I "list" (0), I "index" (0) ] 1          , U "Dswitch1" [  ] DR [ I "list" (0), I "index" (0) ] 1+         , U "Dunique" [  ] AR [ I "source" (0) ] 1          , U "Dust" [ AR, KR ] AR [ I "density" (0) ] 1          , U "Dust2" [ AR, KR ] AR [ I "density" (0) ] 1          , U "Duty" [ AR, KR ] AR [ I "dur" (1), I "reset" (0), I "level" (1), I "doneAction" (0) ] 1          , U "Dwhite" [  ] DR [ I "lo" (0), I "hi" (1), I "length" (inf) ] 1+         , U "Dwrand" [  ] DR [ I "list" (0), I "weights" (0), I "repeats" (1) ] 1          , U "Dxrand" [  ] DR [ I "list" (0), I "repeats" (1) ] 1-         , U "DynKlang" [ AR ] AR [ I "specificationsArrayRef" (0), I "freqscale" (1), I "freqoffset" (0) ] 1-         , U "DynKlank" [ AR ] AR [ I "specificationsArrayRef" (0), I "input" (0), I "freqscale" (1), I "freqoffset" (0), I "decayscale" (1) ] 1+         , U "DynKlang" [ AR, KR ] AR [ I "specificationsArrayRef" (0), I "freqscale" (1), I "freqoffset" (0) ] 1+         , U "DynKlank" [ AR, KR ] AR [ I "specificationsArrayRef" (0), I "input" (0), I "freqscale" (1), I "freqoffset" (0), I "decayscale" (1) ] 1          , U "EnvGen" [ AR, KR ] AR [ I "envelope" (0), I "gate" (1), I "levelScale" (1), I "levelBias" (0), I "timeScale" (1), I "doneAction" (0) ] 1          , U "ExpRand" [  ] IR [ I "lo" (0.01), I "hi" (1) ] 1          , U "FBSineC" [ AR ] AR [ I "freq" (22050), I "im" (1), I "fb" (0.1), I "a" (1.1), I "c" (0.5), I "xi" (0.1), I "yi" (0.1) ] 1@@ -130,7 +136,7 @@          , U "FOS" [ AR, KR ] AR [ I "in" (0), I "a0" (0), I "a1" (0), I "b1" (0) ] 1          , U "FSinOsc" [ AR, KR ] AR [ I "freq" (440), I "iphase" (0) ] 1          , U "Filter" [  ] AR [ I "maxSize" (0) ] 1-         , U "Fold" [ AR, KR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1+         , U "Fold" [ AR, KR, IR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1          , U "Formant" [ AR ] AR [ I "fundfreq" (440), I "formfreq" (1760), I "bwfreq" (880) ] 1          , U "Formlet" [ AR, KR ] AR [ I "in" (0), I "freq" (440), I "attacktime" (1), I "decaytime" (1) ] 1          , U "Free" [ KR ] AR [ I "trig" (0), I "id" (0) ] 1@@ -146,10 +152,10 @@          , U "Gendy1" [ AR, KR ] AR [ I "ampdist" (1), I "durdist" (1), I "adparam" (1), I "ddparam" (1), I "minfreq" (440), I "maxfreq" (660), I "ampscale" (0.5), I "durscale" (0.5), I "initCPs" (12), I "knum" (0) ] 1          , U "Gendy2" [ AR, KR ] AR [ I "ampdist" (1), I "durdist" (1), I "adparam" (1), I "ddparam" (1), I "minfreq" (440), I "maxfreq" (660), I "ampscale" (0.5), I "durscale" (0.5), I "initCPs" (12), I "knum" (0), I "a" (1.17), I "c" (0.31) ] 1          , U "Gendy3" [ AR, KR ] AR [ I "ampdist" (1), I "durdist" (1), I "adparam" (1), I "ddparam" (1), I "freq" (440), I "ampscale" (0.5), I "durscale" (0.5), I "initCPs" (12), I "knum" (0) ] 1-         , U "GrainBuf" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "sndbuf" (0), I "rate" (1), I "pos" (0), I "interp" (2), I "pan" (0), I "envbufnum" (-1) ] 1-         , U "GrainFM" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "carfreq" (440), I "modfreq" (200), I "index" (1), I "pan" (0), I "envbufnum" (-1) ] 1-         , U "GrainIn" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "in" (0), I "pan" (0), I "envbufnum" (-1) ] 1-         , U "GrainSin" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "freq" (440), I "pan" (0), I "envbufnum" (-1) ] 1+         , U "GrainBuf" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "sndbuf" (0), I "rate" (1), I "pos" (0), I "interp" (2), I "pan" (0), I "envbufnum" (-1), I "maxGrains" (512) ] 1+         , U "GrainFM" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "carfreq" (440), I "modfreq" (200), I "index" (1), I "pan" (0), I "envbufnum" (-1), I "maxGrains" (512) ] 1+         , U "GrainIn" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "in" (0), I "pan" (0), I "envbufnum" (-1), I "maxGrains" (512) ] 1+         , U "GrainSin" [ AR ] AR [ I "numChannels" (1), I "trigger" (0), I "dur" (1), I "freq" (440), I "pan" (0), I "envbufnum" (-1), I "maxGrains" (512) ] 1          , U "GrayNoise" [ AR, KR ] AR [  ] 1          , U "HPF" [ AR, KR ] AR [ I "in" (0), I "freq" (440) ] 1          , U "HPZ1" [ AR, KR ] AR [ I "in" (0) ] 1@@ -166,11 +172,12 @@          , U "Impulse" [ AR, KR ] AR [ I "freq" (440), I "phase" (0) ] 1          , U "In" [ AR, KR ] AR [ I "bus" (0), I "numChannels" (1) ] 1          , U "InFeedback" [ AR ] AR [ I "bus" (0), I "numChannels" (1) ] 1-         , U "InRange" [ AR, KR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1+         , U "InRange" [ AR, KR, IR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1          , U "InRect" [ AR, KR ] AR [ I "x" (0), I "y" (0), I "rect" (0) ] 1          , U "InTrig" [ KR ] AR [ I "bus" (0), I "numChannels" (1) ] 1          , U "Index" [ AR, KR ] AR [ I "bufnum" (0), I "in" (0) ] 1          , U "IndexInBetween" [ AR, KR ] AR [ I "bufnum" (0), I "in" (0) ] 1+         , U "IndexL" [ AR, KR ] AR [ I "bufnum" (0), I "in" (0) ] 1          , U "InfoUGenBase" [ IR ] AR [  ] 1          , U "Integrator" [ AR, KR ] AR [ I "in" (0), I "coef" (1) ] 1          , U "K2A" [ AR ] AR [ I "in" (0) ] 1@@ -222,7 +229,7 @@          , U "Line" [ AR, KR ] AR [ I "start" (0), I "end" (1), I "dur" (1), I "doneAction" (0) ] 1          , U "Linen" [ KR ] AR [ I "gate" (1), I "attackTime" (0.01), I "susLevel" (1), I "releaseTime" (1), I "doneAction" (0) ] 1          , U "ListDUGen" [  ] DR [ I "list" (0), I "repeats" (1) ] 1-         , U "LocalIn" [ AR, KR ] AR [ I "numChannels" (1) ] 1+         , U "LocalIn" [ AR, KR ] AR [ I "numChannels" (1), I "default" (0) ] 1          , U "LocalOut" [ AR, KR ] AR [ I "channelsArray" (0) ] 1          , U "Logistic" [ AR, KR ] AR [ I "chaosParam" (3), I "freq" (1000), I "init" (0.5) ] 1          , U "LorenzL" [ AR ] AR [ I "freq" (22050), I "s" (10), I "r" (28), I "b" (2.667), I "h" (0.05), I "xi" (0.1), I "yi" (0), I "zi" (0) ] 1@@ -299,15 +306,15 @@          , U "Pause" [ KR ] AR [ I "gate" (0), I "id" (0) ] 1          , U "PauseSelf" [ KR ] AR [ I "in" (0) ] 1          , U "PauseSelfWhenDone" [ KR ] AR [ I "src" (0) ] 1-         , U "Peak" [ AR, KR ] AR [ I "trig" (0), I "reset" (0) ] 1+         , U "Peak" [ AR, KR ] AR [ I "in" (0), I "trig" (0) ] 1          , U "PeakFollower" [ AR, KR ] AR [ I "in" (0), I "decay" (0.999) ] 1          , U "Phasor" [ AR, KR ] AR [ I "trig" (0), I "rate" (1), I "start" (0), I "end" (1), I "resetPos" (0) ] 1          , U "PinkNoise" [ AR, KR ] AR [  ] 1-         , U "Pitch" [ KR ] AR [ I "in" (0), I "initFreq" (440), I "minFreq" (60), I "maxFreq" (4000), I "execFreq" (100), I "maxBinsPerOctave" (16), I "median" (1), I "ampThreshold" (0.01), I "peakThreshold" (0.5), I "downSample" (1) ] 2+         , U "Pitch" [ KR ] AR [ I "in" (0), I "initFreq" (440), I "minFreq" (60), I "maxFreq" (4000), I "execFreq" (100), I "maxBinsPerOctave" (16), I "median" (1), I "ampThreshold" (0.01), I "peakThreshold" (0.5), I "downSample" (1), I "clar" (0) ] 2          , U "PitchShift" [ AR ] AR [ I "in" (0), I "windowSize" (0.2), I "pitchRatio" (1), I "pitchDispersion" (0), I "timeDispersion" (0) ] 1          , U "PlayBuf" [ AR, KR ] AR [ I "numChannels" (0), I "bufnum" (0), I "rate" (1), I "trigger" (1), I "startPos" (0), I "loop" (0), I "doneAction" (0) ] 1          , U "Pluck" [ AR ] AR [ I "in" (0), I "trig" (1), I "maxdelaytime" (0.2), I "delaytime" (0.2), I "decaytime" (1), I "coef" (0.5) ] 1-         , U "Pulse" [ AR ] AR [ I "freq" (440), I "width" (0.5) ] 1+         , U "Pulse" [ AR, KR ] AR [ I "freq" (440), I "width" (0.5) ] 1          , U "PulseCount" [ AR, KR ] AR [ I "trig" (0), I "reset" (0) ] 1          , U "PulseDivider" [ AR, KR ] AR [ I "trig" (0), I "div" (2), I "start" (0) ] 1          , U "QuadC" [ AR ] AR [ I "freq" (22050), I "a" (1), I "b" (-1), I "c" (-0.75), I "xi" (0) ] 1@@ -319,20 +326,20 @@          , U "Ramp" [ AR, KR ] AR [ I "in" (0), I "lagTime" (0.1) ] 1          , U "Rand" [  ] IR [ I "lo" (0), I "hi" (1) ] 1          , U "RandID" [ KR, IR ] AR [ I "id" (0) ] 1-         , U "RandSeed" [ KR, IR ] AR [ I "trig" (0), I "seed" (56789) ] 1+         , U "RandSeed" [ AR, KR, IR ] AR [ I "trig" (0), I "seed" (56789) ] 1          , U "RecordBuf" [ AR, KR ] AR [ I "inputArray" (0), I "bufnum" (0), I "offset" (0), I "recLevel" (1), I "preLevel" (0), I "run" (1), I "loop" (1), I "trigger" (1), I "doneAction" (0) ] 1          , U "ReplaceOut" [ AR, KR ] AR [ I "bus" (0), I "channelsArray" (0) ] 1          , U "Resonz" [ AR, KR ] AR [ I "in" (0), I "freq" (440), I "bwr" (1) ] 1          , U "Ringz" [ AR, KR ] AR [ I "in" (0), I "freq" (440), I "decaytime" (1) ] 1          , U "Rotate2" [ AR, KR ] AR [ I "x" (0), I "y" (0), I "pos" (0) ] 2-         , U "RunningMax" [ AR, KR ] AR [ I "trig" (0), I "reset" (0) ] 1-         , U "RunningMin" [ AR, KR ] AR [ I "trig" (0), I "reset" (0) ] 1+         , U "RunningMax" [ AR, KR ] AR [ I "in" (0), I "trig" (0) ] 1+         , U "RunningMin" [ AR, KR ] AR [ I "in" (0), I "trig" (0) ] 1          , U "RunningSum" [ AR, KR ] AR [ I "in" (0), I "numsamp" (40) ] 1          , U "SOS" [ AR, KR ] AR [ I "in" (0), I "a0" (0), I "a1" (0), I "a2" (0), I "b1" (0), I "b2" (0) ] 1          , U "SampleDur" [ IR ] AR [  ] 1          , U "SampleRate" [ IR ] AR [  ] 1-         , U "Saw" [ AR ] AR [ I "freq" (440) ] 1-         , U "Schmidt" [ AR, KR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1+         , U "Saw" [ AR, KR ] AR [ I "freq" (440) ] 1+         , U "Schmidt" [ AR, KR, IR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1          , U "ScopeOut" [ AR, KR ] AR [ I "inputArray" (0), I "bufnum" (0) ] 1          , U "Select" [ AR, KR ] AR [ I "which" (0), I "array" (0) ] 1          , U "SendTrig" [ AR, KR ] AR [ I "in" (0), I "id" (0), I "value" (0) ] 1@@ -353,7 +360,7 @@          , U "StandardL" [ AR ] AR [ I "freq" (22050), I "k" (1), I "xi" (0.5), I "yi" (0) ] 1          , U "StandardN" [ AR ] AR [ I "freq" (22050), I "k" (1), I "xi" (0.5), I "yi" (0) ] 1          , U "Stepper" [ AR, KR ] AR [ I "trig" (0), I "reset" (0), I "min" (0), I "max" (7), I "step" (1), I "resetval" (0) ] 1-         , U "StereoConvolution2L" [ AR ] AR [ I "in" (0), I "kernelL" (0), I "kernelR" (0), I "trigger" (0), I "framesize" (0), I "crossfade" (1) ] 2+         , U "StereoConvolution2L" [ AR ] AR [ I "in" (0), I "kernelL" (0), I "kernelR" (0), I "trigger" (0), I "framesize" (2048), I "crossfade" (1) ] 2          , U "SubsampleOffset" [ IR ] AR [  ] 1          , U "Sweep" [ AR, KR ] AR [ I "trig" (0), I "rate" (1) ] 1          , U "SyncSaw" [ AR, KR ] AR [ I "syncFreq" (440), I "sawFreq" (440) ] 1@@ -384,7 +391,7 @@          , U "Vibrato" [ AR, KR ] AR [ I "freq" (440), I "rate" (6), I "depth" (0.02), I "delay" (0), I "onset" (0), I "rateVariation" (0.04), I "depthVariation" (0.1), I "iphase" (0) ] 1          , U "Warp1" [ AR ] AR [ I "numChannels" (1), I "bufnum" (0), I "pointer" (0), I "freqScale" (1), I "windowSize" (0.2), I "envbufnum" (-1), I "overlaps" (8), I "windowRandRatio" (0), I "interp" (1) ] 1          , U "WhiteNoise" [ AR, KR ] AR [  ] 1-         , U "Wrap" [ AR, KR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1+         , U "Wrap" [ AR, KR, IR ] AR [ I "in" (0), I "lo" (0), I "hi" (1) ] 1          , U "WrapIndex" [ AR, KR ] AR [ I "bufnum" (0), I "in" (0) ] 1          , U "XFade" [  ] AR [ I "maxSize" (0) ] 1          , U "XFade2" [ AR, KR ] AR [ I "inA" (0), I "inB" (0), I "pan" (0), I "level" (1) ] 1
hsc3-db.cabal view
@@ -1,22 +1,30 @@ Name:              hsc3-db-Version:           0.8+Version:           0.9 Synopsis:          Haskell SuperCollider Unit Generator Database Description:       Database of SuperCollider Unit Generators License:           GPL Category:          Sound-Copyright:         (c) Rohan Drape, 2006-2010+Copyright:         (c) Rohan Drape, 2006-2011 Author:            Rohan Drape Maintainer:        rd@slavepianos.org Stability:         Experimental Homepage:          http://slavepianos.org/rd/?t=hsc3-db-Tested-With:       GHC == 6.10.3+Tested-With:       GHC == 6.12.1 Build-Type:        Simple Cabal-Version:     >= 1.6  Data-files:        README+                   mk/config+                   mk/mk.sc+                   sclang/UGenDB.sc+                   sclang/Utilities.sc  Library   Build-Depends:   base == 4.*,-                   hsc3 == 0.8+                   hsc3 == 0.9   GHC-Options:     -Wall -fwarn-tabs   Exposed-modules: Sound.SC3.UGen.DB.Data++Source-Repository  head+  Type:            darcs+  Location:        http://slavepianos.org/rd/sw/hsc3-db/
+ mk/config view
@@ -0,0 +1,2 @@++/home/rohan/share/SuperCollider/SCClassLibrary++/home/rohan/sw/hsc3-db/sclang
+ mk/mk.sc view
@@ -0,0 +1,2 @@+UGenDB.haskell;+thisProcess.shutdown;
+ sclang/UGenDB.sc view
@@ -0,0 +1,28 @@+UGenDB {+	*haskell {+		var uu_a = UGen.allSubClassesOf.sort({|a, b| a.name < b.name;});+		var ignoring = ['BasicOpUGen', 'BinaryOpUGen', 'MulAdd', 'OutputProxy', 'PackFFT', 'Poll', 'UnaryOpUGen', 'UnpackFFT', 'LocalBuf', 'SendReply'];+		var uu = uu_a.reject({|u| ignoring.includes(u.name.asSymbol); });+		Date.getDate.format("-- AUTOGENERATED: %Y-%m-%d-%Hh%M").postln;+		"module Sound.SC3.UGen.DB.Data where".postln;+		"import Sound.SC3.UGen.Rate".postln;+		"data I = I { input_name :: String, input_default :: Double } deriving (Eq, Show)".postln;+		"data U = U { ugen_name :: String, ugen_operating_rates :: [Rate], ugen_default_rate :: Rate, ugen_inputs :: [I], ugen_outputs :: Integer } deriving (Eq, Show)".postln;+		"inf :: Double".postln;+		"inf = 10 ** 8".postln;+		"rcomplex :: Double".postln;+		"rcomplex = 3".postln;+		"ugenDB :: [U]".postln;+		"ugenDB = [ ".post;+		uu[0].ugenDBHaskell.postln;+		uu.drop(1).collect({|e| +			/*e.name.asSymbol.postln;*/+			"         , ".post;+			e.ugenDBHaskell.postln;+		});+		"         ]".postln;+		"-- Local Variables:".postln;+		"-- truncate-lines:t".postln;+		"-- End:".postln;+	}+}
+ sclang/Utilities.sc view
@@ -0,0 +1,78 @@++ String {+	toUpper {+		^this.collect({|c| c.toUpper});+	}+}+++ Symbol {+	toUpper {+		^this.asString.toUpper.asSymbol;+	}+}+++ Object {+	findMethodR { |n|+		/* ^this.class.findMethod(n); */+		var m = this.findMethod(n);+		if (m.notNil, {+			^m;+		}, {+			var p = this.superclass;+			if (p.notNil, {+				^p.findMethodR(n);+			}, {+				^nil+			});+		});+	}+	supportsRate { |r|+		^(this.class.findMethodR(r) != nil);+	}+	supportedRates {+		^['ar', 'kr', 'dr', 'ir', 'new'].select({|r| this.supportsRate(r)});+	}+	inputNames { |r|+		var n = this.class.findMethodR(r).argNames;+		^n.reject({|e| ['this','mul','add'].includes(e)});+	}+	inputDefault { |r, nm|+		var m = this.class.findMethodR(r);+		var n = m.argNames;+		var i = n.detectIndex({|e| e == nm});+		^m.prototypeFrame[i];+	}+	inputDefaults { |r|+		var n = this.inputNames(r);+		^n.collect({|e| e.inputDefault});+	}+	numberOfOutputs { |r|+		var n = this.new.init.size;+		if(n==0) {^1} {^n};+	}+	ugenDB {+		var nm = this.name.asString;+		var rr = this.supportedRates;+		var dr = (audio: 'AR', control: 'KR', scalar: 'IR', demand: 'DR').at(this.new.rate);+		var r  = rr[0];+		var n  = this.inputNames(r);+		var o  = this.numberOfOutputs;+		^[nm, rr, dr, n.collect({|e| [e.asString, this.inputDefault(r,e)]}), o]+	}+	ugenDBHaskell {+		var db = this.ugenDB;+		var rr = db[1].reject({|e| e == 'new'}).collect({|e| e.toUpper});+		var ii = db[3].collect({|e| +			var nm = e[0];+			var df = if (e[1] == nil) {0.0} {e[1]};+			"I " ++ nm.asCompileString ++ " (" ++ df ++ ")";+		});+		^"U " ++ db[0].asCompileString ++ " " ++ rr.asString ++ " " ++ db[2].asString ++ " " ++ ii.asString ++ " " ++ db[4].asString;+	}+}+++ Object {+	allSubClassesOf {+		var u = this.subclasses;+		if(u.size == 0) {^[]} {^u ++ u.collect({|e| e.allSubClassesOf}).flatten}+	}+}