packages feed

hmidi-0.1: hmidi.cabal

Name:                hmidi
Version:             0.1
Synopsis:            Binding to the OS level MIDI services
Description:         Partial implementation of the MIDI 1.0 standard to communicate 
                     with physical or virtual MIDI devices, eg. MIDI keyboards. 
                     Supported operating systems are Mac OS X and Win32 (not tested
                     under Leopard and Vista). See also the alsa-midi library for similar
                     function under Linux. Please note that there was no effort made (yet) to
                     be compatible with the other existing Haskell MIDI libraries. 
License:             BSD3
License-file:        LICENSE
Author:              Balazs Komuves
Copyright:           (c) 2008 Balazs Komuves
Maintainer:          bkomuves+hmidi@gmail.com
Stability:           Unstable
Category:            Sound, System
Tested-With:         GHC == 6.8.2
Cabal-Version:       >= 1.2
Build-Type:          Simple
extra-source-files:  examples/monitor.hs, examples/chords.hs, examples/playmidi.hs, 
                     examples/SMF.hs, examples/GM.hs  

Flag NoNoteOff
  Description:           Translates NoteOff events to NoteOn events with velocity=0.
  Default:               False

Library

  Build-Depends:       base
  Exposed-Modules:     System.MIDI.Base, System.MIDI
  
  if os(darwin)
    Exposed-Modules:     System.MacOSX.CoreFoundation, System.MacOSX.CoreAudio, System.MacOSX.CoreMIDI 
    other-modules:       System.MIDI.MacOSX
    frameworks:          CoreFoundation, CoreAudio, CoreMIDI
    
  if os(windows) 
    Build-Depends:       Win32
    Exposed-Modules:     System.Win32.MIDI
    other-modules:       System.MIDI.Win32    
    extra-libraries:     winmm

  -- this is just to be able to produce a Haddock documentation on a Linux system
  if !os(darwin) && !os(windows)
    other-modules:       System.MIDI.Placeholder
    
  Extensions:            ForeignFunctionInterface, CPP, TypeSynonymInstances, FlexibleInstances, EmptyDataDecls
  ghc-options:         -threaded 
  if flag(NoNoteOff)
    cpp-options:           -DHMIDI_NO_NOTEOFF