hsc3-0.14: Haskell SuperCollider

Safe HaskellNone

Sound.SC3.Server.Command.Int

Contents

Description

Functions from Sound.SC3.Server.Command.Generic specialised to Int.

Synopsis

Node commands

n_after :: [(Int, Int)] -> MessageSource

Place a node after another.

n_before :: [(Int, Int)] -> MessageSource

Place a node before another.

n_free :: [Int] -> MessageSource

Delete a node.

n_mapn :: Int -> [(String, Int, Int)] -> MessageSource

Map a node's controls to read from buses.

n_mapa :: Int -> [(String, Int)] -> MessageSource

Map a node's controls to read from an audio bus.

n_mapan :: Int -> [(String, Int, Int)] -> MessageSource

Map a node's controls to read from audio buses.

n_query :: [Int] -> MessageSource

Get info about a node.

n_run :: [(Int, Bool)] -> MessageSource

Turn node on or off.

n_trace :: [Int] -> MessageSource

Trace a node.

n_order :: AddAction -> Int -> [Int] -> MessageSource

Move an ordered sequence of nodes.

Synthesis node commands

s_get :: Int -> [String] -> MessageSource

Get control values.

s_getn :: Int -> [(String, Int)] -> MessageSource

Get ranges of control values.

s_noid :: [Int] -> MessageSource

Auto-reassign synth's ID to a reserved value.

Group node commands

g_deepFree :: [Int] -> MessageSource

Free all synths in this group and all its sub-groups.

g_freeAll :: [Int] -> MessageSource

Delete all nodes in a group.

g_head :: [(Int, Int)] -> MessageSource

Add node to head of group.

g_new :: [(Int, AddAction, Int)] -> MessageSource

Create a new group.

g_tail :: [(Int, Int)] -> MessageSource

Add node to tail of group.

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:

 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.

p_new :: [(Int, AddAction, Int)] -> MessageSource

Create a new parallel group (supernova specific).

Unit Generator commands

u_cmd :: Int -> Int -> String -> [Datum] -> MessageSource

Send a command to a unit generator.

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_free :: Int -> MessageSource

Free buffer data. (Asynchronous)

b_gen :: Int -> String -> [Datum] -> MessageSource

Call a command to fill a buffer. (Asynchronous)

b_gen_copy :: Int -> Int -> Int -> Int -> Maybe Int -> MessageSource

Call copy b_gen command.

b_get :: Int -> [Int] -> MessageSource

Get sample values.

b_getn :: Int -> [(Int, Int)] -> MessageSource

Get ranges of sample values.

b_query :: [Int] -> MessageSource

Request /b_info messages.

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)

b_zero :: Int -> MessageSource

Zero sample data. (Asynchronous)

Control bus commands

c_get :: [Int] -> MessageSource

Get bus values.

c_getn :: [(Int, Int)] -> MessageSource

Get ranges of bus values.

Server operation commands

sync :: Int -> MessageSource

Request /synced message when all current asynchronous commands complete.

Variants to simplify common cases

b_getn1 :: Int -> (Int, Int) -> MessageSource

Get ranges of sample values.

b_query1 :: Int -> MessageSource

Variant on b_query.

s_new0 :: String -> Int -> AddAction -> Int -> MessageSource

s_new with no parameters.

Buffer segmentation and indices

b_segment :: Int -> Int -> [Int]Source

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_indices :: Int -> Int -> Int -> [(Int, Int)]Source

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)]

UGen commands.

pc_preparePartConv :: Int -> Int -> Int -> MessageSource

Generate accumulation buffer given time-domain IR buffer and FFT size.