Safe Haskell | None |
---|---|
Language | Haskell2010 |
Sound.Tidal.Stream
Synopsis
- module Sound.Tidal.StreamTypes
- data Stream = Stream {
- sConfig :: Config
- sBusses :: MVar [Int]
- sStateMV :: MVar ValueMap
- sLink :: AbletonLink
- sListen :: Maybe Udp
- sPMapMV :: MVar PlayMap
- sActionsMV :: MVar [TempoAction]
- sGlobalFMV :: MVar (ControlPattern -> ControlPattern)
- sCxs :: [Cx]
- streamReplace :: Stream -> ID -> ControlPattern -> IO ()
- streamHush :: Stream -> IO ()
- streamList :: Stream -> IO ()
- streamMute :: Stream -> ID -> IO ()
- streamUnmute :: Stream -> ID -> IO ()
- streamSolo :: Stream -> ID -> IO ()
- streamUnsolo :: Stream -> ID -> IO ()
- streamOnce :: Stream -> ControlPattern -> IO ()
- streamFirst :: Stream -> ControlPattern -> IO ()
- streamNudgeAll :: Stream -> Double -> IO ()
- streamAll :: Stream -> (ControlPattern -> ControlPattern) -> IO ()
- streamResetCycles :: Stream -> IO ()
- streamSetI :: Stream -> String -> Pattern Int -> IO ()
- streamSetF :: Stream -> String -> Pattern Double -> IO ()
- streamSetS :: Stream -> String -> Pattern String -> IO ()
- streamSetR :: Stream -> String -> Pattern Rational -> IO ()
- streamSetB :: Stream -> String -> Pattern Bool -> IO ()
- data Target = Target {}
- startTidal :: Target -> Config -> IO Stream
- superdirtTarget :: Target
- data OSC
- onTick :: Stream -> TickState -> LinkOperations -> ValueMap -> IO ValueMap
- onSingleTick :: Stream -> LinkOperations -> ValueMap -> ControlPattern -> IO ValueMap
- updatePattern :: Stream -> ID -> Time -> ControlPattern -> IO ()
- data Cx = Cx {}
- data StampStyle
- data Schedule
- = Pre StampStyle
- | Live
- data Args
- = Named {
- requiredArgs :: [String]
- | ArgList [(String, Maybe Value)]
- = Named {
- data ProcessedEvent = ProcessedEvent {
- peHasOnset :: Bool
- peEvent :: Event ValueMap
- peCps :: BPM
- peDelta :: Micros
- peCycle :: Time
- peOnWholeOrPart :: Micros
- peOnWholeOrPartOsc :: Time
- peOnPart :: Micros
- peOnPartOsc :: Time
- sDefault :: String -> Maybe Value
- fDefault :: Double -> Maybe Value
- rDefault :: Rational -> Maybe Value
- iDefault :: Int -> Maybe Value
- bDefault :: Bool -> Maybe Value
- xDefault :: [Word8] -> Maybe Value
- required :: Maybe Value
- superdirtShape :: OSC
- dirtTarget :: Target
- dirtShape :: OSC
- defaultCps :: Time
- startStream :: Config -> [(Target, [OSC])] -> IO Stream
- verbose :: Config -> String -> IO ()
- openListener :: Config -> IO (Maybe Udp)
- resolve :: String -> String -> IO AddrInfo
- sendHandshakes :: Stream -> IO ()
- ctrlResponder :: Int -> Config -> Stream -> IO ()
- sendO :: Bool -> Maybe Udp -> Cx -> Message -> IO ()
- sendBndl :: Bool -> Maybe Udp -> Cx -> Bundle -> IO ()
- startMulti :: [Target] -> Config -> IO ()
- toDatum :: Value -> Datum
- toData :: OSC -> Event ValueMap -> Maybe [Datum]
- substitutePath :: String -> ValueMap -> Maybe String
- getString :: ValueMap -> String -> Maybe String
- playStack :: PlayMap -> ControlPattern
- hasSolo :: Map k PlayState -> Bool
- toOSC :: [Int] -> ProcessedEvent -> OSC -> [(Double, Bool, Message)]
- processCps :: LinkOperations -> [Event ValueMap] -> IO [ProcessedEvent]
- doTick :: Stream -> TickState -> LinkOperations -> ValueMap -> IO ValueMap
- setPreviousPatternOrSilence :: Stream -> IO ()
- send :: Maybe Udp -> Cx -> Double -> Double -> (Double, Bool, Message) -> IO ()
- streamSetCycle :: Stream -> Time -> IO ()
- withPatIds :: Stream -> [ID] -> (PlayState -> PlayState) -> IO ()
- streamMutes :: Stream -> [ID] -> IO ()
- streamMuteAll :: Stream -> IO ()
- streamUnmuteAll :: Stream -> IO ()
- streamUnsoloAll :: Stream -> IO ()
- streamSilence :: Stream -> ID -> IO ()
- streamGet :: Stream -> String -> IO (Maybe Value)
- streamSet :: Valuable a => Stream -> String -> Pattern a -> IO ()
- recvMessagesTimeout :: Transport t => Double -> t -> IO [Message]
- streamGetcps :: Stream -> IO Double
- streamGetnow :: Stream -> IO Double
- getProcessAhead :: Stream -> Micros
- streamGetAhead :: Stream -> IO Double
Documentation
module Sound.Tidal.StreamTypes
Constructors
Stream | |
Fields
|
streamReplace :: Stream -> ID -> ControlPattern -> IO () Source #
streamHush :: Stream -> IO () Source #
streamList :: Stream -> IO () Source #
streamMute :: Stream -> ID -> IO () Source #
streamUnmute :: Stream -> ID -> IO () Source #
streamSolo :: Stream -> ID -> IO () Source #
streamUnsolo :: Stream -> ID -> IO () Source #
streamOnce :: Stream -> ControlPattern -> IO () Source #
streamFirst :: Stream -> ControlPattern -> IO () Source #
streamNudgeAll :: Stream -> Double -> IO () Source #
streamAll :: Stream -> (ControlPattern -> ControlPattern) -> IO () Source #
streamResetCycles :: Stream -> IO () Source #
streamSetI :: Stream -> String -> Pattern Int -> IO () Source #
streamSetF :: Stream -> String -> Pattern Double -> IO () Source #
streamSetS :: Stream -> String -> Pattern String -> IO () Source #
streamSetB :: Stream -> String -> Pattern Bool -> IO () Source #
Constructors
Target | |
onSingleTick :: Stream -> LinkOperations -> ValueMap -> ControlPattern -> IO ValueMap Source #
updatePattern :: Stream -> ID -> Time -> ControlPattern -> IO () Source #
Constructors
Cx | |
data StampStyle Source #
Constructors
BundleStamp | |
MessageStamp |
Instances
Show StampStyle Source # | |
Defined in Sound.Tidal.Stream Methods showsPrec :: Int -> StampStyle -> ShowS show :: StampStyle -> String # showList :: [StampStyle] -> ShowS | |
Eq StampStyle Source # | |
Defined in Sound.Tidal.Stream |
Constructors
Pre StampStyle | |
Live |
Constructors
Named | |
Fields
| |
ArgList [(String, Maybe Value)] |
data ProcessedEvent Source #
Constructors
ProcessedEvent | |
Fields
|
superdirtShape :: OSC Source #
dirtTarget :: Target Source #
defaultCps :: Time Source #
openListener :: Config -> IO (Maybe Udp) Source #
sendHandshakes :: Stream -> IO () Source #
ctrlResponder :: Int -> Config -> Stream -> IO () Source #
startMulti :: [Target] -> Config -> IO () Source #
substitutePath :: String -> ValueMap -> Maybe String Source #
playStack :: PlayMap -> ControlPattern Source #
toOSC :: [Int] -> ProcessedEvent -> OSC -> [(Double, Bool, Message)] Source #
processCps :: LinkOperations -> [Event ValueMap] -> IO [ProcessedEvent] Source #
doTick :: Stream -> TickState -> LinkOperations -> ValueMap -> IO ValueMap Source #
Query the current pattern (contained in argument stream :: Stream
)
for the events in the current arc (contained in argument st :: T.State
),
translate them to OSC messages, and send these.
If an exception occurs during sending, this functions prints a warning and continues, because the likely reason is that the backend (supercollider) isn't running.
If any exception occurs before or outside sending (e.g., while querying the pattern, while computing a message), this function prints a warning and resets the current pattern to the previous one (or to silence if there isn't one) and continues, because the likely reason is that something is wrong with the current pattern.
setPreviousPatternOrSilence :: Stream -> IO () Source #
streamSetCycle :: Stream -> Time -> IO () Source #
streamMutes :: Stream -> [ID] -> IO () Source #
streamMuteAll :: Stream -> IO () Source #
streamUnmuteAll :: Stream -> IO () Source #
streamUnsoloAll :: Stream -> IO () Source #
streamSilence :: Stream -> ID -> IO () Source #
recvMessagesTimeout :: Transport t => Double -> t -> IO [Message] Source #
streamGetcps :: Stream -> IO Double Source #
streamGetnow :: Stream -> IO Double Source #
getProcessAhead :: Stream -> Micros Source #
streamGetAhead :: Stream -> IO Double Source #