-- | 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 -- -- 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. module Sound.SC3.UGen.Record where import Sound.SC3.UGen.UGen class Make a where ugen :: a -> UGen