hsc3-0.15.1: Haskell SuperCollider

Safe HaskellNone
LanguageHaskell98

Sound.SC3.Server.Command.Plain

Contents

Description

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

Synopsis

Buffer commands (b_)

b_alloc :: Int -> Int -> Int -> Message Source

Allocates zero filled buffer to number of channels and samples. (Asynchronous)

b_allocRead :: Int -> String -> Int -> Int -> Message Source

Allocate buffer space and read a sound file. (Asynchronous)

b_allocReadChannel :: Int -> String -> Int -> Int -> [Int] -> Message Source

Allocate buffer space and read a sound file, picking specific channels. (Asynchronous)

b_close :: Int -> Message Source

Close attached soundfile and write header information. (Asynchronous)

b_free :: Int -> Message Source

Free buffer data. (Asynchronous)

b_gen :: Int -> String -> [Datum] -> Message Source

Call a command to fill a buffer. (Asynchronous)

b_gen_copy :: Int -> Int -> Int -> Int -> Maybe Int -> Message Source

Call copy b_gen command.

b_get :: Int -> [Int] -> Message Source

Get sample values.

b_getn :: Int -> [(Int, Int)] -> Message Source

Get ranges of sample values.

b_query :: [Int] -> Message Source

Request /b_info messages.

b_read :: Int -> String -> Int -> Int -> Int -> Bool -> Message Source

Read sound file data into an existing buffer. (Asynchronous)

b_readChannel :: Int -> String -> Int -> Int -> Int -> Bool -> [Int] -> Message Source

Read sound file data into an existing buffer, picking specific channels. (Asynchronous)

b_write :: Int -> String -> SoundFileFormat -> SampleFormat -> Int -> Int -> Bool -> Message Source

Write sound file data. (Asynchronous)

b_zero :: Int -> Message Source

Zero sample data. (Asynchronous)

Control bus commands

c_fill :: [(Int, Int, Double)] -> Message Source

Fill ranges of bus values.

c_get :: [Int] -> Message Source

Get bus values.

c_getn :: [(Int, Int)] -> Message Source

Get ranges of bus values.

c_set :: [(Int, Double)] -> Message Source

Set bus values.

c_setn :: [(Int, [Double])] -> Message Source

Set ranges of bus values.

Instrument definition commands (d_)

d_recv' :: Graphdef -> Message Source

Install a bytecode instrument definition. (Asynchronous)

d_recv :: Synthdef -> Message Source

Install a bytecode instrument definition. (Asynchronous)

d_load :: String -> Message Source

Load an instrument definition from a named file. (Asynchronous)

d_loadDir :: String -> Message Source

Load a directory of instrument definitions files. (Asynchronous)

d_free :: [String] -> Message Source

Remove definition once all nodes using it have ended.

Group node commands (g_)

g_deepFree :: [Int] -> Message Source

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

g_freeAll :: [Int] -> Message Source

Delete all nodes in a group.

g_head :: [(Int, Int)] -> Message Source

Add node to head of group.

g_new :: [(Int, AddAction, Int)] -> Message Source

Create a new group.

g_tail :: [(Int, Int)] -> Message Source

Add node to tail of group.

g_dumpTree :: [(Int, Bool)] -> Message Source

Post a representation of a group's node subtree, optionally including the current control values for synths.

g_queryTree :: [(Int, Bool)] -> Message Source

Request a representation of a group's node subtree, optionally including the current control values for synths.

Node commands (n_)

n_after :: [(Int, Int)] -> Message Source

Place a node after another.

n_before :: [(Int, Int)] -> Message Source

Place a node before another.

n_fill :: Int -> [(String, Int, Double)] -> Message Source

Fill ranges of a node's control values.

n_free :: [Int] -> Message Source

Delete a node.

n_mapn :: Int -> [(String, Int, Int)] -> Message Source

Map a node's controls to read from buses.

n_mapa :: Int -> [(String, Int)] -> Message Source

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

n_mapan :: Int -> [(String, Int, Int)] -> Message Source

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

n_query :: [Int] -> Message Source

Get info about a node.

n_run :: [(Int, Bool)] -> Message Source

Turn node on or off.

n_set :: Int -> [(String, Double)] -> Message Source

Set a node's control values.

n_setn :: Int -> [(String, [Double])] -> Message Source

Set ranges of a node's control values.

n_trace :: [Int] -> Message Source

Trace a node.

n_order :: AddAction -> Int -> [Int] -> Message Source

Move an ordered sequence of nodes.

Par commands (p_)

p_new :: [(Int, AddAction, Int)] -> Message Source

Create a new parallel group (supernova specific).

Synthesis node commands (s_)

s_get :: Int -> [String] -> Message Source

Get control values.

s_getn :: Int -> [(String, Int)] -> Message Source

Get ranges of control values.

s_noid :: [Int] -> Message Source

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

Unit Generator commands (u_)

u_cmd :: Int -> Int -> String -> [Datum] -> Message Source

Send a command to a unit generator.

Server operation commands

cmd :: String -> [Datum] -> Message Source

Send a plugin command.

clearSched :: Message Source

Remove all bundles from the scheduling queue.

dumpOSC :: PrintLevel -> Message Source

Select printing of incoming Open Sound Control messages.

errorMode :: ErrorScope -> ErrorMode -> Message Source

Set error posting scope and mode.

notify :: Bool -> Message Source

Select reception of notification messages. (Asynchronous)

nrt_end :: Message Source

End real time mode, close file (un-implemented).

quit :: Message Source

Stop synthesis server.

status :: Message Source

Request /status.reply message.

sync :: Int -> Message Source

Request /synced message when all current asynchronous commands complete.

Variants to simplify common cases

b_getn1 :: Int -> (Int, Int) -> Message Source

Get ranges of sample values.

b_query1 :: Int -> Message Source

Variant on b_query.

c_getn1 :: (Int, Int) -> Message Source

Get ranges of sample values.

c_set1 :: Int -> Double -> Message Source

Set single bus values.

c_setn1 :: (Int, [Double]) -> Message Source

Set single range of bus values.

n_set1 :: Int -> String -> Double -> Message Source

Set a single node control value.

s_new0 :: String -> Int -> AddAction -> Int -> Message Source

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

s_new :: String -> Int -> AddAction -> Int -> [(String, Double)] -> Message Source

Create a new synth.

b_fill :: Int -> [(Int, Int, Double)] -> Message Source

Fill ranges of sample values.

b_gen_sine1 :: Int -> [B_Gen] -> [Double] -> Message Source

Call sine1 b_gen command.

b_gen_sine2 :: Int -> [B_Gen] -> [(Double, Double)] -> Message Source

Call sine2 b_gen command.

b_gen_sine3 :: Int -> [B_Gen] -> [(Double, Double, Double)] -> Message Source

Call sine3 b_gen command.

b_gen_cheby :: Int -> [B_Gen] -> [Double] -> Message Source

Call cheby b_gen command.

b_set :: Int -> [(Int, Double)] -> Message Source

Set sample values.

b_setn :: Int -> [(Int, [Double])] -> Message Source

Set ranges of sample values.

b_alloc_setn1 :: Int -> Int -> [Double] -> Message Source

Pre-allocate for b_setn1, values preceding offset are zeroed.

b_set1 :: Int -> Int -> Double -> Message Source

Set single sample value.

b_setn1 :: Int -> Int -> [Double] -> Message Source

Set a range of sample values.

UGen commands.

pc_preparePartConv :: Int -> Int -> Int -> Message Source

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