hsc3-db-0.9: sclang/UGenDB.sc
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;
}
}