packages feed

boomwhacker 0.0.2 → 0.0.2.1

raw patch · 2 files changed

+18/−10 lines, 2 files

Files

boomwhacker.cabal view
@@ -1,5 +1,5 @@ Name:                boomwhacker-Version:             0.0.2+Version:             0.0.2.1 Synopsis:            Convert MIDI file to play-along boomwhacker animation Description:   Convert MIDI file to play-along boomwhacker animation:@@ -28,7 +28,7 @@   ShakeRules.hs  Source-Repository this-  Tag:         0.0.2+  Tag:         0.0.2.1   Type:        darcs   Location:    https://hub.darcs.net/thielema/boomwhacker @@ -38,17 +38,17 @@  Executable boomwhacker   Build-Depends:-    HPDF >=1.7 && <1.8,-    time >=1.8 && <1.14,+    HPDF >=1.7 && <1.9,+    time >=1.8 && <1.16,     shell-utility >=0.1 && <0.2,-    optparse-applicative >=0.11 && <0.19,+    optparse-applicative >=0.11 && <0.20,     midi >=0.2.2 && <0.3,     event-list >=0.1.3 && <0.2,     non-negative >=0.1.2 && <0.2,     filepath >=1.3 && <1.6,     transformers >=0.3 && <0.7,     non-empty >=0.3.4 && <0.4,-    containers >=0.4 && <0.8,+    containers >=0.4 && <0.9,     array >=0.4 && <0.6,     utility-ht >=0.0.10 && <0.1,     base >=4.5 && <5
src/Main.hs view
@@ -279,10 +279,18 @@ selectTracks [] midi = Right midi selectTracks trackNos (MidiFile.Cons typ division tracks) =    MidiFile.Cons typ division <$>-   let trackMap = IntMap.fromList $ zip [1..] tracks in-   Trav.forM trackNos $ \trackNo ->-      maybe (Left $ printf "track %d not available" trackNo) Right $-      IntMap.lookup trackNo trackMap+   let trackSet = IntSet.fromList trackNos in+   Trav.forM (zip [1..] tracks) $ \(trackNo,track) ->+      Right $+      if IntSet.member trackNo trackSet+      then track+      else EventList.filter isTempoEvent track++isTempoEvent :: MidiEvent.T -> Bool+isTempoEvent ev =+   case ev of+      MidiEvent.MetaEvent (MetaEvent.SetTempo _microsPerQN) -> True+      _ -> False   noteLetters :: [Char]