haskore 0.2.0.2 → 0.2.0.3
raw patch · 6 files changed
+113/−52 lines, 6 filesdep ~bytestringdep ~mididep ~processPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: bytestring, midi, process, transformers
API changes (from Hackage documentation)
- Haskore.Basic.Duration: bn :: T
- Haskore.Basic.Duration: dden :: T
- Haskore.Basic.Duration: ddhn :: T
- Haskore.Basic.Duration: ddqn :: T
- Haskore.Basic.Duration: den :: T
- Haskore.Basic.Duration: dhn :: T
- Haskore.Basic.Duration: dotted :: T -> T
- Haskore.Basic.Duration: doubleDotted :: T -> T
- Haskore.Basic.Duration: dqn :: T
- Haskore.Basic.Duration: dsn :: T
- Haskore.Basic.Duration: dtn :: T
- Haskore.Basic.Duration: dwn :: T
- Haskore.Basic.Duration: en :: T
- Haskore.Basic.Duration: hn :: T
- Haskore.Basic.Duration: qn :: T
- Haskore.Basic.Duration: sfn :: T
- Haskore.Basic.Duration: sn :: T
- Haskore.Basic.Duration: tn :: T
- Haskore.Basic.Duration: wn :: T
- Haskore.Basic.Dynamics: f :: Velocity
- Haskore.Basic.Dynamics: ff :: Velocity
- Haskore.Basic.Dynamics: fff :: Velocity
- Haskore.Basic.Dynamics: forte :: Velocity
- Haskore.Basic.Dynamics: forteFortissimo :: Velocity
- Haskore.Basic.Dynamics: fortissimo :: Velocity
- Haskore.Basic.Dynamics: mezzoForte :: Velocity
- Haskore.Basic.Dynamics: mezzoPiano :: Velocity
- Haskore.Basic.Dynamics: mf :: Velocity
- Haskore.Basic.Dynamics: mp :: Velocity
- Haskore.Basic.Dynamics: normal :: Velocity
- Haskore.Basic.Dynamics: p :: Velocity
- Haskore.Basic.Dynamics: pianissimo :: Velocity
- Haskore.Basic.Dynamics: piano :: Velocity
- Haskore.Basic.Dynamics: pianoPianissimo :: Velocity
- Haskore.Basic.Dynamics: pp :: Velocity
- Haskore.Basic.Dynamics: ppp :: Velocity
- Haskore.Basic.Interval: fifth :: Integral a => a
- Haskore.Basic.Interval: fourth :: Integral a => a
- Haskore.Basic.Interval: majorSecond :: Integral a => a
- Haskore.Basic.Interval: majorSeventh :: Integral a => a
- Haskore.Basic.Interval: majorSixth :: Integral a => a
- Haskore.Basic.Interval: majorThird :: Integral a => a
- Haskore.Basic.Interval: minorSecond :: Integral a => a
- Haskore.Basic.Interval: minorSeventh :: Integral a => a
- Haskore.Basic.Interval: minorSixth :: Integral a => a
- Haskore.Basic.Interval: minorThird :: Integral a => a
- Haskore.Basic.Interval: octave :: Integral a => a
- Haskore.Basic.Interval: octaveFifth :: Integral a => a
- Haskore.Basic.Interval: octaveFourth :: Integral a => a
- Haskore.Basic.Interval: octaveMajorSecond :: Integral a => a
- Haskore.Basic.Interval: octaveMajorSeventh :: Integral a => a
- Haskore.Basic.Interval: octaveMajorSixth :: Integral a => a
- Haskore.Basic.Interval: octaveMajorThird :: Integral a => a
- Haskore.Basic.Interval: octaveMinorSecond :: Integral a => a
- Haskore.Basic.Interval: octaveMinorSeventh :: Integral a => a
- Haskore.Basic.Interval: octaveMinorSixth :: Integral a => a
- Haskore.Basic.Interval: octaveMinorThird :: Integral a => a
- Haskore.Basic.Interval: unison :: Integral a => a
- Haskore.Basic.Scale: aeolian :: Class -> T
- Haskore.Basic.Scale: aeolianRel :: Intervals
- Haskore.Basic.Scale: altered :: Class -> T
- Haskore.Basic.Scale: alteredRel :: Intervals
- Haskore.Basic.Scale: dorian :: Class -> T
- Haskore.Basic.Scale: dorianRel :: Intervals
- Haskore.Basic.Scale: htwt :: Class -> T
- Haskore.Basic.Scale: htwtRel :: Intervals
- Haskore.Basic.Scale: ionian :: Class -> T
- Haskore.Basic.Scale: ionianRel :: Intervals
- Haskore.Basic.Scale: lokrian :: Class -> T
- Haskore.Basic.Scale: lokrianRel :: Intervals
- Haskore.Basic.Scale: lydian :: Class -> T
- Haskore.Basic.Scale: lydianRel :: Intervals
- Haskore.Basic.Scale: mixolydian :: Class -> T
- Haskore.Basic.Scale: mixolydianRel :: Intervals
- Haskore.Basic.Scale: phrygian :: Class -> T
- Haskore.Basic.Scale: phrygianRel :: Intervals
- Haskore.Basic.Scale: wtht :: Class -> T
- Haskore.Basic.Scale: wthtRel :: Intervals
- Haskore.Basic.Tempo: adagio :: Fractional a => a
- Haskore.Basic.Tempo: adagioRange :: Fractional a => (a, a)
- Haskore.Basic.Tempo: allegro :: Fractional a => a
- Haskore.Basic.Tempo: allegroRange :: Fractional a => (a, a)
- Haskore.Basic.Tempo: andante :: Fractional a => a
- Haskore.Basic.Tempo: andanteRange :: Fractional a => (a, a)
- Haskore.Basic.Tempo: larghetto :: Fractional a => a
- Haskore.Basic.Tempo: larghettoRange :: Fractional a => (a, a)
- Haskore.Basic.Tempo: largo :: Fractional a => a
- Haskore.Basic.Tempo: largoRange :: Fractional a => (a, a)
- Haskore.Basic.Tempo: moderato :: Fractional a => a
- Haskore.Basic.Tempo: moderatoRange :: Fractional a => (a, a)
- Haskore.Basic.Tempo: pr1 :: T -> T ()
- Haskore.Basic.Tempo: pr2 :: T -> T ()
- Haskore.Basic.Tempo: prestissimo :: Fractional a => a
- Haskore.Basic.Tempo: prestissimoRange :: Fractional a => (a, a)
- Haskore.Basic.Tempo: presto :: Fractional a => a
- Haskore.Basic.Tempo: prestoRange :: Fractional a => (a, a)
- Haskore.Composition.Chord: dominantSeventh :: Inversion -> T note -> [T note]
- Haskore.Composition.Chord: dominantSeventhInt :: [Relative]
- Haskore.Composition.Chord: harmonicGen :: attr -> Dur -> [Dur -> attr -> T attr] -> T attr
- Haskore.Composition.Chord: intervalInvert :: T -> T
- Haskore.Composition.Chord: major :: Inversion -> T note -> [T note]
- Haskore.Composition.Chord: majorInt :: [Relative]
- Haskore.Composition.Chord: majorSeventh :: Inversion -> T note -> [T note]
- Haskore.Composition.Chord: majorSeventhInt :: [Relative]
- Haskore.Composition.Chord: melodicGen :: attr -> Dur -> [Dur -> attr -> T attr] -> T attr
- Haskore.Composition.Chord: minor :: Inversion -> T note -> [T note]
- Haskore.Composition.Chord: minorInt :: [Relative]
- Haskore.Composition.Chord: minorMajorSeventh :: Inversion -> T note -> [T note]
- Haskore.Composition.Chord: minorMajorSeventhInt :: [Relative]
- Haskore.Composition.Chord: minorSeventh :: Inversion -> T note -> [T note]
- Haskore.Composition.Chord: minorSeventhInt :: [Relative]
- Haskore.Composition.Chord: pitchInvert :: T -> T
- Haskore.Composition.Chord: sameInterval :: T -> T -> Bool
- Haskore.Composition.Chord: samePitch :: T -> T -> Bool
- Haskore.Composition.Chord: sustainedFourth :: Inversion -> T note -> [T note]
- Haskore.Composition.Chord: sustainedFourthInt :: [Relative]
- Haskore.Composition.Rhythm: backBeatP :: drum -> T drum instr
- Haskore.Composition.Rhythm: backBeatR :: T
- Haskore.Composition.Rhythm: basicBassDrum :: T
- Haskore.Composition.Rhythm: basicHiHat :: T
- Haskore.Composition.Rhythm: basicSnare :: T
- Haskore.Composition.Rhythm: clave :: T
- Haskore.Composition.Rhythm: clave5 :: T
- Haskore.Composition.Rhythm: clave7 :: T
- Haskore.Composition.Rhythm: claveBossa :: T
- Haskore.Composition.Rhythm: claveBossaP :: drum -> T drum instr
- Haskore.Composition.Rhythm: claveBossaR :: T
- Haskore.Composition.Rhythm: claveP :: drum -> T drum instr
- Haskore.Composition.Rhythm: claveR :: T
- Haskore.Composition.Rhythm: claveRumba :: T
- Haskore.Composition.Rhythm: claveRumbaP :: drum -> T drum instr
- Haskore.Composition.Rhythm: claveRumbaR :: T
- Haskore.Composition.Rhythm: click :: T
- Haskore.Composition.Rhythm: downBeatP :: drum -> T drum instr
- Haskore.Composition.Rhythm: downBeatR :: T
- Haskore.Composition.Rhythm: jazzRideP :: drum -> T drum instr
- Haskore.Composition.Rhythm: jazzRideR :: T
- Haskore.Composition.Rhythm: jazzWaltzHiHatP :: drum -> T drum instr
- Haskore.Composition.Rhythm: jazzWaltzHiHatR :: T
- Haskore.Composition.Rhythm: jazzWaltzRideP :: drum -> T drum instr
- Haskore.Composition.Rhythm: jazzWaltzRideR :: T
- Haskore.Composition.Rhythm: metro5 :: T
- Haskore.Composition.Rhythm: metro7 :: T
- Haskore.Composition.Rhythm: ride :: T
- Haskore.Composition.Rhythm: tickP :: drum -> T drum instr
- Haskore.Composition.Rhythm: tickR :: T
- Haskore.Example.BesondrerTag: bar0 :: T
- Haskore.Example.BesondrerTag: bar1 :: T
- Haskore.Example.BesondrerTag: bass0 :: T
- Haskore.Example.BesondrerTag: bass1 :: T
- Haskore.Example.ChildSong6: b1 :: T
- Haskore.Example.ChildSong6: b2 :: T
- Haskore.Example.ChildSong6: b3 :: T
- Haskore.Example.ChildSong6: bassLine :: T
- Haskore.Example.ChildSong6: mainVoice :: T
- Haskore.Example.ChildSong6: v1 :: T
- Haskore.Example.ChildSong6: v1a :: T
- Haskore.Example.ChildSong6: v1b :: T
- Haskore.Example.ChildSong6: v2 :: T
- Haskore.Example.ChildSong6: v2a :: T
- Haskore.Example.ChildSong6: v2b :: T
- Haskore.Example.ChildSong6: v2c :: T
- Haskore.Example.ChildSong6: v2d :: T
- Haskore.Example.ChildSong6: v2e :: T
- Haskore.Example.ChildSong6: v2f :: T
- Haskore.Example.Flip: core :: T ()
- Haskore.Example.Flip: core1 :: T ()
- Haskore.Example.Flip: core2 :: T
- Haskore.Example.Flip: song :: T ()
- Haskore.Example.Flip: song1 :: T ()
- Haskore.Example.Flip: song2 :: T
- Haskore.Example.Fractal: w0 :: Fractional a => AT a
- Haskore.Example.Fractal: w1 :: Fractional a => AT a
- Haskore.Example.Fractal: w2 :: Fractional a => AT a
- Haskore.Example.Guitar: udp :: UpDownPattern
- Haskore.Example.Guitar: udpInter :: UpDownPattern
- Haskore.Example.Guitar: udpLast :: UpDownPattern
- Haskore.Example.HeilandHimmel: bass0 :: T
- Haskore.Example.HeilandHimmel: bass1 :: T
- Haskore.Example.HeilandHimmel: bass2 :: T
- Haskore.Example.HeilandHimmel: bass3 :: T
- Haskore.Example.HeilandHimmel: melody0 :: T
- Haskore.Example.HeilandHimmel: melody1 :: T
- Haskore.Example.HeilandHimmel: melody2 :: T
- Haskore.Example.HeilandHimmel: melody3 :: T
- Haskore.Example.Miscellaneous: cascade :: T ()
- Haskore.Example.Miscellaneous: cascade' :: T ()
- Haskore.Example.Miscellaneous: cascades :: T ()
- Haskore.Example.Miscellaneous: cascades' :: T ()
- Haskore.Example.Miscellaneous: cms :: T ()
- Haskore.Example.Miscellaneous: cms' :: T ()
- Haskore.Example.Miscellaneous: cs6 :: T
- Haskore.Example.Miscellaneous: flute :: Instrument
- Haskore.Example.Miscellaneous: mu2 :: T
- Haskore.Example.Miscellaneous: piano :: Instrument
- Haskore.Example.Miscellaneous: run :: T ()
- Haskore.Example.Miscellaneous: run' :: T ()
- Haskore.Example.Miscellaneous: ssf0 :: T
- Haskore.Example.Miscellaneous: t0 :: T
- Haskore.Example.Miscellaneous: t1 :: T
- Haskore.Example.Miscellaneous: t10s :: T
- Haskore.Example.Miscellaneous: t12 :: T
- Haskore.Example.Miscellaneous: t12a :: T
- Haskore.Example.Miscellaneous: t13 :: T
- Haskore.Example.Miscellaneous: t13a :: T
- Haskore.Example.Miscellaneous: t13b :: T
- Haskore.Example.Miscellaneous: t13c :: T
- Haskore.Example.Miscellaneous: t13d :: T
- Haskore.Example.Miscellaneous: t13e :: T
- Haskore.Example.Miscellaneous: t14 :: T
- Haskore.Example.Miscellaneous: t14b :: T
- Haskore.Example.Miscellaneous: t14c :: T
- Haskore.Example.Miscellaneous: t14d :: T
- Haskore.Example.Miscellaneous: t2 :: T
- Haskore.Example.Miscellaneous: t3 :: T
- Haskore.Example.Miscellaneous: t4 :: T
- Haskore.Example.Miscellaneous: t5 :: T
- Haskore.Example.Miscellaneous: tc :: FilePath -> IO ()
- Haskore.Example.Miscellaneous: tcb :: FilePath -> IO ()
- Haskore.Example.Miscellaneous: tcd :: FilePath -> IO ()
- Haskore.Example.Miscellaneous: tcdab :: FilePath -> IO ()
- Haskore.Example.Miscellaneous: temp :: T
- Haskore.Example.Miscellaneous: vibes :: Instrument
- Haskore.Example.NewResolutions: back2NR :: T -> T
- Haskore.Example.NewResolutions: bellPart :: T
- Haskore.Example.NewResolutions: bridge :: T
- Haskore.Example.NewResolutions: cMajorScale :: [T]
- Haskore.Example.NewResolutions: dPentMinScale :: [T]
- Haskore.Example.NewResolutions: diddle :: T -> T
- Haskore.Example.NewResolutions: endRun :: T
- Haskore.Example.NewResolutions: ending :: T
- Haskore.Example.NewResolutions: gMajorScale :: [T]
- Haskore.Example.NewResolutions: glock :: Instr
- Haskore.Example.NewResolutions: harmony3 :: T
- Haskore.Example.NewResolutions: majArpegDown :: T -> Dur -> T
- Haskore.Example.NewResolutions: makeSN :: T -> T
- Haskore.Example.NewResolutions: marimba :: Instr
- Haskore.Example.NewResolutions: melPattern :: T
- Haskore.Example.NewResolutions: melody1 :: T
- Haskore.Example.NewResolutions: melody2 :: T
- Haskore.Example.NewResolutions: melody3 :: T
- Haskore.Example.NewResolutions: minArpegDown :: T -> Dur -> T
- Haskore.Example.NewResolutions: minArpegUp :: T -> Dur -> T
- Haskore.Example.NewResolutions: nextNR :: T -> T
- Haskore.Example.NewResolutions: nextNote :: [T] -> T -> T
- Haskore.Example.NewResolutions: part1 :: T
- Haskore.Example.NewResolutions: part2 :: T
- Haskore.Example.NewResolutions: part3 :: T
- Haskore.Example.NewResolutions: pattern :: T
- Haskore.Example.NewResolutions: piano :: Instr
- Haskore.Example.NewResolutions: prevNR :: T -> T
- Haskore.Example.NewResolutions: prevNote :: [T] -> T -> T
- Haskore.Example.NewResolutions: run1 :: T -> Dur -> T
- Haskore.Example.NewResolutions: run2 :: T -> Dur -> T
- Haskore.Example.NewResolutions: run3 :: T -> Dur -> T
- Haskore.Example.NewResolutions: six3ArpegDown :: T -> Dur -> T
- Haskore.Example.NewResolutions: vib :: Instr
- Haskore.Example.NewResolutions: vibeLine3 :: T
- Haskore.Example.NewResolutions: vibePart3 :: T
- Haskore.Example.NewResolutions: vibesLine :: T
- Haskore.Example.NewResolutions: vibesPart :: T
- Haskore.Example.NewResolutions: xylo :: Instr
- Haskore.Example.Raenzlein: refrain :: T
- Haskore.Example.Raenzlein: s1 :: [Generic NoteAttributes]
- Haskore.Example.Raenzlein: s2 :: [Generic NoteAttributes]
- Haskore.Example.Raenzlein: strings :: T
- Haskore.Example.Raenzlein: verse :: T
- Haskore.Example.SelfSim: pat1 :: [SNote]
- Haskore.Example.SelfSim: pat2 :: [SNote]
- Haskore.Example.SelfSim: pat3 :: [SNote]
- Haskore.Example.SelfSim: pat4 :: [SNote]
- Haskore.Example.SelfSim: pat4' :: [SNote]
- Haskore.Example.SelfSim: sim1 :: Int -> T
- Haskore.Example.SelfSim: sim12 :: Int -> T
- Haskore.Example.SelfSim: sim2 :: Int -> T
- Haskore.Example.SelfSim: sim3 :: Int -> T
- Haskore.Example.SelfSim: sim4s :: Int -> T
- Haskore.Example.SelfSim: t10 :: T
- Haskore.Example.SelfSim: t6 :: T
- Haskore.Example.SelfSim: t7 :: T
- Haskore.Example.SelfSim: t8 :: T
- Haskore.Example.SelfSim: t9 :: T
- Haskore.Example.Ssf: m1 :: [T ()]
- Haskore.Example.Ssf: m2 :: [T ()]
- Haskore.Example.Ssf: m3 :: [T ()]
- Haskore.Example.Ssf: m4 :: [T ()]
- Haskore.Example.WhiteChristmas: bassdrum :: Dur -> T
- Haskore.Example.WhiteChristmas: hihat :: Dur -> T
- Haskore.Example.WhiteChristmas: m1 :: T
- Haskore.Example.WhiteChristmas: m2 :: T
- Haskore.Example.WhiteChristmas: m3a :: T
- Haskore.Example.WhiteChristmas: m3b :: T
- Haskore.Example.WhiteChristmas: m4a :: T
- Haskore.Example.WhiteChristmas: m4b :: T
- Haskore.Example.WhiteChristmas: melody :: T
- Haskore.Example.WhiteChristmas: s1 :: [Generic NoteAttributes]
- Haskore.Example.WhiteChristmas: s2 :: [Generic NoteAttributes]
- Haskore.Example.WhiteChristmas: s3 :: [Generic NoteAttributes]
- Haskore.Example.WhiteChristmas: s4a :: [Generic NoteAttributes]
- Haskore.Example.WhiteChristmas: s4b :: [Generic NoteAttributes]
- Haskore.Example.WhiteChristmas: snare :: Dur -> T
- Haskore.Example.WhiteChristmas: strings :: T
- Haskore.Interface.CSound.Orchestra: (&&*) :: Boolean -> Boolean -> Boolean
- Haskore.Interface.CSound.Orchestra: (/=*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
- Haskore.Interface.CSound.Orchestra: (<*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
- Haskore.Interface.CSound.Orchestra: (<=*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
- Haskore.Interface.CSound.Orchestra: (==*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
- Haskore.Interface.CSound.Orchestra: (>*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
- Haskore.Interface.CSound.Orchestra: (>=*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
- Haskore.Interface.CSound.Orchestra: (||*) :: Boolean -> Boolean -> Boolean
- Haskore.Interface.CSound.Orchestra: dbToAmp :: SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: delTap :: DelayLine -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: delTapI :: DelayLine -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: expon :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: exponSeg :: EvalRate -> SigExp -> SigExp -> SigExp -> [(SigExp, SigExp)] -> SigExp
- Haskore.Interface.CSound.Orchestra: fmOsc :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: fmOscI :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: line :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: lineSeg :: EvalRate -> SigExp -> SigExp -> SigExp -> [(SigExp, SigExp)] -> SigExp
- Haskore.Interface.CSound.Orchestra: noteDur :: SigExp
- Haskore.Interface.CSound.Orchestra: notePit :: SigExp
- Haskore.Interface.CSound.Orchestra: noteVel :: SigExp
- Haskore.Interface.CSound.Orchestra: osc :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: oscI :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: p1 :: SigExp
- Haskore.Interface.CSound.Orchestra: p2 :: SigExp
- Haskore.Interface.CSound.Orchestra: p3 :: SigExp
- Haskore.Interface.CSound.Orchestra: p4 :: SigExp
- Haskore.Interface.CSound.Orchestra: p5 :: SigExp
- Haskore.Interface.CSound.Orchestra: p6 :: SigExp
- Haskore.Interface.CSound.Orchestra: p7 :: SigExp
- Haskore.Interface.CSound.Orchestra: p8 :: SigExp
- Haskore.Interface.CSound.Orchestra: p9 :: SigExp
- Haskore.Interface.CSound.Orchestra: pchToHz :: SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: randomH :: EvalRate -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: randomI :: EvalRate -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: tblLookup :: EvalRate -> IndexMode -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Orchestra: tblLookupI :: EvalRate -> IndexMode -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Score: sawtooth :: Table -> Statement
- Haskore.Interface.CSound.Score: simpleSine :: Table -> Statement
- Haskore.Interface.CSound.Score: square :: Table -> Statement
- Haskore.Interface.CSound.Score: triangle :: Table -> Statement
- Haskore.Interface.CSound.Score: whiteNoise :: Table -> Statement
- Haskore.Interface.CSound.Tutorial: cChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.Tutorial: dChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.Tutorial: emChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.Tutorial: flute :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: fluteEnv :: Statement
- Haskore.Interface.CSound.Tutorial: fluteEnvTN :: Table
- Haskore.Interface.CSound.Tutorial: fluteEnvTable :: SigExp
- Haskore.Interface.CSound.Tutorial: fluteOrc :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: fluteScore :: TutOrchestra out -> T
- Haskore.Interface.CSound.Tutorial: fluteWave :: Statement
- Haskore.Interface.CSound.Tutorial: fluteWaveTN :: Table
- Haskore.Interface.CSound.Tutorial: fluteWaveTable :: SigExp
- Haskore.Interface.CSound.Tutorial: gChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.Tutorial: highPass :: EvalRate -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Tutorial: instrNum1 :: Instrument
- Haskore.Interface.CSound.Tutorial: instrNum2 :: Instrument
- Haskore.Interface.CSound.Tutorial: lowPass :: EvalRate -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.Tutorial: o1 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o10 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o11 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o12 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o13 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o14 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o15 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o16 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o17 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o18 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o19 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o2 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o20 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o21 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o22 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o3 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o4 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o5 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o6 :: TutOrchestra Stereo
- Haskore.Interface.CSound.Tutorial: o7 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o8 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: o9 :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: piano :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: pianoEnv :: Statement
- Haskore.Interface.CSound.Tutorial: pianoEnvTN :: Table
- Haskore.Interface.CSound.Tutorial: pianoEnvTable :: SigExp
- Haskore.Interface.CSound.Tutorial: pianoOrc :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: pianoScore :: TutOrchestra out -> T
- Haskore.Interface.CSound.Tutorial: pianoWave :: Statement
- Haskore.Interface.CSound.Tutorial: pianoWaveTN :: Table
- Haskore.Interface.CSound.Tutorial: pianoWaveTable :: SigExp
- Haskore.Interface.CSound.Tutorial: reedy :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: reedyEnv :: Statement
- Haskore.Interface.CSound.Tutorial: reedyEnvTN :: Table
- Haskore.Interface.CSound.Tutorial: reedyEnvTable :: SigExp
- Haskore.Interface.CSound.Tutorial: reedyOrc :: TutOrchestra Mono
- Haskore.Interface.CSound.Tutorial: reedyScore :: TutOrchestra out -> T
- Haskore.Interface.CSound.Tutorial: reedyWave :: Statement
- Haskore.Interface.CSound.Tutorial: reedyWaveTN :: Table
- Haskore.Interface.CSound.Tutorial: reedyWaveTable :: SigExp
- Haskore.Interface.CSound.Tutorial: sawtoothT :: Statement
- Haskore.Interface.CSound.Tutorial: sawtoothTN :: Table
- Haskore.Interface.CSound.Tutorial: score1 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score2 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score3 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score4 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score5 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score6 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score7 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score8 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: score9 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.Tutorial: squareT :: Statement
- Haskore.Interface.CSound.Tutorial: squareTN :: Table
- Haskore.Interface.CSound.Tutorial: triangleT :: Statement
- Haskore.Interface.CSound.Tutorial: triangleTN :: Table
- Haskore.Interface.CSound.Tutorial: tut1 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut10 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut11 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut12 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut13 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut14 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut15 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut16 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut17 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut18 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut19 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut2 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut20 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut21 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut22 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut3 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut4 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut5 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut6 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.Tutorial: tut7 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut8 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: tut9 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.Tutorial: voiceVibWave :: Statement
- Haskore.Interface.CSound.Tutorial: voiceVibWaveTN :: Table
- Haskore.Interface.CSound.Tutorial: voiceVibWaveTable :: SigExp
- Haskore.Interface.CSound.Tutorial: voiceWave :: Statement
- Haskore.Interface.CSound.Tutorial: voiceWaveTN :: Table
- Haskore.Interface.CSound.Tutorial: voiceWaveTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: cChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.TutorialCustom: dChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.TutorialCustom: emChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.TutorialCustom: flute :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: fluteEnv :: Statement
- Haskore.Interface.CSound.TutorialCustom: fluteEnvTN :: Table
- Haskore.Interface.CSound.TutorialCustom: fluteEnvTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: fluteOrc :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: fluteScore :: TutOrchestra out -> T
- Haskore.Interface.CSound.TutorialCustom: fluteWave :: Statement
- Haskore.Interface.CSound.TutorialCustom: fluteWaveTN :: Table
- Haskore.Interface.CSound.TutorialCustom: fluteWaveTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: gChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
- Haskore.Interface.CSound.TutorialCustom: highPass :: EvalRate -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.TutorialCustom: instrNum1 :: Instrument
- Haskore.Interface.CSound.TutorialCustom: instrNum2 :: Instrument
- Haskore.Interface.CSound.TutorialCustom: lowPass :: EvalRate -> SigExp -> SigExp -> SigExp
- Haskore.Interface.CSound.TutorialCustom: o1 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o10 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o11 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o12 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o13 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o14 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o15 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o16 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o17 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o18 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o19 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o2 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o20 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o21 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o22 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o3 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o4 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o5 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o6 :: TutOrchestra Stereo
- Haskore.Interface.CSound.TutorialCustom: o7 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o8 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: o9 :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: piano :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: pianoEnv :: Statement
- Haskore.Interface.CSound.TutorialCustom: pianoEnvTN :: Table
- Haskore.Interface.CSound.TutorialCustom: pianoEnvTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: pianoOrc :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: pianoScore :: TutOrchestra out -> T
- Haskore.Interface.CSound.TutorialCustom: pianoWave :: Statement
- Haskore.Interface.CSound.TutorialCustom: pianoWaveTN :: Table
- Haskore.Interface.CSound.TutorialCustom: pianoWaveTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: reedy :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: reedyEnv :: Statement
- Haskore.Interface.CSound.TutorialCustom: reedyEnvTN :: Table
- Haskore.Interface.CSound.TutorialCustom: reedyEnvTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: reedyOrc :: TutOrchestra Mono
- Haskore.Interface.CSound.TutorialCustom: reedyScore :: TutOrchestra out -> T
- Haskore.Interface.CSound.TutorialCustom: reedyWave :: Statement
- Haskore.Interface.CSound.TutorialCustom: reedyWaveTN :: Table
- Haskore.Interface.CSound.TutorialCustom: reedyWaveTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: sawtoothT :: Statement
- Haskore.Interface.CSound.TutorialCustom: sawtoothTN :: Table
- Haskore.Interface.CSound.TutorialCustom: score1 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score2 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score3 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score4 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score5 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score6 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score7 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score8 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: score9 :: TutOrchestra out -> [Statement]
- Haskore.Interface.CSound.TutorialCustom: squareT :: Statement
- Haskore.Interface.CSound.TutorialCustom: squareTN :: Table
- Haskore.Interface.CSound.TutorialCustom: triangleT :: Statement
- Haskore.Interface.CSound.TutorialCustom: triangleTN :: Table
- Haskore.Interface.CSound.TutorialCustom: tut1 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut10 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut11 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut12 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut13 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut14 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut15 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut16 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut17 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut18 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut19 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut2 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut20 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut21 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut22 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut3 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut4 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut5 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut6 :: (Name, T, TutOrchestra Stereo)
- Haskore.Interface.CSound.TutorialCustom: tut7 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut8 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: tut9 :: (Name, T, TutOrchestra Mono)
- Haskore.Interface.CSound.TutorialCustom: voiceVibWave :: Statement
- Haskore.Interface.CSound.TutorialCustom: voiceVibWaveTN :: Table
- Haskore.Interface.CSound.TutorialCustom: voiceVibWaveTable :: SigExp
- Haskore.Interface.CSound.TutorialCustom: voiceWave :: Statement
- Haskore.Interface.CSound.TutorialCustom: voiceWaveTN :: Table
- Haskore.Interface.CSound.TutorialCustom: voiceWaveTable :: SigExp
- Haskore.Interface.MIDI.Render: playAlsa :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playLinux :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playTimidity :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playTimidityJack :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playWin95 :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playWinNT :: T -> IO ExitCode
- Haskore.Interface.MIDI.Write: fromGMMusic :: (C time, RealFrac time, RealFrac dyn) => (ChannelTable Instr, T time dyn Note, T) -> T
- Haskore.Interface.MIDI.Write: fromGMMusicAuto :: (C time, RealFrac time, RealFrac dyn) => (T time dyn Note, T) -> T
- Haskore.Interface.MIDI.Write: fromGMMusicMixed :: (C time, RealFrac time, RealFrac dyn) => (ChannelTable Instr, T time dyn Note, T) -> T
- Haskore.Interface.MIDI.Write: fromGMMusicMixedAuto :: (C time, RealFrac time, RealFrac dyn) => (T time dyn Note, T) -> T
- Haskore.Interface.MIDI.Write: fromRhythmicMusic :: (C time, RealFrac time, RealFrac dyn, Ord drum, Ord instr) => (ChannelProgramPitchTable drum, ChannelProgramTable instr, T time dyn (Note drum instr), T drum instr) -> T
- Haskore.Interface.MIDI.Write: fromRhythmicMusicMixed :: (C time, RealFrac time, RealFrac dyn, Ord drum, Ord instr) => (ChannelProgramPitchTable drum, ChannelProgramTable instr, T time dyn (Note drum instr), T drum instr) -> T
- Haskore.Melody: a :: Octave -> T -> attr -> T attr
- Haskore.Melody: af :: Octave -> T -> attr -> T attr
- Haskore.Melody: as :: Octave -> T -> attr -> T attr
- Haskore.Melody: b :: Octave -> T -> attr -> T attr
- Haskore.Melody: bf :: Octave -> T -> attr -> T attr
- Haskore.Melody: bs :: Octave -> T -> attr -> T attr
- Haskore.Melody: c :: Octave -> T -> attr -> T attr
- Haskore.Melody: cMajArp :: T ()
- Haskore.Melody: cMajChd :: T ()
- Haskore.Melody: cf :: Octave -> T -> attr -> T attr
- Haskore.Melody: cs :: Octave -> T -> attr -> T attr
- Haskore.Melody: d :: Octave -> T -> attr -> T attr
- Haskore.Melody: df :: Octave -> T -> attr -> T attr
- Haskore.Melody: ds :: Octave -> T -> attr -> T attr
- Haskore.Melody: e :: Octave -> T -> attr -> T attr
- Haskore.Melody: ef :: Octave -> T -> attr -> T attr
- Haskore.Melody: es :: Octave -> T -> attr -> T attr
- Haskore.Melody: f :: Octave -> T -> attr -> T attr
- Haskore.Melody: ff :: Octave -> T -> attr -> T attr
- Haskore.Melody: fs :: Octave -> T -> attr -> T attr
- Haskore.Melody: g :: Octave -> T -> attr -> T attr
- Haskore.Melody: gf :: Octave -> T -> attr -> T attr
- Haskore.Melody: gs :: Octave -> T -> attr -> T attr
- Haskore.Melody: invert :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
- Haskore.Melody: invertRetro :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
- Haskore.Melody: retro :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
- Haskore.Melody: retroInvert :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
- Haskore.Melody.Standard: a :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: af :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: as :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: b :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: bf :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: bs :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: c :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: cf :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: cs :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: d :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: df :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: ds :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: e :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: ef :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: es :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: f :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: ff :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: fs :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: g :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: gf :: Octave -> T -> attr -> T attr
- Haskore.Melody.Standard: gs :: Octave -> T -> attr -> T attr
- Haskore.Music: (+:+) :: T note -> T note -> T note
- Haskore.Music: (=:=) :: T note -> T note -> T note
- Haskore.Music: accelerando :: Rational -> T note -> T note
- Haskore.Music: accent :: Rational -> T note -> T note
- Haskore.Music: bigAccent :: T note -> T note
- Haskore.Music: bnr :: T note
- Haskore.Music: chord :: [T note] -> T note
- Haskore.Music: crescendo :: Rational -> T note -> T note
- Haskore.Music: ddenr :: T note
- Haskore.Music: ddhnr :: T note
- Haskore.Music: ddqnr :: T note
- Haskore.Music: defltAccent :: T note -> T note
- Haskore.Music: defltLegato :: T note -> T note
- Haskore.Music: defltStaccato :: T note -> T note
- Haskore.Music: denr :: T note
- Haskore.Music: dhnr :: T note
- Haskore.Music: diminuendo :: Rational -> T note -> T note
- Haskore.Music: dqnr :: T note
- Haskore.Music: dsnr :: T note
- Haskore.Music: dtnr :: T note
- Haskore.Music: dwnr :: T note
- Haskore.Music: enr :: T note
- Haskore.Music: hnr :: T note
- Haskore.Music: legato :: Dur -> T note -> T note
- Haskore.Music: line :: [T note] -> T note
- Haskore.Music: loudness1 :: Rational -> T note -> T note
- Haskore.Music: qnr :: T note
- Haskore.Music: ritardando :: Rational -> T note -> T note
- Haskore.Music: sfnr :: T note
- Haskore.Music: snr :: T note
- Haskore.Music: staccato :: Dur -> T note -> T note
- Haskore.Music: tnr :: T note
- Haskore.Music: wnr :: T note
- Haskore.Music.GeneralMIDI: (+:+) :: T note -> T note -> T note
- Haskore.Music.GeneralMIDI: (=:=) :: T note -> T note -> T note
- Haskore.Music.GeneralMIDI: accelerando :: Rational -> T note -> T note
- Haskore.Music.GeneralMIDI: accent :: Rational -> T note -> T note
- Haskore.Music.GeneralMIDI: bigAccent :: T note -> T note
- Haskore.Music.GeneralMIDI: bn :: T
- Haskore.Music.GeneralMIDI: bnr :: T note
- Haskore.Music.GeneralMIDI: chord :: [T note] -> T note
- Haskore.Music.GeneralMIDI: crescendo :: Rational -> T note -> T note
- Haskore.Music.GeneralMIDI: dden :: T
- Haskore.Music.GeneralMIDI: ddenr :: T note
- Haskore.Music.GeneralMIDI: ddhn :: T
- Haskore.Music.GeneralMIDI: ddhnr :: T note
- Haskore.Music.GeneralMIDI: ddqn :: T
- Haskore.Music.GeneralMIDI: ddqnr :: T note
- Haskore.Music.GeneralMIDI: defltAccent :: T note -> T note
- Haskore.Music.GeneralMIDI: defltLegato :: T note -> T note
- Haskore.Music.GeneralMIDI: defltStaccato :: T note -> T note
- Haskore.Music.GeneralMIDI: den :: T
- Haskore.Music.GeneralMIDI: denr :: T note
- Haskore.Music.GeneralMIDI: dhn :: T
- Haskore.Music.GeneralMIDI: dhnr :: T note
- Haskore.Music.GeneralMIDI: diminuendo :: Rational -> T note -> T note
- Haskore.Music.GeneralMIDI: dqn :: T
- Haskore.Music.GeneralMIDI: dqnr :: T note
- Haskore.Music.GeneralMIDI: dsn :: T
- Haskore.Music.GeneralMIDI: dsnr :: T note
- Haskore.Music.GeneralMIDI: dtn :: T
- Haskore.Music.GeneralMIDI: dtnr :: T note
- Haskore.Music.GeneralMIDI: dwn :: T
- Haskore.Music.GeneralMIDI: dwnr :: T note
- Haskore.Music.GeneralMIDI: en :: T
- Haskore.Music.GeneralMIDI: enr :: T note
- Haskore.Music.GeneralMIDI: hn :: T
- Haskore.Music.GeneralMIDI: hnr :: T note
- Haskore.Music.GeneralMIDI: legato :: Dur -> T note -> T note
- Haskore.Music.GeneralMIDI: line :: [T note] -> T note
- Haskore.Music.GeneralMIDI: loudness1 :: Rational -> T note -> T note
- Haskore.Music.GeneralMIDI: qn :: T
- Haskore.Music.GeneralMIDI: qnr :: T note
- Haskore.Music.GeneralMIDI: ritardando :: Rational -> T note -> T note
- Haskore.Music.GeneralMIDI: sfn :: T
- Haskore.Music.GeneralMIDI: sfnr :: T note
- Haskore.Music.GeneralMIDI: sn :: T
- Haskore.Music.GeneralMIDI: snr :: T note
- Haskore.Music.GeneralMIDI: staccato :: Dur -> T note -> T note
- Haskore.Music.GeneralMIDI: tn :: T
- Haskore.Music.GeneralMIDI: tnr :: T note
- Haskore.Music.GeneralMIDI: wn :: T
- Haskore.Music.GeneralMIDI: wnr :: T note
- Haskore.Music.Rhythmic: (+:+) :: T note -> T note -> T note
- Haskore.Music.Rhythmic: (=:=) :: T note -> T note -> T note
- Haskore.Music.Rhythmic: accelerando :: Rational -> T note -> T note
- Haskore.Music.Rhythmic: accent :: Rational -> T note -> T note
- Haskore.Music.Rhythmic: bigAccent :: T note -> T note
- Haskore.Music.Rhythmic: bn :: T
- Haskore.Music.Rhythmic: bnr :: T note
- Haskore.Music.Rhythmic: chord :: [T note] -> T note
- Haskore.Music.Rhythmic: crescendo :: Rational -> T note -> T note
- Haskore.Music.Rhythmic: dden :: T
- Haskore.Music.Rhythmic: ddenr :: T note
- Haskore.Music.Rhythmic: ddhn :: T
- Haskore.Music.Rhythmic: ddhnr :: T note
- Haskore.Music.Rhythmic: ddqn :: T
- Haskore.Music.Rhythmic: ddqnr :: T note
- Haskore.Music.Rhythmic: defltAccent :: T note -> T note
- Haskore.Music.Rhythmic: defltLegato :: T note -> T note
- Haskore.Music.Rhythmic: defltStaccato :: T note -> T note
- Haskore.Music.Rhythmic: den :: T
- Haskore.Music.Rhythmic: denr :: T note
- Haskore.Music.Rhythmic: dhn :: T
- Haskore.Music.Rhythmic: dhnr :: T note
- Haskore.Music.Rhythmic: diminuendo :: Rational -> T note -> T note
- Haskore.Music.Rhythmic: dqn :: T
- Haskore.Music.Rhythmic: dqnr :: T note
- Haskore.Music.Rhythmic: dsn :: T
- Haskore.Music.Rhythmic: dsnr :: T note
- Haskore.Music.Rhythmic: dtn :: T
- Haskore.Music.Rhythmic: dtnr :: T note
- Haskore.Music.Rhythmic: dwn :: T
- Haskore.Music.Rhythmic: dwnr :: T note
- Haskore.Music.Rhythmic: en :: T
- Haskore.Music.Rhythmic: enr :: T note
- Haskore.Music.Rhythmic: hn :: T
- Haskore.Music.Rhythmic: hnr :: T note
- Haskore.Music.Rhythmic: legato :: Dur -> T note -> T note
- Haskore.Music.Rhythmic: line :: [T note] -> T note
- Haskore.Music.Rhythmic: loudness1 :: Rational -> T note -> T note
- Haskore.Music.Rhythmic: qn :: T
- Haskore.Music.Rhythmic: qnr :: T note
- Haskore.Music.Rhythmic: ritardando :: Rational -> T note -> T note
- Haskore.Music.Rhythmic: sfn :: T
- Haskore.Music.Rhythmic: sfnr :: T note
- Haskore.Music.Rhythmic: sn :: T
- Haskore.Music.Rhythmic: snr :: T note
- Haskore.Music.Rhythmic: staccato :: Dur -> T note -> T note
- Haskore.Music.Rhythmic: tn :: T
- Haskore.Music.Rhythmic: tnr :: T note
- Haskore.Music.Rhythmic: wn :: T
- Haskore.Music.Rhythmic: wnr :: T note
- Haskore.Music.Standard: (+:+) :: T note -> T note -> T note
- Haskore.Music.Standard: (=:=) :: T note -> T note -> T note
- Haskore.Music.Standard: accelerando :: Rational -> T note -> T note
- Haskore.Music.Standard: accent :: Rational -> T note -> T note
- Haskore.Music.Standard: bigAccent :: T note -> T note
- Haskore.Music.Standard: bn :: T
- Haskore.Music.Standard: bnr :: T note
- Haskore.Music.Standard: chord :: [T note] -> T note
- Haskore.Music.Standard: crescendo :: Rational -> T note -> T note
- Haskore.Music.Standard: dden :: T
- Haskore.Music.Standard: ddenr :: T note
- Haskore.Music.Standard: ddhn :: T
- Haskore.Music.Standard: ddhnr :: T note
- Haskore.Music.Standard: ddqn :: T
- Haskore.Music.Standard: ddqnr :: T note
- Haskore.Music.Standard: defltAccent :: T note -> T note
- Haskore.Music.Standard: defltLegato :: T note -> T note
- Haskore.Music.Standard: defltStaccato :: T note -> T note
- Haskore.Music.Standard: den :: T
- Haskore.Music.Standard: denr :: T note
- Haskore.Music.Standard: dhn :: T
- Haskore.Music.Standard: dhnr :: T note
- Haskore.Music.Standard: diminuendo :: Rational -> T note -> T note
- Haskore.Music.Standard: dqn :: T
- Haskore.Music.Standard: dqnr :: T note
- Haskore.Music.Standard: dsn :: T
- Haskore.Music.Standard: dsnr :: T note
- Haskore.Music.Standard: dtn :: T
- Haskore.Music.Standard: dtnr :: T note
- Haskore.Music.Standard: dwn :: T
- Haskore.Music.Standard: dwnr :: T note
- Haskore.Music.Standard: en :: T
- Haskore.Music.Standard: enr :: T note
- Haskore.Music.Standard: hn :: T
- Haskore.Music.Standard: hnr :: T note
- Haskore.Music.Standard: legato :: Dur -> T note -> T note
- Haskore.Music.Standard: line :: [T note] -> T note
- Haskore.Music.Standard: loudness1 :: Rational -> T note -> T note
- Haskore.Music.Standard: qn :: T
- Haskore.Music.Standard: qnr :: T note
- Haskore.Music.Standard: ritardando :: Rational -> T note -> T note
- Haskore.Music.Standard: sfn :: T
- Haskore.Music.Standard: sfnr :: T note
- Haskore.Music.Standard: sn :: T
- Haskore.Music.Standard: snr :: T note
- Haskore.Music.Standard: staccato :: Dur -> T note -> T note
- Haskore.Music.Standard: tn :: T
- Haskore.Music.Standard: tnr :: T note
- Haskore.Music.Standard: wn :: T
- Haskore.Music.Standard: wnr :: T note
- Haskore.Performance.Player: legatoAbs :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
- Haskore.Performance.Player: legatoRel :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
- Haskore.Performance.Player: slurredAbs :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
- Haskore.Performance.Player: slurredRel :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
- Haskore.Performance.Player: staccatoAbs :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
- Haskore.Performance.Player: staccatoRel :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
- Haskore.Process.Optimization: all :: T note -> T note
- Haskore.Process.Optimization: composition :: T note -> T note
- Haskore.Process.Optimization: duration :: T note -> T note
- Haskore.Process.Optimization: mergeControl :: (Control -> Maybe a) -> (a -> T note -> T note) -> (a -> a -> a) -> T note -> T note
- Haskore.Process.Optimization: mergeControlCompact :: (Control -> Maybe a) -> (a -> T note -> T note) -> (a -> a -> a) -> T note -> T note
- Haskore.Process.Optimization: rest :: T note -> T note
- Haskore.Process.Optimization: tempo :: T note -> T note
- Haskore.Process.Optimization: transpose :: T note -> T note
- Haskore.Process.Optimization: volume :: T note -> T note
- Medium: (+:+) :: Construct medium => medium a -> medium a -> medium a
- Medium: (=:=) :: Construct medium => medium a -> medium a -> medium a
- Medium: parallel :: (Construct medium, C a) => [medium a] -> medium a
- Medium: parallel1 :: Construct medium => [medium a] -> medium a
- Medium: serial :: (Construct medium, C a) => [medium a] -> medium a
- Medium: serial1 :: Construct medium => [medium a] -> medium a
- Medium.Controlled.List: parallel :: [T control a] -> T control a
- Medium.Controlled.List: parallelToList :: T control a -> [T control a]
- Medium.Controlled.List: serial :: [T control a] -> T control a
- Medium.Controlled.List: serialToList :: T control a -> [T control a]
- Medium.LabeledControlled.List: parallelLabel :: Label label => [T label control content] -> T label control content
- Medium.LabeledControlled.List: parallelToList :: T label control a -> [T label control a]
- Medium.LabeledControlled.List: serialLabel :: Label label => [T label control content] -> T label control content
- Medium.LabeledControlled.List: serialToList :: T label control a -> [T label control a]
- Medium.Plain.Binary: parallelS :: T a -> [T a] -> [T a]
- Medium.Plain.Binary: serialS :: T a -> [T a] -> [T a]
- Medium.Plain.List: parallelToList :: T a -> [T a]
- Medium.Plain.List: serialToList :: T a -> [T a]
+ Haskore.Basic.Duration: bn, sfn, tn, sn, en, qn, hn, wn :: T
+ Haskore.Basic.Duration: ddhn, dden, ddqn :: T
+ Haskore.Basic.Duration: dotted, doubleDotted :: T -> T
+ Haskore.Basic.Duration: dwn, dtn, dsn, den, dqn, dhn :: T
+ Haskore.Basic.Dynamics: normal, forteFortissimo, fortissimo, forte, mezzoForte, pianoPianissimo, pianissimo, piano, mezzoPiano, fff, ff, f, mf, ppp, pp, p, mp :: Velocity
+ Haskore.Basic.Interval: unison, octaveMajorSeventh, octaveMinorSeventh, octaveMajorSixth, octaveMinorSixth, octaveFifth, octaveFourth, octaveMajorThird, octaveMinorThird, octaveMajorSecond, octaveMinorSecond, octave, majorSeventh, minorSeventh, majorSixth, minorSixth, fifth, fourth, majorThird, minorThird, majorSecond, minorSecond :: Integral a => a
+ Haskore.Basic.Scale: ionian, wtht, htwt, altered, lokrian, aeolian, mixolydian, lydian, phrygian, dorian :: Class -> T
+ Haskore.Basic.Scale: ionianRel, wthtRel, htwtRel, alteredRel, lokrianRel, aeolianRel, mixolydianRel, lydianRel, phrygianRel, dorianRel :: Intervals
+ Haskore.Basic.Tempo: largo, prestissimo, presto, allegro, moderato, andante, adagio, larghetto :: Fractional a => a
+ Haskore.Basic.Tempo: largoRange, prestissimoRange, prestoRange, allegroRange, moderatoRange, andanteRange, adagioRange, larghettoRange :: Fractional a => (a, a)
+ Haskore.Basic.Tempo: pr1, pr2 :: T -> T ()
+ Haskore.Composition.Chord: major, sustainedFourth, minorMajorSeventh, dominantSeventh, minorSeventh, majorSeventh, minor :: Inversion -> T note -> [T note]
+ Haskore.Composition.Chord: majorInt, sustainedFourthInt, minorMajorSeventhInt, dominantSeventhInt, minorSeventhInt, majorSeventhInt, minorInt :: [Relative]
+ Haskore.Composition.Chord: melodicGen, harmonicGen :: attr -> Dur -> [Dur -> attr -> T attr] -> T attr
+ Haskore.Composition.Chord: pitchInvert, intervalInvert :: T -> T
+ Haskore.Composition.Chord: samePitch, sameInterval :: T -> T -> Bool
+ Haskore.Composition.Rhythm: click, ride, basicHiHat, basicSnare, basicBassDrum, metro7, metro5, claveBossa, claveRumba, clave :: T
+ Haskore.Composition.Rhythm: tickP, backBeatP, downBeatP, jazzWaltzHiHatP, jazzWaltzRideP, jazzRideP, claveBossaP, claveRumbaP, claveP :: drum -> T drum instr
+ Haskore.Composition.Rhythm: tickR, jazzWaltzHiHatR, jazzWaltzRideR, jazzRideR, clave7, clave5, claveBossaR, claveRumbaR, claveR, backBeatR, downBeatR :: T
+ Haskore.Example.BesondrerTag: bar0, bass1, bass0, bar1 :: T
+ Haskore.Example.ChildSong6: b1, b3, b2 :: T
+ Haskore.Example.ChildSong6: bassLine, mainVoice :: T
+ Haskore.Example.ChildSong6: v1, v1b, v1a :: T
+ Haskore.Example.ChildSong6: v2, v2f, v2e, v2d, v2c, v2b, v2a :: T
+ Haskore.Example.Flip: song, core1, core, song1 :: T ()
+ Haskore.Example.Flip: song2, core2 :: T
+ Haskore.Example.Fractal: w0, w2, w1 :: Fractional a => AT a
+ Haskore.Example.Guitar: udp, udpLast, udpInter :: UpDownPattern
+ Haskore.Example.HeilandHimmel: melody0, bass3, bass2, bass1, bass0, melody3, melody2, melody1 :: T
+ Haskore.Example.Miscellaneous: cms', cms :: T ()
+ Haskore.Example.Miscellaneous: piano, flute, vibes :: Instrument
+ Haskore.Example.Miscellaneous: run', cascades', cascade' :: T ()
+ Haskore.Example.Miscellaneous: run, cascades, cascade :: T ()
+ Haskore.Example.Miscellaneous: t0, ssf0, cs6, t14d, t14c, t14b, t14, t13e, t13d, t13c, t13b, t13a, t13, t12a, t12, t10s, t5, t4, t3, t2, t1 :: T
+ Haskore.Example.Miscellaneous: tcb, tcdab, tcd, tc :: FilePath -> IO ()
+ Haskore.Example.Miscellaneous: temp, mu2 :: T
+ Haskore.Example.NewResolutions: cMajorScale, dPentMinScale, gMajorScale :: [T]
+ Haskore.Example.NewResolutions: makeSN, diddle :: T -> T
+ Haskore.Example.NewResolutions: minArpegUp, six3ArpegDown, majArpegDown, minArpegDown :: T -> Dur -> T
+ Haskore.Example.NewResolutions: nextNR, back2NR, prevNR :: T -> T
+ Haskore.Example.NewResolutions: part1, harmony3, ending, bridge, part3, part2 :: T
+ Haskore.Example.NewResolutions: pattern, endRun, melody3, vibePart3, vibeLine3, melody2, vibesPart, vibesLine, bellPart, melody1, melPattern :: T
+ Haskore.Example.NewResolutions: piano, glock, vib, xylo, marimba :: Instr
+ Haskore.Example.NewResolutions: prevNote, nextNote :: [T] -> T -> T
+ Haskore.Example.NewResolutions: run1, run3, run2 :: T -> Dur -> T
+ Haskore.Example.Raenzlein: s1, s2 :: [Generic NoteAttributes]
+ Haskore.Example.Raenzlein: verse, strings, refrain :: T
+ Haskore.Example.SelfSim: pat1, pat4', pat4, pat3, pat2 :: [SNote]
+ Haskore.Example.SelfSim: sim1, sim4s, sim3, sim12, sim2 :: Int -> T
+ Haskore.Example.SelfSim: t6, t10, t9, t8, t7 :: T
+ Haskore.Example.Ssf: m1, m4, m3, m2 :: [T ()]
+ Haskore.Example.WhiteChristmas: bassdrum, hihat, snare :: Dur -> T
+ Haskore.Example.WhiteChristmas: m1, m4b, m3b, m4a, m3a, m2 :: T
+ Haskore.Example.WhiteChristmas: melody, strings :: T
+ Haskore.Example.WhiteChristmas: s1, s4b, s4a, s3, s2 :: [Generic NoteAttributes]
+ Haskore.Interface.CSound.Orchestra: (&&*, ||*) :: Boolean -> Boolean -> Boolean
+ Haskore.Interface.CSound.Orchestra: (<*, /=*, ==*, >=*, >*, <=*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
+ Haskore.Interface.CSound.Orchestra: delTap, delTapI :: DelayLine -> SigExp -> SigExp
+ Haskore.Interface.CSound.Orchestra: fmOsc, fmOscI :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
+ Haskore.Interface.CSound.Orchestra: line, expon :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
+ Haskore.Interface.CSound.Orchestra: lineSeg, exponSeg :: EvalRate -> SigExp -> SigExp -> SigExp -> [(SigExp, SigExp)] -> SigExp
+ Haskore.Interface.CSound.Orchestra: noteDur, noteVel, notePit :: SigExp
+ Haskore.Interface.CSound.Orchestra: osc, oscI :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
+ Haskore.Interface.CSound.Orchestra: p1, p9, p8, p7, p6, p5, p4, p3, p2 :: SigExp
+ Haskore.Interface.CSound.Orchestra: pchToHz, dbToAmp :: SigExp -> SigExp
+ Haskore.Interface.CSound.Orchestra: randomH, randomI :: EvalRate -> SigExp -> SigExp -> SigExp
+ Haskore.Interface.CSound.Orchestra: tblLookup, tblLookupI :: EvalRate -> IndexMode -> SigExp -> SigExp -> SigExp
+ Haskore.Interface.CSound.Score: simpleSine, whiteNoise, triangle, sawtooth, square :: Table -> Statement
+ Haskore.Interface.CSound.Tutorial: emChord, dChord, gChord, cChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
+ Haskore.Interface.CSound.Tutorial: instrNum1, instrNum2 :: Instrument
+ Haskore.Interface.CSound.Tutorial: lowPass, highPass :: EvalRate -> SigExp -> SigExp -> SigExp
+ Haskore.Interface.CSound.Tutorial: o1, o22, o19, o15, o14, o13, o9, o8, o7, o4, o3, o2 :: TutOrchestra Mono
+ Haskore.Interface.CSound.Tutorial: o5, o21, o20, o18, o17, o16, o12, o11, o10, o6 :: TutOrchestra Stereo
+ Haskore.Interface.CSound.Tutorial: piano, flute, reedy :: (Name, T, TutOrchestra Mono)
+ Haskore.Interface.CSound.Tutorial: pianoEnv, fluteWave, reedyWave, pianoWave, fluteEnv, reedyEnv :: Statement
+ Haskore.Interface.CSound.Tutorial: pianoEnvTN, fluteWaveTN, reedyWaveTN, pianoWaveTN, fluteEnvTN, reedyEnvTN :: Table
+ Haskore.Interface.CSound.Tutorial: pianoEnvTable, fluteWaveTable, reedyWaveTable, pianoWaveTable, fluteEnvTable, reedyEnvTable :: SigExp
+ Haskore.Interface.CSound.Tutorial: pianoOrc, fluteOrc, reedyOrc :: TutOrchestra Mono
+ Haskore.Interface.CSound.Tutorial: pianoScore, fluteScore, reedyScore :: TutOrchestra out -> T
+ Haskore.Interface.CSound.Tutorial: score1, score9, score8, score7, score6, score5, score4, score3, score2 :: TutOrchestra out -> [Statement]
+ Haskore.Interface.CSound.Tutorial: triangleT, sawtoothT, squareT :: Statement
+ Haskore.Interface.CSound.Tutorial: triangleTN, sawtoothTN, squareTN :: Table
+ Haskore.Interface.CSound.Tutorial: tut1, tut22, tut19, tut15, tut14, tut13, tut9, tut8, tut7, tut4, tut3, tut2 :: (Name, T, TutOrchestra Mono)
+ Haskore.Interface.CSound.Tutorial: tut5, tut21, tut20, tut18, tut17, tut16, tut12, tut11, tut10, tut6 :: (Name, T, TutOrchestra Stereo)
+ Haskore.Interface.CSound.Tutorial: voiceVibWaveTN, voiceWaveTN :: Table
+ Haskore.Interface.CSound.Tutorial: voiceVibWaveTable, voiceWaveTable :: SigExp
+ Haskore.Interface.CSound.Tutorial: voiceWave, voiceVibWave :: Statement
+ Haskore.Interface.CSound.TutorialCustom: emChord, dChord, gChord, cChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
+ Haskore.Interface.CSound.TutorialCustom: instrNum1, instrNum2 :: Instrument
+ Haskore.Interface.CSound.TutorialCustom: lowPass, highPass :: EvalRate -> SigExp -> SigExp -> SigExp
+ Haskore.Interface.CSound.TutorialCustom: o1, o22, o19, o15, o14, o13, o9, o8, o7, o4, o3, o2 :: TutOrchestra Mono
+ Haskore.Interface.CSound.TutorialCustom: o5, o21, o20, o18, o17, o16, o12, o11, o10, o6 :: TutOrchestra Stereo
+ Haskore.Interface.CSound.TutorialCustom: piano, flute, reedy :: (Name, T, TutOrchestra Mono)
+ Haskore.Interface.CSound.TutorialCustom: pianoEnv, fluteWave, reedyWave, pianoWave, fluteEnv, reedyEnv :: Statement
+ Haskore.Interface.CSound.TutorialCustom: pianoEnvTN, fluteWaveTN, reedyWaveTN, pianoWaveTN, fluteEnvTN, reedyEnvTN :: Table
+ Haskore.Interface.CSound.TutorialCustom: pianoEnvTable, fluteWaveTable, reedyWaveTable, pianoWaveTable, fluteEnvTable, reedyEnvTable :: SigExp
+ Haskore.Interface.CSound.TutorialCustom: pianoOrc, fluteOrc, reedyOrc :: TutOrchestra Mono
+ Haskore.Interface.CSound.TutorialCustom: pianoScore, fluteScore, reedyScore :: TutOrchestra out -> T
+ Haskore.Interface.CSound.TutorialCustom: score1, score9, score8, score7, score6, score5, score4, score3, score2 :: TutOrchestra out -> [Statement]
+ Haskore.Interface.CSound.TutorialCustom: triangleT, sawtoothT, squareT :: Statement
+ Haskore.Interface.CSound.TutorialCustom: triangleTN, sawtoothTN, squareTN :: Table
+ Haskore.Interface.CSound.TutorialCustom: tut1, tut22, tut19, tut15, tut14, tut13, tut9, tut8, tut7, tut4, tut3, tut2 :: (Name, T, TutOrchestra Mono)
+ Haskore.Interface.CSound.TutorialCustom: tut5, tut21, tut20, tut18, tut17, tut16, tut12, tut11, tut10, tut6 :: (Name, T, TutOrchestra Stereo)
+ Haskore.Interface.CSound.TutorialCustom: voiceVibWaveTN, voiceWaveTN :: Table
+ Haskore.Interface.CSound.TutorialCustom: voiceVibWaveTable, voiceWaveTable :: SigExp
+ Haskore.Interface.CSound.TutorialCustom: voiceWave, voiceVibWave :: Statement
+ Haskore.Interface.MIDI.Render: playWin95, playTimidityJack, playTimidity, playAlsa, playLinux, playWinNT :: T -> IO ExitCode
+ Haskore.Interface.MIDI.Write: fromGMMusic, fromGMMusicMixed :: (C time, RealFrac time, RealFrac dyn) => (ChannelTable Instr, T time dyn Note, T) -> T
+ Haskore.Interface.MIDI.Write: fromGMMusicAuto, fromGMMusicMixedAuto :: (C time, RealFrac time, RealFrac dyn) => (T time dyn Note, T) -> T
+ Haskore.Interface.MIDI.Write: fromRhythmicMusic, fromRhythmicMusicMixed :: (C time, RealFrac time, RealFrac dyn, Ord drum, Ord instr) => (ChannelProgramPitchTable drum, ChannelProgramTable instr, T time dyn (Note drum instr), T drum instr) -> T
+ Haskore.Melody: cMajArp, cMajChd :: T ()
+ Haskore.Melody: cf, bs, b, bf, as, a, af, gs, g, gf, fs, f, ff, es, e, ef, ds, d, df, cs, c :: Octave -> T -> attr -> T attr
+ Haskore.Melody: retro, invertRetro, retroInvert, invert :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
+ Haskore.Melody.Standard: cf, bs, b, bf, as, a, af, gs, g, gf, fs, f, ff, es, e, ef, ds, d, df, cs, c :: Octave -> T -> attr -> T attr
+ Haskore.Music: (+:+, =:=) :: T note -> T note -> T note
+ Haskore.Music: accent, accelerando, ritardando, loudness1, diminuendo, crescendo :: Rational -> T note -> T note
+ Haskore.Music: bnr, sfnr, tnr, snr, enr, qnr, hnr, wnr :: T note
+ Haskore.Music: ddhnr, ddenr, ddqnr :: T note
+ Haskore.Music: defltLegato, bigAccent, defltAccent, defltStaccato :: T note -> T note
+ Haskore.Music: dwnr, dtnr, dsnr, denr, dqnr, dhnr :: T note
+ Haskore.Music: line, chord :: [T note] -> T note
+ Haskore.Music: staccato, legato :: Dur -> T note -> T note
+ Haskore.Music.GeneralMIDI: (+:+, =:=) :: T note -> T note -> T note
+ Haskore.Music.GeneralMIDI: accent, accelerando, ritardando, loudness1, diminuendo, crescendo :: Rational -> T note -> T note
+ Haskore.Music.GeneralMIDI: bn, sfn, tn, sn, en, qn, hn, wn :: T
+ Haskore.Music.GeneralMIDI: bnr, sfnr, tnr, snr, enr, qnr, hnr, wnr :: T note
+ Haskore.Music.GeneralMIDI: ddhn, dden, ddqn :: T
+ Haskore.Music.GeneralMIDI: ddhnr, ddenr, ddqnr :: T note
+ Haskore.Music.GeneralMIDI: defltLegato, bigAccent, defltAccent, defltStaccato :: T note -> T note
+ Haskore.Music.GeneralMIDI: dwn, dtn, dsn, den, dqn, dhn :: T
+ Haskore.Music.GeneralMIDI: dwnr, dtnr, dsnr, denr, dqnr, dhnr :: T note
+ Haskore.Music.GeneralMIDI: line, chord :: [T note] -> T note
+ Haskore.Music.GeneralMIDI: staccato, legato :: Dur -> T note -> T note
+ Haskore.Music.Rhythmic: (+:+, =:=) :: T note -> T note -> T note
+ Haskore.Music.Rhythmic: accent, accelerando, ritardando, loudness1, diminuendo, crescendo :: Rational -> T note -> T note
+ Haskore.Music.Rhythmic: bn, sfn, tn, sn, en, qn, hn, wn :: T
+ Haskore.Music.Rhythmic: bnr, sfnr, tnr, snr, enr, qnr, hnr, wnr :: T note
+ Haskore.Music.Rhythmic: ddhn, dden, ddqn :: T
+ Haskore.Music.Rhythmic: ddhnr, ddenr, ddqnr :: T note
+ Haskore.Music.Rhythmic: defltLegato, bigAccent, defltAccent, defltStaccato :: T note -> T note
+ Haskore.Music.Rhythmic: dwn, dtn, dsn, den, dqn, dhn :: T
+ Haskore.Music.Rhythmic: dwnr, dtnr, dsnr, denr, dqnr, dhnr :: T note
+ Haskore.Music.Rhythmic: line, chord :: [T note] -> T note
+ Haskore.Music.Rhythmic: staccato, legato :: Dur -> T note -> T note
+ Haskore.Music.Standard: (+:+, =:=) :: T note -> T note -> T note
+ Haskore.Music.Standard: accent, accelerando, ritardando, loudness1, diminuendo, crescendo :: Rational -> T note -> T note
+ Haskore.Music.Standard: bn, sfn, tn, sn, en, qn, hn, wn :: T
+ Haskore.Music.Standard: bnr, sfnr, tnr, snr, enr, qnr, hnr, wnr :: T note
+ Haskore.Music.Standard: ddhn, dden, ddqn :: T
+ Haskore.Music.Standard: ddhnr, ddenr, ddqnr :: T note
+ Haskore.Music.Standard: defltLegato, bigAccent, defltAccent, defltStaccato :: T note -> T note
+ Haskore.Music.Standard: dwn, dtn, dsn, den, dqn, dhn :: T
+ Haskore.Music.Standard: dwnr, dtnr, dsnr, denr, dqnr, dhnr :: T note
+ Haskore.Music.Standard: line, chord :: [T note] -> T note
+ Haskore.Music.Standard: staccato, legato :: Dur -> T note -> T note
+ Haskore.Performance.Player: staccatoAbs, slurredAbs, legatoAbs :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
+ Haskore.Performance.Player: staccatoRel, slurredRel, legatoRel :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
+ Haskore.Process.Optimization: all, volume, transpose, tempo, duration, composition, rest :: T note -> T note
+ Haskore.Process.Optimization: mergeControl, mergeControlCompact :: (Control -> Maybe a) -> (a -> T note -> T note) -> (a -> a -> a) -> T note -> T note
+ Medium: (+:+, =:=) :: Construct medium => medium a -> medium a -> medium a
+ Medium: serial, parallel :: (Construct medium, C a) => [medium a] -> medium a
+ Medium: serial1, parallel1 :: Construct medium => [medium a] -> medium a
+ Medium.Controlled.List: serial, parallel :: [T control a] -> T control a
+ Medium.Controlled.List: serialToList, parallelToList :: T control a -> [T control a]
+ Medium.LabeledControlled.List: serialLabel, parallelLabel :: Label label => [T label control content] -> T label control content
+ Medium.LabeledControlled.List: serialToList, parallelToList :: T label control a -> [T label control a]
+ Medium.Plain.Binary: serialS, parallelS :: T a -> [T a] -> [T a]
+ Medium.Plain.List: serialToList, parallelToList :: T a -> [T a]
- Haskore.Example.SelfSim: fringe :: Num a => a -> Cluster -> [SNote]
+ Haskore.Example.SelfSim: fringe :: (Num a, Eq a) => a -> Cluster -> [SNote]
- Haskore.Example.SelfSim: simFringe :: Num a => a -> Pat -> [SNote]
+ Haskore.Example.SelfSim: simFringe :: (Num a, Eq a) => a -> Pat -> [SNote]
Files
- haskore.cabal +6/−6
- src/Haskore/Example/SelfSim.lhs +2/−2
- src/Haskore/Interface/MIDI/Note.lhs +5/−3
- src/Haskore/Interface/MIDI/Read.lhs +19/−25
- src/Haskore/Interface/MIDI/Write.lhs +9/−3
- src/Test/Suite.lhs +72/−13
haskore.cabal view
@@ -1,5 +1,5 @@ Name: haskore-Version: 0.2.0.2+Version: 0.2.0.3 License: GPL License-File: LICENSE Author: Paul Hudak <paul.hudak@yale.edu>, Henning Thielemann@@ -39,7 +39,7 @@ Source-Repository this type: darcs location: http://code.haskell.org/haskore/revised/core- tag: 0.2.0.2+ tag: 0.2.0.3 Flag splitBase description: Choose the new smaller, split-up base package.@@ -51,13 +51,13 @@ Library Build-Depends: markov-chain >=0.0.1 && <0.1,- midi >=0.1.1 && <0.2,+ midi >=0.2 && <0.3, event-list >=0.1 && <0.2, non-negative >=0.1 && <0.2, data-accessor >=0.2 && <0.3, utility-ht >=0.0.3 && <0.1,- transformers >=0.0.1 && <0.3,- bytestring >=0.9 && <0.10,+ transformers >=0.0.1 && <0.4,+ bytestring >=0.9 && <0.11, haskell-src >=1.0 && <1.1, parsec >=2.1 && <3.2 @@ -67,7 +67,7 @@ array >=0.1 && <1.0, containers >=0.1 && <1.0, random >=1.0 && <2.0,- process >=1.0 && <1.1+ process >=1.0 && <1.2 Else Build-Depends: base >= 1.0 && < 2,
src/Haskore/Example/SelfSim.lhs view
@@ -31,10 +31,10 @@ > addmult pds iss = zipWith addmult' pds iss > where addmult' (p,d) (i,s) = (p+i,d*s) >-> simFringe :: (Num a) => a -> Pat -> [SNote]+> simFringe :: (Num a, Eq a) => a -> Pat -> [SNote] > simFringe n pat = fringe n (Cl [(0,0)] (sim pat)) >-> fringe :: (Num a) => a -> Cluster -> [SNote]+> fringe :: (Num a, Eq a) => a -> Cluster -> [SNote] > fringe 0 (Cl n _) = [n] > fringe m (Cl _ cls) = concatMap (fringe (m-1)) cls >
src/Haskore/Interface/MIDI/Note.lhs view
@@ -92,8 +92,9 @@ > dyn -> Rational -> Voice.Velocity > velocityFromStd dyn vel = > Voice.toVelocity $-> round (limit (0, Voice.maximumVelocity)-> (dyn * fromRational vel * Voice.normalVelocity))+> round (limit (0, fromIntegral (Voice.fromVelocity Voice.maximumVelocity))+> (dyn * fromRational vel *+> fromIntegral (Voice.fromVelocity Voice.normalVelocity))) > pitchFromStd :: Pitch.Relative -> Pitch.T -> Voice.Pitch > pitchFromStd trans p =@@ -146,7 +147,8 @@ > velocityToStd :: Fractional a => Voice.Velocity -> a > velocityToStd x =-> fromIntegral (Voice.fromVelocity x) / Voice.normalVelocity+> fromIntegral (Voice.fromVelocity x) /+> fromIntegral (Voice.fromVelocity Voice.normalVelocity) > pitchToStd :: Voice.Pitch -> Pitch.T > pitchToStd p = Pitch.fromInt (Voice.subtractPitch Voice.zeroKey p)
src/Haskore/Interface/MIDI/Read.lhs view
@@ -18,7 +18,7 @@ > import qualified Sound.MIDI.Message.Channel.Voice as Voice > import qualified Sound.MIDI.General as GeneralMidi > import Sound.MIDI.File.Event (T(MIDIEvent, MetaEvent), )-> import Sound.MIDI.File.Event.Meta (T(SetTempo), defltST, defltDurT, )+> import Sound.MIDI.File.Event.Meta (T(SetTempo), defltTempo, ) > import Sound.MIDI.Message.Channel (Body(Voice), Channel, ) > import Sound.MIDI.Message.Channel.Voice (Program, ) >@@ -86,14 +86,14 @@ > Context.T time dyn note > context = > Context.setPlayer DefltPf.player $-> Context.setDur 1 $+> Context.setDur 2 $ > DefltPf.context > retrieveTracks :: MidiFile.T -> [[MidiMusic.T]] > retrieveTracks (MidiFile.Cons _ d trks) = > let cpm = makeCPM trks > in map (map (Music.mapNote MidiNote.toGMNote-> . readTrack (tDiv d) cpm . fst)+> . readTrack (MidiFile.ticksPerQuarterNote d) cpm . fst) > . prepareTrack) trks > type ChannelProgramMap = Map ChannelMsg.Channel Voice.Program@@ -102,13 +102,13 @@ > Division -> ChannelProgramMap -> Track -> Music.T MidiNote.T > readFullTrack dv cpm = > let readTempoTrack (t,r) =-> changeTempo r (readTrack (tDiv dv) cpm t)+> changeTempo r (readTrack (MidiFile.ticksPerQuarterNote dv) cpm t) > in Optimization.all . line . map readTempoTrack . prepareTrack > prepareTrack :: Track -> [(RichTrack, DurRatio)] > prepareTrack =-> map (extractTempo defltST) . segmentBeforeSetTempo .-> mergeNotes defltST . moveTempoToHead+> map (extractTempo defltTempo) . segmentBeforeSetTempo .+> mergeNotes defltTempo . moveTempoToHead \end{haskelllisting} @@ -145,15 +145,6 @@ \end{haskelllisting} -Translate \code{Divisions} into the number of ticks per quarter note.-\begin{haskelllisting}--> tDiv :: Division -> Tempo-> tDiv (Ticks x) = x-> tDiv (SMPTE _ _) = error "Sorry, SMPTE not yet implemented."--\end{haskelllisting}- \code{moveTempoToHead} gets the information that occurs at the beginning of the piece: the default tempo and the default key signature. A \code{SetTempo} in the middle of the piece@@ -177,7 +168,7 @@ > getHeadTempo :: Track -> (Tempo, Track) > getHeadTempo es = > maybe-> (defltST, es)+> (defltTempo, es) > (\ ~(me,rest) -> > case me of > MetaEvent (SetTempo tempo) -> (tempo, rest)@@ -244,28 +235,31 @@ > readTrack :: Tempo -> ChannelProgramMap -> > RichTrack -> Music.T MidiNote.T-> readTrack ticks cpm =-> PfBE.toMusic . trackTimeToStd ticks+> readTrack ticksPerQN cpm =+> PfBE.toMusic . trackTimeToStd ticksPerQN > . richTrackToBE . applyProgChanges cpm \end{haskelllisting} -Take the division in ticks and a duration value and+Take the division in ticks per quarterNote and+a duration value in number of ticks and converts that to a common note duration (such as quarter note, eighth note, etc.). \begin{haskelllisting} > fromTicks :: Tempo -> ElapsedTime -> Dur-> fromTicks ticks d =-> toInteger d %+ (toInteger ticks * toInteger defltDurT)+> fromTicks ticksPerQN d =+> toInteger d %+ (toInteger ticksPerQN * quarter) - d %+ (fromIntegral ticks * defltDurT))+> quarter :: Integer+> quarter = 4 > trackTimeToStd :: Tempo -> > PfBE.T ElapsedTime note -> PfBE.T Dur note-> trackTimeToStd ticks =-> TimeList.mapBody (\(PfBE.Event d n) -> PfBE.Event (fromTicks ticks d) n)-> . TimeList.mapTime (fromTicks ticks)+> trackTimeToStd ticksPerQN =+> TimeList.mapBody+> (\(PfBE.Event d n) -> PfBE.Event (fromTicks ticksPerQN d) n)+> . TimeList.mapTime (fromTicks ticksPerQN) \end{haskelllisting}
src/Haskore/Interface/MIDI/Write.lhs view
@@ -309,7 +309,13 @@ with this order of execution it may be that notes with equal duration can have slightly different durations in the MIDI file. On the other hand-small rests between notes or small overlappings are avoided.+small rests between notes or small overlappings are avoided.%+\footnote{It would be better to define \code{rate = 4*division},+since this would map a quarter note to \code{division} ticks,+as stated by the MIDI File specification.+For compensation \code{SetTempo} could be set to 250000,+meaning a quarter second per quarter note,+or one second per whole note.} We manage a \module{Map} which stores the active program number of each MIDI channel.@@ -335,7 +341,7 @@ > setTempo :: (MidiFile.ElapsedTime, MidiFileEvent.T) > setTempo = > (0, MidiFileEvent.MetaEvent-> (MetaEvent.SetTempo MetaEvent.defltST))+> (MetaEvent.SetTempo MetaEvent.defltTempo)) > > getChanProg :: MidiNote.T -> (ChannelMsg.Channel, Voice.Program) > getChanProg note = (MidiNote.channel note, MidiNote.program note)@@ -364,7 +370,7 @@ > > rate :: (Num a) => a > rate = 2 * fromIntegral division-> -- ^ compensate defltDurT+> -- ^ would be correctly 4 and the setTempo should be 250000 \end{haskelllisting}
src/Test/Suite.lhs view
@@ -61,8 +61,11 @@ > import qualified Sound.MIDI.File as MidiFile > import qualified Sound.MIDI.File.Save as SaveMidi > import qualified Sound.MIDI.File.Load as LoadMidi-> import qualified Sound.MIDI.General as GeneralMidi > import qualified Sound.MIDI.Parser.Report as MidiReport+> import qualified Sound.MIDI.File.Event as MidiEvent+> import qualified Sound.MIDI.File.Event.Meta as MetaEvent+> import qualified Sound.MIDI.Message.Channel as ChannelMsg+> import qualified Sound.MIDI.Message.Channel.Voice as VoiceMsg > import qualified Haskore.Interface.CSound.Orchestra as CSOrchestra > import qualified Haskore.Interface.CSound.Score as CSScore@@ -83,11 +86,11 @@ > import qualified Test.QuickCheck.Batch as QCB > import qualified Test.HUnit as HUnit > import qualified Test.HUnit.Text as HUnitText-> import System.Random (Random, ) > import qualified Data.Accessor.Basic as Accessor > import System.Cmd (system, )+> import qualified System.Exit as Exit > import qualified Data.ByteString.Lazy as B import Debug.Trace (trace)@@ -255,7 +258,8 @@ > testReadMidiPure :: MidiFile.T -> HUnit.Assertion > testReadMidiPure midiFile = > do-> diffIA (MidiFile.showLines (MidiFile.sortEvents midiFile))+> _ <- diffIA+> (MidiFile.showLines (MidiFile.sortEvents midiFile)) > (MidiFile.showLines (MidiFile.sortEvents > (writeMusic (ReadMidi.toGMMusic midiFile)))) > HUnit.assertEqual@@ -264,10 +268,60 @@ > (MidiFile.sortEvents (writeMusic (ReadMidi.toGMMusic midiFile))) > setInstrMidi :: MidiFile.T-> setInstrMidi = (Render.generalMidi-> (MidiMusic.fromMelodyNullAttr MidiMusic.Marimba (c 0 qn ()) +:+-> MidiMusic.fromMelodyNullAttr MidiMusic.Xylophone (e 0 qn ())))+> setInstrMidi =+> Render.generalMidi $+> MidiMusic.fromMelodyNullAttr MidiMusic.Marimba (c 0 qn ()) +:++> MidiMusic.fromMelodyNullAttr MidiMusic.Xylophone (e 0 qn ()) +> midiPitch :: Int -> VoiceMsg.Pitch+> midiPitch = VoiceMsg.toPitch++> channel :: Int -> ChannelMsg.Channel+> channel = ChannelMsg.toChannel++> vel :: VoiceMsg.Velocity+> vel = VoiceMsg.normalVelocity++> voiceMsg :: VoiceMsg.T -> MidiEvent.T+> voiceMsg msg =+> MidiEvent.MIDIEvent $ ChannelMsg.Cons (channel 0) $+> ChannelMsg.Voice $ msg++> noteOn :: VoiceMsg.Pitch -> MidiEvent.T+> noteOn p =+> voiceMsg $ VoiceMsg.NoteOn p vel++> noteOff :: VoiceMsg.Pitch -> MidiEvent.T+> noteOff p =+> voiceMsg $ VoiceMsg.NoteOff p vel++> program :: VoiceMsg.Program -> MidiEvent.T+> program pgm =+> voiceMsg $ VoiceMsg.ProgramChange pgm++> setTempo :: NonNegW.Int -> MidiEvent.T+> setTempo = MidiEvent.MetaEvent . MetaEvent.SetTempo++> setTempoMidi :: MidiFile.T+> setTempoMidi =+> MidiFile.Cons MidiFile.Mixed (MidiFile.Ticks 12)+> [TimeList.cons 0 (program (VoiceMsg.toProgram 0)) $+> TimeList.cons 0 (setTempo 1000000) $+> TimeList.cons 0 (noteOn (midiPitch 60)) $+> TimeList.cons 12 (noteOff (midiPitch 60)) $+> TimeList.cons 0 (setTempo 500000) $+> TimeList.cons 0 (noteOn (midiPitch 60)) $+> TimeList.cons 24 (noteOff (midiPitch 60)) $+> TimeList.cons 0 (setTempo 2000000) $+> TimeList.cons 0 (noteOn (midiPitch 60)) $+> TimeList.cons 12 (noteOff (midiPitch 60)) $+> TimeList.empty]++> setTempoMusic ::+> (InstrMap.ChannelTable MidiMusic.Instrument,+> Context.T NonNegW.Float Float MidiMusic.Note, MidiMusic.T)+> setTempoMusic = ReadMidi.toGMMusic setTempoMidi+ The velocities of the original tests were too strong. MIDI spec says that a non-velocity-sensitive instrument gets velocity value 64.@@ -408,11 +462,11 @@ > scoName = csoundDir++name++".sco" > in do > origOrchestra <- readFile orcName-> diffIA (sortLines origOrchestra)-> (sortLines $ CSOrchestra.toString newOrchestra)+> _ <- diffIA (sortLines origOrchestra)+> (sortLines $ CSOrchestra.toString newOrchestra) > origScore <- readFile scoName-> diffIA (sortLines origScore)-> (sortLines $ CSScore.toString newScore)+> _ <- diffIA (sortLines origScore)+> (sortLines $ CSScore.toString newScore) > return () Compare with several files former versions have produced.@@ -947,9 +1001,14 @@ > "song = MidiMusic.fromStdMelody MidiMusic.AcousticGrandPiano $ " ++ > MusicFormat.prettyMelody > (StdMelody.fromMelodyNullAttr ctrlMusic)])-> if False-> then system ("echo 'main\n:q' | hugs -98 -P"++hugsPath++" GeneratedTest")-> else system ("ghc -e main -i"++hugsPath++" GeneratedTest")+> exitCode <-+> if False+> then system ("echo 'main\n:q' | hugs -98 -P"++hugsPath++" GeneratedTest")+> else system ("ghc -e main -i"++hugsPath++" GeneratedTest")+> HUnit.assertEqual+> "running Haskell interpreter"+> exitCode+> Exit.ExitSuccess > midi <- B.readFile "test.mid" > let expectedMidi = > SaveMidi.toByteString (Render.generalMidi (withPiano ctrlMusic))