Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- data Music a
- type Duration = Rational
- type FullPitch = (Pitch, [PitchAttribute])
- type Pitch = (PitchClass, Octave)
- data PitchClass
- data Octave
- data PitchAttribute
- data Dynamic
- data Interval
- data Articulation
- type MusicCore = Music FullPitch
- type AbsPitch = Int
- type Melody = Music Pitch
- type Rhythm = Music ()
- type Harmony = Music Chord
- type Chord = [Pitch]
- type SemiChord = [PitchClass]
- type AbstractChord = [Interval]
- type Scale = [Pitch]
- type SemiScale = [PitchClass]
- type AbstractScale = [Interval]
- class ToMusicCore a where
- class (Eq a, Enum a, Bounded a) => BoundEnum a where
- (<$$>) :: (Duration -> Duration) -> Music a -> Music a
- (<$$$>) :: (Music a -> Music b) -> Music a -> Music b
- (%) :: Integral a => a -> a -> Ratio a
- (//) :: Rational -> Rational -> Int
- class Default a where
- line :: [Music a] -> Music a
- chord :: [Music a] -> Music a
- scale :: [Music a] -> Music a
- parallel :: [Music a] -> Music a
- voices :: Music a -> [Music a]
- notes :: Music a -> [a]
- flatten :: Music (Music a) -> Music a
- harmonyToMelody :: Harmony -> Melody
- absPitch :: Pitch -> AbsPitch
- pitch :: AbsPitch -> Pitch
Types
Functor Music Source # | |
Foldable Music Source # | |
Retrogradable Music a Source # | |
(Show a, Invertible [] a) => Invertible Music a Source # | |
Eq a => Eq (Music a) Source # | |
Show a => Show (Music a) Source # | |
Generic (Music a) Source # | |
Repeatable (Music a) Source # | |
Scalable (Music a) Source # | |
Transposable a => Transposable (Music a) Source # | |
type Rep (Music a) Source # | |
type FullPitch = (Pitch, [PitchAttribute]) Source #
type Pitch = (PitchClass, Octave) Source #
data PitchClass Source #
Bounded PitchClass Source # | |
Enum PitchClass Source # | |
Enum Pitch Source # | |
Enum FullPitch Source # | |
Eq PitchClass Source # | |
Ord PitchClass Source # | |
Show PitchClass Source # | |
Generic PitchClass Source # | |
Default PitchClass Source # | |
ToMusicCore PitchClass Source # | |
ToMusicCore Pitch Source # | |
ToMusicCore FullPitch Source # |
|
Transposable FullPitch Source # | |
Invertible [] Pitch Source # | |
Generatable GenState PitchClass Source # | |
Generatable GenState Pitch Source # | |
Abstract Interval PitchClass PitchClass Source # | |
Expand HarmonyConfig Degree Modulation SemiChord Source # | Expands modulations and intreprets degrees to chords. |
Abstract [Interval] PitchClass [PitchClass] Source # | |
Abstract [Interval] Pitch [Pitch] Source # | |
type Rep PitchClass Source # | |
Bounded Octave Source # | |
Enum Octave Source # | |
Enum Pitch Source # | |
Enum FullPitch Source # | |
Eq Octave Source # | |
Ord Octave Source # | |
Show Octave Source # | |
Generic Octave Source # | |
Default Octave Source # | |
ToMusicCore Pitch Source # | |
ToMusicCore FullPitch Source # |
|
Transposable FullPitch Source # | |
Invertible [] Pitch Source # | |
Generatable GenState Octave Source # | |
Generatable GenState Pitch Source # | |
Abstract [Interval] Pitch [Pitch] Source # | |
type Rep Octave Source # | |
data PitchAttribute Source #
Enum FullPitch Source # | |
Eq PitchAttribute Source # | |
Show PitchAttribute Source # | |
Generic PitchAttribute Source # | |
ToMusicCore FullPitch Source # |
|
Transposable FullPitch Source # | |
type Rep PitchAttribute Source # | |
data Articulation Source #
type SemiChord = [PitchClass] Source #
type AbstractChord = [Interval] Source #
type SemiScale = [PitchClass] Source #
type AbstractScale = [Interval] Source #
Classes
class ToMusicCore a where Source #
To allow playback, exporting to MIDI and rendering scores, all user-defined
abstractions must be convertible to MusicCore
.
toMusicCore :: Music a -> MusicCore Source #
ToMusicCore PitchClass Source # | |
ToMusicCore AbsPitch Source # | |
ToMusicCore Pitch Source # | |
ToMusicCore FullPitch Source # |
|
ToMusicCore Duration Source # | |
ToMusicCore a => ToMusicCore [a] Source # | |
class (Eq a, Enum a, Bounded a) => BoundEnum a where Source #
safeToEnum :: Int -> a Source #
Safely convert from Int
, respecting bounds.
Get next value or min/max if out-of-bounds.
Get previous value or min/max if out-of-bounds.
moveN :: Int -> a -> a Source #
Move n-times forward.
prev_ :: Eq a => a -> a Source #
Variant of prev
that cycles forth to the maximum.
next_ :: Eq a => a -> a Source #
Variant of next
that cycles back to the minimum.
moveN_ :: Eq a => Int -> a -> a Source #
Cycle n-times forward.
Shorthands
A class for types with a default value.
harmonyToMelody :: Harmony -> Melody Source #