Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data DBusSignal
- data AppState = AppState {
- apUI :: UIContext
- apDB :: MVar Connection
- apSupl :: TVar (Maybe TrackSuplement)
- apStaticinput :: (Input TrackIdentifier, Input ErrorCause)
- apEphemeralInput :: Producer DBusSignal IO ()
- staticPipeline :: AppState -> IO ()
- songPipe :: MVar Connection -> UIContext -> Producer TrackIdentifier IO () -> IO ()
- suplementPipeline :: TrackSuplement -> AppState -> IO ()
- updatePipeline :: TrackSuplement -> AppState -> IO ()
- debugPS :: Show a => String -> Pipe a a IO ()
- musicSpawn :: IO (Input TrackIdentifier, Input ErrorCause, Producer DBusSignal IO (), Output TrackIdentifier, Output ErrorCause)
- addSuplArtist :: TVar (Maybe TrackSuplement) -> Pipe TrackIdentifier TrackIdentifier IO a
Documentation
data DBusSignal Source #
Instances
Show DBusSignal Source # | |
Defined in MusicScroll.Pipeline showsPrec :: Int -> DBusSignal -> ShowS # show :: DBusSignal -> String # showList :: [DBusSignal] -> ShowS # |
AppState | |
|
staticPipeline :: AppState -> IO () Source #
songPipe :: MVar Connection -> UIContext -> Producer TrackIdentifier IO () -> IO () Source #
suplementPipeline :: TrackSuplement -> AppState -> IO () Source #
updatePipeline :: TrackSuplement -> AppState -> IO () Source #
musicSpawn :: IO (Input TrackIdentifier, Input ErrorCause, Producer DBusSignal IO (), Output TrackIdentifier, Output ErrorCause) Source #
Use the Output
Divisible instance to create a network. These are
1) An output for songs.
2) One for errors
3) A merge from the previous two.
The last one is special as it's non-work-stealing, so we can pass it to
multiple listeners and all will receive a signal. But we have to be
careful of only taking a single value of it, as it basically a `TVar a`.