hommage-0.0.5: Haskell Offline Music Manipulation And Generation EDSL
Source code
Contents
Index
Sound.Hommage.Play
Contents
Play
Interpretation of Notation for Play
Parallel played and hierarchical defined tracks
Environment
Duration
Synopsis
newtype
Play
a =
PLAY
{
unPlay
::
Duration
->
Environment
-> a
}
getDur
::
Play
Dur
resetDur
::
Play
a ->
Play
a
randomPlay
::
Random
a => (a, a) ->
Play
a
mix
:: [
Play
Signal
] ->
Play
Signal
mix'
::
Num
a => [
Play
[a]] ->
Play
[a]
notationMono
::
Notation
(
Play
Signal
) ->
Play
[
Mono
]
notationStereo
::
Notation
(
Play
Signal
) ->
Play
[
Stereo
]
notation
::
Mixable
a =>
Notation
(
Play
a) ->
Play
a
class
Mixable
a
where
mixdown
::
Seq
a -> a
data
Song
a =
SONG
{
unSong
::
Duration
->
Environment
-> (a,
Environment
)
}
runSong
::
Double
->
Song
(
Play
a) -> a
newtype
Track
a =
TRACK
{
unTrack
::
Environment
-> a
}
playTrack
::
Track
a ->
Play
a
track
::
Trackable
a =>
Play
a ->
Song
(
Track
a)
class
Typeable
a =>
Trackable
a
where
toNext
:: a -> a
newtype
Environment
=
Environment
(
Int
, [(
Int
, [
Dynamic
])])
emptyEnvironment
::
Environment
nextEnvironment
::
Environment
->
Environment
insertEnvironment
:: [
Dynamic
] ->
Environment
-> (
Environment
->
Dynamic
,
Environment
)
lookupEnvironment
::
Int
->
Environment
->
Dynamic
data
Duration
=
DURATION
{
relativeDuration
::
Dur
absoluteDuration
::
Dur
}
resetDuration
::
Duration
->
Duration
initDuration
::
Dur
->
Duration
Play
newtype
Play
a
Source
Constructors
PLAY
unPlay
::
Duration
->
Environment
-> a
Instances
Monad
Play
Functor
Play
Stretchable
(
Play
a)
Effect
(
Play
(
Signal
->
Signal
))
Sound
(
Play
([]
Stereo
))
Sound
(
Play
([]
Mono
))
Sound
(
Play
Signal
)
getDur
::
Play
Dur
Source
resetDur
::
Play
a ->
Play
a
Source
randomPlay
::
Random
a => (a, a) ->
Play
a
Source
mix
:: [
Play
Signal
] ->
Play
Signal
Source
mix'
::
Num
a => [
Play
[a]] ->
Play
[a]
Source
Interpretation of Notation for Play
notationMono
::
Notation
(
Play
Signal
) ->
Play
[
Mono
]
Source
notationStereo
::
Notation
(
Play
Signal
) ->
Play
[
Stereo
]
Source
notation
::
Mixable
a =>
Notation
(
Play
a) ->
Play
a
Source
class
Mixable
a
where
Source
Methods
mixdown
::
Seq
a -> a
Source
Instances
Num
a =>
Mixable
([] a)
Parallel played and hierarchical defined tracks
data
Song
a
Source
Constructors
SONG
unSong
::
Duration
->
Environment
-> (a,
Environment
)
Instances
Monad
Song
Functor
Song
runSong
::
Double
->
Song
(
Play
a) -> a
Source
newtype
Track
a
Source
Constructors
TRACK
unTrack
::
Environment
-> a
Instances
Functor
Track
Sound
(
Track
([]
Stereo
))
Sound
(
Track
([]
Mono
))
Sound
(
Track
Signal
)
playTrack
::
Track
a ->
Play
a
Source
track
::
Trackable
a =>
Play
a ->
Song
(
Track
a)
Source
class
Typeable
a =>
Trackable
a
where
Source
Methods
toNext
:: a -> a
Source
Instances
Trackable
Signal
Typeable
a =>
Trackable
([] a)
Environment
newtype
Environment
Source
Constructors
Environment
(
Int
, [(
Int
, [
Dynamic
])])
emptyEnvironment
::
Environment
Source
nextEnvironment
::
Environment
->
Environment
Source
insertEnvironment
:: [
Dynamic
] ->
Environment
-> (
Environment
->
Dynamic
,
Environment
)
Source
lookupEnvironment
::
Int
->
Environment
->
Dynamic
Source
Duration
data
Duration
Source
Constructors
DURATION
relativeDuration
::
Dur
absoluteDuration
::
Dur
Instances
IsDur
Duration
resetDuration
::
Duration
->
Duration
Source
initDuration
::
Dur
->
Duration
Source
Produced by
Haddock
version 2.4.2