Safe Haskell | None |
---|
- Instrument definition commands
- Node commands
- Synthesis node commands
- Group node commands
- Plugin commands
- Unit Generator commands
- Buffer commands
- Control bus commands
- Server operation commands
- Variants to simplify common cases
- Modify existing message to include completion message
- Buffer segmentation and indices
Constructors for the command set implemented by the SuperCollider synthesis server.
- d_recv :: Synthdef -> Message
- d_load :: String -> Message
- d_loadDir :: String -> Message
- d_free :: [String] -> Message
- n_after :: [(Int, Int)] -> Message
- n_before :: [(Int, Int)] -> Message
- n_fill :: Int -> [(String, Int, Double)] -> Message
- n_free :: [Int] -> Message
- n_map :: Int -> [(String, Int)] -> Message
- n_mapn :: Int -> [(String, Int, Int)] -> Message
- n_mapa :: Int -> [(String, Int)] -> Message
- n_mapan :: Int -> [(String, Int, Int)] -> Message
- n_query :: [Int] -> Message
- n_run :: [(Int, Bool)] -> Message
- n_set :: Int -> [(String, Double)] -> Message
- n_setn :: Int -> [(String, [Double])] -> Message
- n_trace :: [Int] -> Message
- n_order :: AddAction -> Int -> [Int] -> Message
- s_get :: Int -> [String] -> Message
- s_getn :: Int -> [(String, Int)] -> Message
- data AddAction
- = AddToHead
- | AddToTail
- | AddBefore
- | AddAfter
- | AddReplace
- s_new :: String -> Int -> AddAction -> Int -> [(String, Double)] -> Message
- s_noid :: [Int] -> Message
- g_deepFree :: [Int] -> Message
- g_freeAll :: [Int] -> Message
- g_head :: [(Int, Int)] -> Message
- g_new :: [(Int, AddAction, Int)] -> Message
- g_tail :: [(Int, Int)] -> Message
- g_dumpTree :: [(Int, Bool)] -> Message
- g_queryTree :: [(Int, Bool)] -> Message
- p_new :: [(Int, AddAction, Int)] -> Message
- cmd :: String -> [Datum] -> Message
- u_cmd :: Int -> Int -> String -> [Datum] -> Message
- b_alloc :: Int -> Int -> Int -> Message
- b_allocRead :: Int -> String -> Int -> Int -> Message
- b_allocReadChannel :: Int -> String -> Int -> Int -> [Int] -> Message
- b_close :: Int -> Message
- b_fill :: Int -> [(Int, Int, Double)] -> Message
- b_free :: Int -> Message
- b_gen :: Int -> String -> [Datum] -> Message
- b_gen_sine1 :: Int -> [B_Gen] -> [Double] -> Message
- b_gen_sine2 :: Int -> [B_Gen] -> [(Double, Double)] -> Message
- b_gen_sine3 :: Int -> [B_Gen] -> [(Double, Double, Double)] -> Message
- b_gen_cheby :: Int -> [B_Gen] -> [Double] -> Message
- b_gen_copy :: Int -> Int -> Int -> Int -> Maybe Int -> Message
- b_get :: Int -> [Int] -> Message
- b_getn :: Int -> [(Int, Int)] -> Message
- b_query :: [Int] -> Message
- b_read :: Int -> String -> Int -> Int -> Int -> Bool -> Message
- b_readChannel :: Int -> String -> Int -> Int -> Int -> Bool -> [Int] -> Message
- b_set :: Int -> [(Int, Double)] -> Message
- b_setn :: Int -> [(Int, [Double])] -> Message
- b_write :: Int -> String -> SoundFileFormat -> SampleFormat -> Int -> Int -> Bool -> Message
- b_zero :: Int -> Message
- c_fill :: [(Int, Int, Double)] -> Message
- c_get :: [Int] -> Message
- c_getn :: [(Int, Int)] -> Message
- c_set :: [(Int, Double)] -> Message
- c_setn :: [(Int, [Double])] -> Message
- clearSched :: Message
- data PrintLevel
- = NoPrinter
- | TextPrinter
- | HexPrinter
- | AllPrinter
- dumpOSC :: PrintLevel -> Message
- notify :: Bool -> Message
- quit :: Message
- status :: Message
- sync :: Int -> Message
- data ErrorScope
- data ErrorMode
- errorMode :: ErrorScope -> ErrorMode -> Message
- b_alloc_setn1 :: Int -> Int -> [Double] -> Message
- b_getn1 :: Int -> (Int, Int) -> Message
- b_set1 :: Int -> Int -> Double -> Message
- b_setn1 :: Int -> Int -> [Double] -> Message
- b_query1 :: Int -> Message
- c_set1 :: Int -> Double -> Message
- n_set1 :: Int -> String -> Double -> Message
- async_cmds :: [String]
- isAsync :: Message -> Bool
- withCM :: OSC o => Message -> o -> Message
- b_segment :: Int -> Int -> [Int]
- b_indices :: Int -> Int -> Int -> [(Int, Int)]
Instrument definition commands
d_loadDir :: String -> MessageSource
Load a directory of instrument definitions files. (Asynchronous)
Node commands
n_mapan :: Int -> [(String, Int, Int)] -> MessageSource
Map a node's controls to read from audio buses.
Synthesis node commands
Enumeration of possible locations to add new nodes (s_new and g_new).
s_new :: String -> Int -> AddAction -> Int -> [(String, Double)] -> MessageSource
Create a new synth.
Group node commands
g_deepFree :: [Int] -> MessageSource
Free all synths in this group and all its sub-groups.
g_dumpTree :: [(Int, Bool)] -> MessageSource
Post a representation of a group's node subtree, optionally including the current control values for synths.
g_queryTree :: [(Int, Bool)] -> MessageSource
Request a representation of a group's node subtree, optionally including the current control values for synths.
Replies to the sender with a /g_queryTree.reply
message listing all of the nodes contained within the group in the following format:
int - if synth control values are included 1, else 0 int - node ID of the requested group int - number of child nodes contained within the requested group For each node in the subtree: [ int - node ID int - number of child nodes contained within this node. If -1 this is a synth, if >= 0 it's a group. If this node is a synth: symbol - the SynthDef name for this node. If flag (see above) is true: int - numControls for this synth (M) [ symbol or int: control name or index float or symbol: value or control bus mapping symbol (e.g. 'c1') ] * M ] * the number of nodes in the subtree
N.B. The order of nodes corresponds to their execution order on the server. Thus child nodes (those contained within a group) are listed immediately following their parent.
Plugin commands
Unit Generator commands
Buffer commands
b_alloc :: Int -> Int -> Int -> MessageSource
Allocates zero filled buffer to number of channels and samples. (Asynchronous)
b_allocRead :: Int -> String -> Int -> Int -> MessageSource
Allocate buffer space and read a sound file. (Asynchronous)
b_allocReadChannel :: Int -> String -> Int -> Int -> [Int] -> MessageSource
Allocate buffer space and read a sound file, picking specific channels. (Asynchronous)
b_close :: Int -> MessageSource
Close attached soundfile and write header information. (Asynchronous)
b_gen_sine3 :: Int -> [B_Gen] -> [(Double, Double, Double)] -> MessageSource
Call sine3
b_gen
command.
b_read :: Int -> String -> Int -> Int -> Int -> Bool -> MessageSource
Read sound file data into an existing buffer. (Asynchronous)
b_readChannel :: Int -> String -> Int -> Int -> Int -> Bool -> [Int] -> MessageSource
Read sound file data into an existing buffer, picking specific channels. (Asynchronous)
b_write :: Int -> String -> SoundFileFormat -> SampleFormat -> Int -> Int -> Bool -> MessageSource
Write sound file data. (Asynchronous)
Control bus commands
Server operation commands
Remove all bundles from the scheduling queue.
data PrintLevel Source
Enumeration of Message printer types.
dumpOSC :: PrintLevel -> MessageSource
Select printing of incoming Open Sound Control messages.
Request /synced message when all current asynchronous commands complete.
data ErrorScope Source
Error posting scope.
Error posting mode.
errorMode :: ErrorScope -> ErrorMode -> MessageSource
Set error posting scope and mode.
Variants to simplify common cases
b_alloc_setn1 :: Int -> Int -> [Double] -> MessageSource
Pre-allocate for b_setn1, values preceding offset are zeroed.
Modify existing message to include completion message
async_cmds :: [String]Source
List of asynchronous server commands.
withCM :: OSC o => Message -> o -> MessageSource
Add a completion message (or bundle, the name is misleading) to an existing asynchronous command.
let {m = n_set1 0 "0" 0 ;m' = encodeMessage m} in withCM (b_close 0) m == Message "/b_close" [Int 0,Blob m']