hsc3-0.14: Sound/SC3/Server/Command/Int.hs
-- | Functions from "Sound.SC3.Server.Command.Generic" specialised to 'Int'.
module Sound.SC3.Server.Command.Int where
import Sound.OSC.Core {- hosc -}
import qualified Sound.SC3.Server.Command.Generic as G
import Sound.SC3.Server.Enum
-- * Node commands
-- | Place a node after another.
n_after :: [(Int,Int)] -> Message
n_after = G.n_after
-- | Place a node before another.
n_before :: [(Int,Int)] -> Message
n_before = G.n_before
-- | Delete a node.
n_free :: [Int] -> Message
n_free = G.n_free
n_map :: Int -> [(String,Int)] -> Message
n_map = G.n_map
-- | Map a node's controls to read from buses.
n_mapn :: Int -> [(String,Int,Int)] -> Message
n_mapn = G.n_mapn
-- | Map a node's controls to read from an audio bus.
n_mapa :: Int -> [(String,Int)] -> Message
n_mapa = G.n_mapa
-- | Map a node's controls to read from audio buses.
n_mapan :: Int -> [(String,Int,Int)] -> Message
n_mapan = G.n_mapan
-- | Get info about a node.
n_query :: [Int] -> Message
n_query = G.n_query
-- | Turn node on or off.
n_run :: [(Int,Bool)] -> Message
n_run = G.n_run
-- | Trace a node.
n_trace :: [Int] -> Message
n_trace = G.n_trace
-- | Move an ordered sequence of nodes.
n_order :: AddAction -> Int -> [Int] -> Message
n_order = G.n_order
-- * Synthesis node commands
-- | Get control values.
s_get :: Int -> [String] -> Message
s_get = G.s_get
-- | Get ranges of control values.
s_getn :: Int -> [(String,Int)] -> Message
s_getn = G.s_getn
-- | Auto-reassign synth's ID to a reserved value.
s_noid :: [Int] -> Message
s_noid = G.s_noid
-- * Group node commands
-- | Free all synths in this group and all its sub-groups.
g_deepFree :: [Int] -> Message
g_deepFree = G.g_deepFree
-- | Delete all nodes in a group.
g_freeAll :: [Int] -> Message
g_freeAll = G.g_freeAll
-- | Add node to head of group.
g_head :: [(Int,Int)] -> Message
g_head = G.g_head
-- | Create a new group.
g_new :: [(Int,AddAction,Int)] -> Message
g_new = G.g_new
-- | Add node to tail of group.
g_tail :: [(Int,Int)] -> Message
g_tail = G.g_tail
-- | Post a representation of a group's node subtree, optionally including the current control values for synths.
g_dumpTree :: [(Int,Bool)] -> Message
g_dumpTree = G.g_dumpTree
-- | 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:
--
-- > int32 - if synth control values are included 1, else 0
-- > int32 - node ID of the requested group
-- > int32 - number of child nodes contained within the requested group
-- >
-- > For each node in the subtree:
-- > [
-- > int32 - node ID
-- > int32 - 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:
-- > int32 - 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.
g_queryTree :: [(Int,Bool)] -> Message
g_queryTree = G.g_queryTree
-- | Create a new parallel group (supernova specific).
p_new :: [(Int,AddAction,Int)] -> Message
p_new = G.p_new
-- * Unit Generator commands
-- | Send a command to a unit generator.
u_cmd :: Int -> Int -> String -> [Datum] -> Message
u_cmd = G.u_cmd
-- * Buffer commands
-- | Allocates zero filled buffer to number of channels and samples. (Asynchronous)
b_alloc :: Int -> Int -> Int -> Message
b_alloc = G.b_alloc
-- | Allocate buffer space and read a sound file. (Asynchronous)
b_allocRead :: Int -> String -> Int -> Int -> Message
b_allocRead = G.b_allocRead
-- | Allocate buffer space and read a sound file, picking specific channels. (Asynchronous)
b_allocReadChannel :: Int -> String -> Int -> Int -> [Int] -> Message
b_allocReadChannel = G.b_allocReadChannel
-- | Close attached soundfile and write header information. (Asynchronous)
b_close :: Int -> Message
b_close = G.b_close
-- | Free buffer data. (Asynchronous)
b_free :: Int -> Message
b_free = G.b_free
-- | Call a command to fill a buffer. (Asynchronous)
b_gen :: Int -> String -> [Datum] -> Message
b_gen = G.b_gen
-- | Call @copy@ 'b_gen' command.
b_gen_copy :: Int -> Int -> Int -> Int -> Maybe Int -> Message
b_gen_copy = G.b_gen_copy
-- | Get sample values.
b_get :: Int -> [Int] -> Message
b_get = G.b_get
-- | Get ranges of sample values.
b_getn :: Int -> [(Int,Int)] -> Message
b_getn = G.b_getn
-- | Request \/b_info messages.
b_query :: [Int] -> Message
b_query = G.b_query
-- | Read sound file data into an existing buffer. (Asynchronous)
b_read :: Int -> String -> Int -> Int -> Int -> Bool -> Message
b_read = G.b_read
-- | Read sound file data into an existing buffer, picking specific channels. (Asynchronous)
b_readChannel :: Int -> String -> Int -> Int -> Int -> Bool -> [Int] -> Message
b_readChannel = G.b_readChannel
-- | Write sound file data. (Asynchronous)
b_write :: Int -> String -> SoundFileFormat -> SampleFormat -> Int -> Int -> Bool -> Message
b_write = G.b_write
-- | Zero sample data. (Asynchronous)
b_zero :: Int -> Message
b_zero = G.b_zero
-- * Control bus commands
-- | Get bus values.
c_get :: [Int] -> Message
c_get = G.c_get
-- | Get ranges of bus values.
c_getn :: [(Int,Int)] -> Message
c_getn = G.c_getn
-- * Server operation commands
-- | Request \/synced message when all current asynchronous commands
-- complete.
sync :: Int -> Message
sync = G.sync
-- * Variants to simplify common cases
-- | Get ranges of sample values.
b_getn1 :: Int -> (Int,Int) -> Message
b_getn1 = G.b_getn1
-- | Variant on 'b_query'.
b_query1 :: Int -> Message
b_query1 = b_query . return
-- | @s_new@ with no parameters.
s_new0 :: String -> Int -> AddAction -> Int -> Message
s_new0 = G.s_new0
-- * Buffer segmentation and indices
-- | Segment a request for /m/ places into sets of at most /n/.
--
-- > b_segment 1024 2056 == [8,1024,1024]
-- > b_segment 1 5 == replicate 5 1
b_segment :: Int -> Int -> [Int]
b_segment = G.b_segment
-- | Variant of 'b_segment' that takes a starting index and returns /(index,size)/ duples.
--
-- > b_indices 1 5 0 == zip [0..4] (replicate 5 1)
-- > b_indices 1024 2056 16 == [(16,8),(24,1024),(1048,1024)]
b_indices :: Int -> Int -> Int -> [(Int,Int)]
b_indices = G.b_indices
-- * UGen commands.
-- | Generate accumulation buffer given time-domain IR buffer and FFT size.
pc_preparePartConv :: Int -> Int -> Int -> Message
pc_preparePartConv = G.pc_preparePartConv
-- Local Variables:
-- truncate-lines:t
-- End: