-- | Interaction with @jack-dl@, @scsynth@ and @text-dl@.
module Sound.DF.Uniform.GADT.Audition where

import Sound.OSC {- hosc -}

import Sound.DF.Uniform.GADT.DF
import qualified Sound.DF.Uniform.LL.Audition as L
import qualified Sound.DF.Uniform.LL.CGen as L
import qualified Sound.DF.Uniform.UDF as U

-- | Transform 'DF' to 'L.Instructions'.
df_instructions :: DF () -> L.Instructions
df_instructions = U.udf_instructions . df_erase

-- | Audition graph at @jack-dl@ after sending initialisation messages.
audition_rju :: [Message] -> DF () -> IO ()
audition_rju is = L.audition_rju is . df_instructions

-- | Audition graph at @SC3@ after sending initialisation messages.
audition_sc3 :: [Message] -> DF () -> IO ()
audition_sc3 is = L.audition_sc3 is . df_instructions

-- | Audition graph at @text-dl@.
audition_text :: Int -> DF () -> IO ()
audition_text nf = L.audition_text nf . df_instructions