hello henning (& list),

>    *** Exception: mk_osc: rate restricted: (KR,[AR],"Pulse")

the pulse ugen now has a KR implementation, i've pushed a patch.

> but I thought this could also be solved on the type level.

it could be.  there is a project at:

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

that builds a database of ugen descriptors from the sclang class files.

the revised pulse binding is taken from there...

you could write a generator for type-level rate ugen bindings in
relation to hsc3-db, however it's not completely accurate so far.

> Even better would be to make the rate a type parameter of UGen:

the 'allowable' rates for ugen inputs are not recorded anywhere outside
of the c implementation files at present, as far as i know.  and 'odd'
arrangements ordinarily 'work', ie.

import Sound.SC3 {- hsc3 -}
import Sound.SC3.UGen.Dot {- hsc3-dot -}

main = do
  let f0 = sinOsc AR 2 0 * 200 + 300
      f1 = sinOsc KR f0 0 * 300 + 400
      o = sinOsc AR f1 0 * 0.1
      g = out 0 o
  audition g
  draw g

best,
rohan

_______________________________________________
haskell-art mailing list
[email protected]
http://lists.lurk.org/mailman/listinfo/haskell-art

Reply via email to