Name:                midi-music-box
Version:             0.0.1.1.1
Synopsis:            Convert MIDI file to music box punch tape
Description:
  Convert MIDI file to music box punch tape for this kind of music box:
  <http://www.amazon.de/Spieluhr-Lochstreifen/dp/B001WNZOVO/>
  .
  Run it like so:
  .
  > midi-music-box --output=song.ps song.mid
  .
  @song.mid@ is the input file that must be a MIDI file.
  @song.ps@ is the output file, a PostScript file.
  You can print it with a printer or to a PDF document
  or convert it to many other formats.
  Currently, the output file must always have the @.ps@ filename extension.
  Other formats could be supported by adding more of the @diagrams-*@ packages.
  However, this means you have to alter the program.
  .
  The program will print the following symbols to the stripe:
  .
  * blue dot - correct note that should be punched
  .
  * # - this is a semitone and cannot be played accurately
    (at least on the type of music box I refered to, above)
  .
  * ! - the note is outside the range
  .
  In case of notes outside the stripe you have to adapt the offset.
  You may write
  .
  > midi-music-box --zerokey=72 --output=song.ps song.mid
  .
  in order to make the MIDI note with number 72
  the left-most note on the stripe.
  Default is @--zerokey=60@.
  The number of notes in an octave is 12.
  If you use a zerokey that is a multiple of 12
  then white (piano) keys remain white, and black keys remain black,
  so to speak.
  If zerokey is not a multiple of 12
  then white keys may become black an vice versa.
  Since the music box type considered here only supports white keys,
  I recommend the following:
  If the song is in key X major then lookup the MIDI note number for X
  and choose X plus or minus a multiple of 12 as zerokey.
  If the song has key Y minor, then X=Y+3.
  .
  You find executables for MS Windows in two ZIP archives there:
  .
  * <http://code.henning-thielemann.de/midi-music-box/midi-music-box.zip>
  .
  * <http://code.henning-thielemann.de/midi-music-box/midi-music-box-dll.zip>
Homepage:            http://hub.darcs.net/thielema/midi-music-box
License:             BSD3
License-File:        LICENSE
Author:              Henning Thielemann
Maintainer:          haskell@henning-thielemann.de
Category:            Music, Sound
Build-Type:          Simple
Cabal-Version:       >=1.10

Source-Repository this
  Tag:         0.0.1.1.1
  Type:        darcs
  Location:    http://hub.darcs.net/thielema/midi-music-box

Source-Repository head
  Type:        darcs
  Location:    http://hub.darcs.net/thielema/midi-music-box

Executable midi-music-box
  Default-Language:    Haskell2010
  GHC-Options:         -Wall
  Build-Depends:
    diagrams-postscript >=1.3 && <1.5,
    diagrams-lib >=1.3 && <1.5,
    midi >=0.2.2 && <0.3,
    event-list >=0.1.1 && <0.2,
    optparse-applicative >=0.11 && <0.16,
    containers >=0.4 && <0.7,
    utility-ht >=0.0.10 && <0.1,
    base >=4.5 && <5
  Hs-Source-Dirs:      src
  Main-Is:             Main.hs
  Other-Modules:
    Note