A common instance of Music.T. > module Haskore.Music.GeneralMIDI > (T, Note, NoteBody, Instr, > RhyMusic.velocity, RhyMusic.body, > RhyMusic.instrument, RhyMusic.pitch, RhyMusic.drum, > RhyMusic.noteFromStdMelodyNote, > fromStdMelody, fromMelodyNullAttr, > > GM.Instrument(..), GM.Drum(..), > toProgram, toChannel, > > bn, wn, hn, qn, en, sn, tn, sfn, > dwn, dhn, dqn, den, dsn, dtn, > ddhn, ddqn, dden, > bnr, wnr, hnr, qnr, enr, snr, tnr, sfnr, > dwnr, dhnr, dqnr, denr, dsnr, dtnr, > ddhnr, ddqnr, ddenr, > line, chord, changeTempo, transpose, phrase, > (Music.+:+), (Music.=:=), Dur, > > PhraseAttribute(..), Dynamic(..), > Tempo(..), Articulation(..), Ornament(..), NoteHead(..), > accent, crescendo, diminuendo, loudness1, > ritardando, accelerando, staccato, legato, > defltLegato, defltStaccato, > defltAccent, bigAccent) where > import qualified Sound.MIDI.General as GM > import Sound.MIDI.Message.Channel (toChannel, toProgram, ) > import Haskore.Basic.Duration hiding (T) > import Haskore.Music as Music hiding (T) > import qualified Haskore.Music.Rhythmic as RhyMusic > import qualified Haskore.Melody as Melody > import qualified Haskore.Melody.Standard as StdMelody > type Instr = GM.Instrument > type Drum = GM.Drum > type Note = RhyMusic.Note Drum Instr > type NoteBody = RhyMusic.NoteBody Drum Instr > type T = RhyMusic.T Drum Instr > -- | in contrast to RhyMusic.fromStdMelody it has fixed instrument type > fromStdMelody :: Instr -> StdMelody.T -> T > fromStdMelody = RhyMusic.fromStdMelody > fromMelodyNullAttr :: Instr -> Melody.T () -> T > fromMelodyNullAttr = RhyMusic.fromMelodyNullAttr