hsc3-0.17: Haskell SuperCollider

Safe HaskellNone




Request and display status information from the synthesis server.

/status messages receive /status.reply messages.

/g_queryTree messages recieve /g_queryTree.reply messages.



extractStatusField :: Floating n => Int -> [Datum] -> n Source #

Get nth field of status as Floating.

statusFields :: [String] Source #

Names of status fields.

statusFormat :: [Datum] -> [String] Source #

Status pretty printer.

Query Group

type Query_Ctl = (Either String Int, Either Double Int) Source #

Name or index and value or bus mapping.

data Query_Node Source #

Nodes are either groups of synths.

Eq Query_Node Source # 
Instance details

Defined in Sound.SC3.Server.Status

Show Query_Node Source # 
Instance details

Defined in Sound.SC3.Server.Status

queryTree_ctl :: (Datum, Datum) -> Query_Ctl Source #

Control (parameter) data may be given as names or indices and as values or bus mappings.

queryTree_ctl (string "freq",float 440) == (Left "freq",Left 440.0)
queryTree_ctl (int32 1,string "c0") == (Right 1,Right 0)

queryTree_synth :: Bool -> Synth_Id -> String -> [Datum] -> (Query_Node, [Datum]) Source #

If rc is True then Query_Ctl data is expected (ie. flag was set at /g_queryTree). k is the synth-id, and nm the name.

let d = [int32 1,string "freq",float 440]
in queryTree_synth True 1000 "saw" d

queryTree_group :: Bool -> Group_Id -> Int -> [Datum] -> (Query_Node, [Datum]) Source #

Generate Query_Node for indicated Group_Id.

queryTree :: [Datum] -> Query_Node Source #

Parse result of ' g_queryTree '.