hommage-0.0.5: doc/Sound.Hommage.Play.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><TITLE
>Sound.Hommage.Play</TITLE
><LINK HREF = "haddock.css" REL = "stylesheet" TYPE = "text/css"
></HEAD
><BODY
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "topbar"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD
><IMG SRC = "haskell_icon.gif" WIDTH = "16" HEIGHT = "16" ALT = " "
></TD
><TD CLASS = "title"
></TD
><TD CLASS = "topbut"
><A HREF = "Sound.Hommage.html"
>Parent</A
></TD
><TD CLASS = "topbut"
><A HREF = "index.html"
>Contents</A
></TD
><TD CLASS = "topbut"
><A HREF = "doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "modulebar"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD
><FONT SIZE = "6"
>Sound.Hommage.Play</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF = "#1"
> Play</A
></DT
><DT
><A HREF = "#2"
> Interpretation of Notation for Play</A
></DT
><DT
><A HREF = "#3"
> Parallel played and hierarchical defined tracks</A
></DT
><DT
><A HREF = "#4"
> Environment</A
></DT
><DT
><A HREF = "#5"
> Duration</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "section1"
>Synopsis</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>newtype</SPAN
> <A HREF = "#t%3APlay"
>Play</A
> a = <A HREF = "#v%3APLAY"
>PLAY</A
> {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "recfield"
><A HREF = "#v%3AunPlay"
>unPlay</A
> :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> a)</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AgetDur"
>getDur</A
> :: <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AresetDur"
>resetDur</A
> :: <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3ArandomPlay"
>randomPlay</A
> :: (Random a) => (a, a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3Amix"
>mix</A
> :: [<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3Amix'"
>mix'</A
> :: (Num a) => [<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [a]] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [a]</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AnotationMono"
>notationMono</A
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation"
>Notation</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono"
>Mono</A
>]</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AnotationStereo"
>notationStereo</A
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation"
>Notation</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo"
>Stereo</A
>]</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3Anotation"
>notation</A
> :: (<A HREF = "Sound.Hommage.Play.html#t%3AMixable"
>Mixable</A
> a) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation"
>Notation</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>class</SPAN
> <A HREF = "#t%3AMixable"
>Mixable</A
> a <SPAN CLASS = "keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A HREF = "#v%3Amixdown"
>mixdown</A
> :: <A HREF = "Sound.Hommage.Seq.html#t%3ASeq"
>Seq</A
> a -> a</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>data</SPAN
> <A HREF = "#t%3ASong"
>Song</A
> a = <A HREF = "#v%3ASONG"
>SONG</A
> {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "recfield"
><A HREF = "#v%3AunSong"
>unSong</A
> :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> (a, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
>))</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3ArunSong"
>runSong</A
> :: Double -> <A HREF = "Sound.Hommage.Play.html#t%3ASong"
>Song</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a) -> a</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>newtype</SPAN
> <A HREF = "#t%3ATrack"
>Track</A
> a = <A HREF = "#v%3ATRACK"
>TRACK</A
> {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "recfield"
><A HREF = "#v%3AunTrack"
>unTrack</A
> :: (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> a)</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AplayTrack"
>playTrack</A
> :: <A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
> a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3Atrack"
>track</A
> :: (<A HREF = "Sound.Hommage.Play.html#t%3ATrackable"
>Trackable</A
> a) => <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a -> <A HREF = "Sound.Hommage.Play.html#t%3ASong"
>Song</A
> (<A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
> a)</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>class</SPAN
> (Typeable a) => <A HREF = "#t%3ATrackable"
>Trackable</A
> a <SPAN CLASS = "keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AtoNext"
>toNext</A
> :: a -> a</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>newtype</SPAN
> <A HREF = "#t%3AEnvironment"
>Environment</A
> = <A HREF = "#v%3AEnvironment"
>Environment</A
> (Int, [(Int, [Dynamic])])</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AemptyEnvironment"
>emptyEnvironment</A
> :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AnextEnvironment"
>nextEnvironment</A
> :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AinsertEnvironment"
>insertEnvironment</A
> :: [Dynamic] -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> Dynamic, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
>)</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AlookupEnvironment"
>lookupEnvironment</A
> :: Int -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> Dynamic</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>data</SPAN
> <A HREF = "#t%3ADuration"
>Duration</A
> = <A HREF = "#v%3ADURATION"
>DURATION</A
> {<TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "recfield"
><A HREF = "#v%3ArelativeDuration"
>relativeDuration</A
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
></TD
></TR
><TR
><TD CLASS = "recfield"
><A HREF = "#v%3AabsoluteDuration"
>absoluteDuration</A
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AresetDuration"
>resetDuration</A
> :: <A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "#v%3AinitDuration"
>initDuration</A
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "section1"
><A NAME = "1"
> Play</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>newtype</SPAN
> <A NAME = "t%3APlay"
></A
><B
>Play</B
> a</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "section4"
>Constructors</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3APLAY"
></A
><B
>PLAY</B
></TD
><TD CLASS = "rdoc"
></TD
></TR
><TR
><TD CLASS = "body" COLSPAN = "2"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3AunPlay"
></A
><B
>unPlay</B
> :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> a)</TD
><TD CLASS = "rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "section4"
>Instances</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
>Monad <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
></TD
></TR
><TR
><TD CLASS = "decl"
>Functor <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Notation.html#t%3AStretchable"
>Stretchable</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a)</TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>)</TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono"
>Mono</A
>])</TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo"
>Stereo</A
>])</TD
></TR
><TR
><TD CLASS = "decl"
>(<A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect"
>Effect</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
> -> a)</TD
></TR
><TR
><TD CLASS = "decl"
>(<A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect"
>Effect</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono"
>Mono</A
>] -> a)</TD
></TR
><TR
><TD CLASS = "decl"
>(<A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> a) => <A HREF = "Sound.Hommage.Sound.html#t%3AEffect"
>Effect</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo"
>Stereo</A
>] -> a)</TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Sound.html#t%3AEffect"
>Effect</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> (<A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
> -> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>))</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AgetDur"
></A
><B
>getDur</B
> :: <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AresetDur"
></A
><B
>resetDur</B
> :: <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3ArandomPlay"
></A
><B
>randomPlay</B
> :: (Random a) => (a, a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3Amix"
></A
><B
>mix</B
> :: [<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3Amix'"
></A
><B
>mix'</B
> :: (Num a) => [<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [a]] -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [a]</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "section1"
><A NAME = "2"
> Interpretation of Notation for Play</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AnotationMono"
></A
><B
>notationMono</B
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation"
>Notation</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono"
>Mono</A
>]</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AnotationStereo"
></A
><B
>notationStereo</B
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ANotation"
>Notation</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo"
>Stereo</A
>]</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3Anotation"
></A
><B
>notation</B
> :: (<A HREF = "Sound.Hommage.Play.html#t%3AMixable"
>Mixable</A
> a) => <A HREF = "Sound.Hommage.Notation.html#t%3ANotation"
>Notation</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a) -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>class</SPAN
> <A NAME = "t%3AMixable"
></A
><B
>Mixable</B
> a <SPAN CLASS = "keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "section4"
>Methods</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3Amixdown"
></A
><B
>mixdown</B
> :: <A HREF = "Sound.Hommage.Seq.html#t%3ASeq"
>Seq</A
> a -> a</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "section4"
>Instances</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
>(Num a) => <A HREF = "Sound.Hommage.Play.html#t%3AMixable"
>Mixable</A
> [a]</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "section1"
><A NAME = "3"
> Parallel played and hierarchical defined tracks</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>data</SPAN
> <A NAME = "t%3ASong"
></A
><B
>Song</B
> a</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "section4"
>Constructors</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3ASONG"
></A
><B
>SONG</B
></TD
><TD CLASS = "rdoc"
></TD
></TR
><TR
><TD CLASS = "body" COLSPAN = "2"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3AunSong"
></A
><B
>unSong</B
> :: (<A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> (a, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
>))</TD
><TD CLASS = "rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "section4"
>Instances</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
>Functor <A HREF = "Sound.Hommage.Play.html#t%3ASong"
>Song</A
></TD
></TR
><TR
><TD CLASS = "decl"
>Monad <A HREF = "Sound.Hommage.Play.html#t%3ASong"
>Song</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3ArunSong"
></A
><B
>runSong</B
> :: Double -> <A HREF = "Sound.Hommage.Play.html#t%3ASong"
>Song</A
> (<A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a) -> a</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>newtype</SPAN
> <A NAME = "t%3ATrack"
></A
><B
>Track</B
> a</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "section4"
>Constructors</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3ATRACK"
></A
><B
>TRACK</B
></TD
><TD CLASS = "rdoc"
></TD
></TR
><TR
><TD CLASS = "body" COLSPAN = "2"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3AunTrack"
></A
><B
>unTrack</B
> :: (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> a)</TD
><TD CLASS = "rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "section4"
>Instances</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
>Functor <A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
></TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> (<A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
>)</TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> (<A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AMono"
>Mono</A
>])</TD
></TR
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Sound.html#t%3ASound"
>Sound</A
> (<A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
> [<A HREF = "Sound.Hommage.Signal.html#t%3AStereo"
>Stereo</A
>])</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AplayTrack"
></A
><B
>playTrack</B
> :: <A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
> a -> <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3Atrack"
></A
><B
>track</B
> :: (<A HREF = "Sound.Hommage.Play.html#t%3ATrackable"
>Trackable</A
> a) => <A HREF = "Sound.Hommage.Play.html#t%3APlay"
>Play</A
> a -> <A HREF = "Sound.Hommage.Play.html#t%3ASong"
>Song</A
> (<A HREF = "Sound.Hommage.Play.html#t%3ATrack"
>Track</A
> a)</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>class</SPAN
> (Typeable a) => <A NAME = "t%3ATrackable"
></A
><B
>Trackable</B
> a <SPAN CLASS = "keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "section4"
>Methods</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3AtoNext"
></A
><B
>toNext</B
> :: a -> a</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s8"
></TD
></TR
><TR
><TD CLASS = "section4"
>Instances</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Play.html#t%3ATrackable"
>Trackable</A
> <A HREF = "Sound.Hommage.Signal.html#t%3ASignal"
>Signal</A
></TD
></TR
><TR
><TD CLASS = "decl"
>(Typeable a) => <A HREF = "Sound.Hommage.Play.html#t%3ATrackable"
>Trackable</A
> [a]</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "section1"
><A NAME = "4"
> Environment</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>newtype</SPAN
> <A NAME = "t%3AEnvironment"
></A
><B
>Environment</B
> </TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "section4"
>Constructors</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3AEnvironment"
></A
><B
>Environment</B
> (Int, [(Int, [Dynamic])])</TD
><TD CLASS = "rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AemptyEnvironment"
></A
><B
>emptyEnvironment</B
> :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AnextEnvironment"
></A
><B
>nextEnvironment</B
> :: <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AinsertEnvironment"
></A
><B
>insertEnvironment</B
> :: [Dynamic] -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> (<A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> Dynamic, <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
>)</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AlookupEnvironment"
></A
><B
>lookupEnvironment</B
> :: Int -> <A HREF = "Sound.Hommage.Play.html#t%3AEnvironment"
>Environment</A
> -> Dynamic</TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "section1"
><A NAME = "5"
> Duration</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><SPAN CLASS = "keyword"
>data</SPAN
> <A NAME = "t%3ADuration"
></A
><B
>Duration</B
> </TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "0" CELLPADDING = "0"
><TR
><TD CLASS = "section4"
>Constructors</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "5" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3ADURATION"
></A
><B
>DURATION</B
></TD
><TD CLASS = "rdoc"
></TD
></TR
><TR
><TD CLASS = "body" COLSPAN = "2"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A NAME = "v%3ArelativeDuration"
></A
><B
>relativeDuration</B
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
></TD
><TD CLASS = "rdoc"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AabsoluteDuration"
></A
><B
>absoluteDuration</B
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
></TD
><TD CLASS = "rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "section4"
>Instances</TD
></TR
><TR
><TD CLASS = "body"
><TABLE CLASS = "vanilla" CELLSPACING = "1" CELLPADDING = "0"
><TR
><TD CLASS = "decl"
><A HREF = "Sound.Hommage.Notation.html#t%3AIsDur"
>IsDur</A
> <A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AresetDuration"
></A
><B
>resetDuration</B
> :: <A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "decl"
><A NAME = "v%3AinitDuration"
></A
><B
>initDuration</B
> :: <A HREF = "Sound.Hommage.Notation.html#t%3ADur"
>Dur</A
> -> <A HREF = "Sound.Hommage.Play.html#t%3ADuration"
>Duration</A
></TD
></TR
><TR
><TD CLASS = "s15"
></TD
></TR
><TR
><TD CLASS = "botbar"
>Produced by <A HREF = "http://www.haskell.org/haddock/"
>Haddock</A
> version HADDOCK_VERSION</TD
></TR
></TABLE
></BODY
></HTML
>