mediabus-0.4.0.1: Multimedia streaming on top of Conduit

Safe HaskellNone
LanguageHaskell2010

Data.MediaBus.Media.Media

Description

This module contains mainly the informative IsMedia type class and corresponding type classes for media lenses.

Synopsis

Documentation

class (NFData i, Show (MediaDescription i)) => IsMedia i Source #

Very abstract class of media content types. The only universal feature is that it has a static description.

Instances

data MediaDescription i where Source #

A proxy type to display static media info via a Show instance

Instances

(Typeable k t, KnownRate r, KnownChannelLayout * c) => Show (MediaDescription * (Audio r c (Raw k t))) # 

Methods

showsPrec :: Int -> MediaDescription * (Audio r c (Raw k t)) -> ShowS #

show :: MediaDescription * (Audio r c (Raw k t)) -> String #

showList :: [MediaDescription * (Audio r c (Raw k t))] -> ShowS #

class (IsMedia (MediaFrom s), IsMedia (MediaTo t)) => HasMedia s t where Source #

Types that contain an IsMedia instance.

Minimal complete definition

media

Associated Types

type MediaFrom s Source #

type MediaTo t Source #

Methods

media :: Lens s t (MediaFrom s) (MediaTo t) Source #

A Lens for the media within s

Instances

HasMedia c c' => HasMedia (Segment d c) (Segment d c') Source # 

Associated Types

type MediaFrom (Segment d c) :: * Source #

type MediaTo (Segment d c') :: * Source #

Methods

media :: Lens (Segment d c) (Segment d c') (MediaFrom (Segment d c)) (MediaTo (Segment d c')) Source #

(IsMedia (Audio r c e), IsMedia (Audio r' c' e')) => HasMedia (Audio r c e) (Audio r' c' e') Source # 

Associated Types

type MediaFrom (Audio r c e) :: * Source #

type MediaTo (Audio r' c' e') :: * Source #

Methods

media :: Lens (Audio r c e) (Audio r' c' e') (MediaFrom (Audio r c e)) (MediaTo (Audio r' c' e')) Source #

HasMedia c c' => HasMedia (Frame s t c) (Frame s t c') Source # 

Associated Types

type MediaFrom (Frame s t c) :: * Source #

type MediaTo (Frame s t c') :: * Source #

Methods

media :: Lens (Frame s t c) (Frame s t c') (MediaFrom (Frame s t c)) (MediaTo (Frame s t c')) Source #

type HasMedia' s = (IsMedia (MediaFrom s), HasMedia s s, MediaFrom s ~ MediaTo s) Source #

Types that contain an IsMedia instance.

media' :: HasMedia' s => Lens' s (MediaFrom s) Source #

A simple Lens for the media within s

type HasMediaL s t a b = (IsMedia a, HasMedia s t, MediaFrom s ~ a, MediaTo t ~ b) Source #

Types that contain an IsMedia instance with the traditional lens-like type parameters

type HasMediaL' s a = (IsMedia a, HasMedia s s, MediaFrom s ~ a, MediaTo s ~ a, MediaFrom s ~ MediaTo s) Source #

Like HasMedia but with the **simple** lens-like type parameters

class (IsMedia (MediaFromE s), IsMedia (MediaToE t)) => EachMedia s t where Source #

Types that contain zero or more IsMedia instance.

Associated Types

type MediaFromE s Source #

The contained input media type, since the name MediaFrom was taken , this is named MediaFromE where the E is supposed to hint at the fact that this class is called EachMedia.

type MediaToE t Source #

Methods

eachMedia :: Traversal s t (MediaFromE s) (MediaToE t) Source #

A Traversal for the media within s

eachMedia :: HasMediaL s t (MediaFromE s) (MediaToE t) => Traversal s t (MediaFromE s) (MediaToE t) Source #

A Traversal for the media within s

type EachMedia' s = (IsMedia (MediaFromE s), EachMedia s s, MediaFromE s ~ MediaToE s) Source #

Types that contain zero or more IsMedia instance.

eachMedia' :: EachMedia' s => Traversal' s (MediaFromE s) Source #

A simple Traversal for the media within s

type EachMediaL s t a b = (IsMedia a, EachMedia s t, MediaFromE s ~ a, MediaToE t ~ b) Source #

Types that contain zero or more IsMedia instance with the traditional lens-like type parameters

type EachMediaL' s a = (IsMedia a, EachMedia s s, MediaFromE s ~ a, MediaToE s ~ a, MediaFromE s ~ MediaToE s) Source #

Like EachMedia but with the **simple** lens-like type parameters