diff --git a/midi.cabal b/midi.cabal
--- a/midi.cabal
+++ b/midi.cabal
@@ -1,5 +1,5 @@
 Name:             midi
-Version:          0.2.2.4
+Version:          0.2.2.5
 License:          GPL
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -30,16 +30,16 @@
 Source-Repository this
   type:     darcs
   location: https://hub.darcs.net/thielema/midi/
-  tag:      0.2.2.4
+  tag:      0.2.2.5
 
 Library
   Build-Depends:
     event-list >=0.0.9 && <0.2,
     non-negative >=0.0.1 && <0.2,
-    semigroups >=0.1 && <1.0,
+    semigroups >=0.1 && <1,
     utility-ht >=0.0.10 && <0.1,
     explicit-exception >=0.1 && <0.3,
-    bytestring >=0.9.0.1 && <0.12,
+    bytestring >=0.9.0.1 && <0.13,
     binary >=0.4.2 && <0.11,
     transformers >=0.2 && <0.7,
     monoid-transformer >=0.0.4 && <0.1,
diff --git a/src/Sound/MIDI/File.hs b/src/Sound/MIDI/File.hs
--- a/src/Sound/MIDI/File.hs
+++ b/src/Sound/MIDI/File.hs
@@ -134,8 +134,14 @@
       Serial   -> EventList.concat tracks
 
 {- |
-Process and remove all @SetTempo@ events.
+Process and remove all 'MetaEvent.SetTempo' events.
 The result is an event list where the times are measured in seconds.
+
+Counterintuitively,
+a 'MetaEvent.SetTempo' event sets the tempo for @all@ tracks.
+This is important for Type-1 MIDI files (@Parallel@ tracks).
+Thus you should apply 'secondsFromTicks' to the result of 'mergeTracks'
+and not vice versa.
 -}
 secondsFromTicks ::
    Division ->
diff --git a/src/Sound/MIDI/IO.hs b/src/Sound/MIDI/IO.hs
--- a/src/Sound/MIDI/IO.hs
+++ b/src/Sound/MIDI/IO.hs
@@ -15,6 +15,7 @@
 type ByteList = [Word8]
 
 {- |
+FixMe:
 Hugs makes trouble here because it performs UTF-8 conversions.
 E.g. @[255]@ is output as @[195,191]@
 It would be easy to replace these routines by FastPackedString(fps).ByteList.Lazy,
