| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Music.Types
- 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
Constructors
| (Music a) :+: (Music a) infixr 4 | |
| (Music a) :=: (Music a) infixr 4 | |
| Note Duration a | |
| Rest Duration |
Instances
| 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 #
Instances
| 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 # | |
Instances
| 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 #
Constructors
| Dynamic Dynamic | |
| Articulation Articulation |
Instances
| Enum FullPitch Source # | |
| Eq PitchAttribute Source # | |
| Show PitchAttribute Source # | |
| Generic PitchAttribute Source # | |
| ToMusicCore FullPitch Source # |
|
| Transposable FullPitch Source # | |
| type Rep PitchAttribute Source # | |
Constructors
| P1 | |
| Mi2 | |
| M2 | |
| Mi3 | |
| M3 | |
| P4 | |
| A4 | |
| P5 | |
| Mi6 | |
| M6 | |
| Mi7 | |
| M7 | |
| P8 | |
| Mi9 | |
| M9 | |
| A9 | |
| M10 | |
| P11 | |
| A11 | |
| P12 | |
| Mi13 | |
| M13 | |
| Mi14 | |
| M14 | |
| P15 |
Instances
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.
Minimal complete definition
Methods
toMusicCore :: Music a -> MusicCore Source #
Instances
| 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 #
Methods
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.
Instances
harmonyToMelody :: Harmony -> Melody Source #