module Music.Prelude.Standard (
module Music.Score,
module Music.Pitch,
module Music.Dynamics,
module Music.Parts,
Note,
asScore,
asVoice,
asTrack,
asNote,
open,
play,
openAndPlay
) where
import Data.Default
import Data.Typeable
import Music.Dynamics
import Music.Parts
import Music.Pitch
import Music.Score hiding (Fifths, Interval, Note, Part,
Pitch, pitch)
import Music.Prelude.Instances ()
asNote :: Note -> Note
asNote = id
asScore :: Score Note -> Score Note
asScore = id
asVoice :: Voice Note -> Voice Note
asVoice = id
asTrack :: Track Note -> Track Note
asTrack = id
type Note = (PartT Part
(TremoloT
(TextT
(ArticulationT
(HarmonicT
(TieT
(SlideT
(DynamicT
(ChordT
StandardPitch)))))))))
type StandardPitch = Music.Pitch.Pitch
open = openLilypond . asScore
play = playMidiIO mempty . asScore
openAndPlay x = open x >> play x