import Control.Concurrent {- base -} import qualified Music.LilyPond.Light as M {- hly -} import Sound.SC3 {- hsc3 -} import qualified Sound.SC3.Auditor as P {- hsc3-auditor -} import qualified Sound.SC3.Auditor.PF as PF {- hsc3-auditor -} import qualified PP_AU_M as PM import qualified As_Saratan as A import qualified As_Saratan_Tape as T as_pp :: Integer -> P.PP as_pp n = let (lh,rh) = unzip A.pf (lh',rh') = (M.mm_elements lh,M.mm_elements rh) in PM.mk_pp n rh' [lh',rh'] as_au :: Bool -> IO (ThreadId,ThreadId) as_au ld = do let d = "/home/rohan/disk/proudhon/data/audio/instr/bosendorfer/008/" withSC3 (do if ld then PF.au_load_bosendorfer_set d else return () P.au_load_instr 2 reset) p_t <- forkIO (withSC3 (P.pp_audition (as_pp 0))) e_t <- forkIO (withSC3 T.as_saratan_tape_au) return (p_t,e_t) {- (p,e) <- as_au True (p,e) <- as_au False mapM_ killThread [p,e] -}