hsc3-0.12: Haskell SuperCollider

Safe HaskellNone

Sound.SC3.Server.Transport.FD

Contents

Description

FD variant of interaction with the scsynth server.

Synopsis

hosc variants

send :: Transport t => t -> Message -> IO ()Source

Synonym for sendMessage.

wait :: Transport t => t -> String -> IO MessageSource

Synonym for waitReply.

async :: Transport t => t -> Message -> IO MessageSource

Send a Message and wait for a /done reply.

withSC3 :: (UDP -> IO a) -> IO aSource

Bracket SC3 communication.

Server control

stop :: Transport t => t -> IO ()Source

Free all nodes (g_freeAll) at group 1.

reset :: Transport t => t -> IO ()Source

Free all nodes (g_freeAll) at and re-create groups 1 and 2.

playSynthdef :: Transport t => t -> Synthdef -> IO ()Source

Send d_recv and s_new messages to scsynth.

playUGen :: Transport t => t -> UGen -> IO ()Source

Send an anonymous instrument definition using playSynthdef.

Non-real time

run_bundle :: Transport t => t -> Double -> Bundle -> IO ()Source

Wait (pauseThreadUntil) until bundle is due to be sent relative to initial UTCr time, then send each message, asynchronously if required.

performNRT :: Transport t => t -> NRT -> IO ()Source

Perform an NRT score (as would be rendered by writeNRT). In particular note that all timestamps must be in NTPr form.

Audible

class Audible e whereSource

Class for values that can be encoded and send to scsynth for audition.

Methods

play :: Transport t => t -> e -> IO ()Source

audition :: e -> IO ()Source

Notifications

withNotifications :: Transport t => t -> (t -> IO a) -> IO aSource

Turn on notifications, run f, turn off notifications, return result.

Buffer

b_getn1_data :: Transport t => t -> Int -> (Int, Int) -> IO [Double]Source

Variant of b_getn1 that waits for return message and unpacks it.

 withSC3 (\fd -> b_getn1_data fd 0 (0,5))

b_getn1_data_segment :: Transport t => t -> Int -> Int -> (Int, Int) -> IO [Double]Source

Variant of b_getn1_data that segments individual b_getn messages to n elements.

 withSC3 (\fd -> b_getn1_data_segment fd 1 0 (0,5))

b_fetch :: Transport t => t -> Int -> Int -> IO [Double]Source

Variant of b_getn1_data_segment that gets the entire buffer.

Status

serverStatus :: Transport t => t -> IO [String]Source

Collect server status information.

serverSampleRateNominal :: Transport t => t -> IO DoubleSource

Read nominal sample rate of server.

serverSampleRateActual :: Transport t => t -> IO DoubleSource

Read actual sample rate of server.

serverStatusData :: Transport t => t -> IO [Datum]Source

Retrieve status data from server.