packages feed

hmidi-0.2.3.1: hmidi.cabal

Cabal-Version:       2.0
Name:                hmidi
Version:             0.2.3.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 and synths. 
                     Supported operating systems are MacOS and Windows.
                     See also the @alsa-midi@ library for similar functionality 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-2020 Balazs Komuves
Maintainer:          bkomuves (plus) hackage (at) gmail (dot) com
Homepage:            http://moire.be/haskell/
Stability:           Experimental
Category:            Music, System
Tested-With:         GHC == 8.6.5
Build-Type:          Simple

extra-source-files:  README.md,
                     examples/monitor.hs, 
                     examples/chords.hs, 
                     examples/playmidi.hs, 
                     examples/SMF.hs, 
                     examples/GM.hs  
                     examples/osx_host.hs

source-repository head
  type:      darcs
  location:  https://hub.darcs.net/bkomuves/hmidi

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

Library
  Build-depends:       base >= 3 && <= 5, stm
  
  Exposed-Modules:     System.MIDI.Base, 
                       System.MIDI, 
                       System.MIDI.Sync,
                       System.MIDI.Utility

  if os(darwin)
    Frameworks:          CoreFoundation, CoreAudio, CoreMIDI
    other-modules:       System.MIDI.MacOSX,
                         System.MacOSX.CoreAudio,
                         System.MacOSX.CoreMIDI,
                         System.MacOSX.CoreFoundation
      
  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
  
  Default-language:      Haskell2010  
  Default-extensions:    ForeignFunctionInterface, CPP, TypeSynonymInstances, FlexibleInstances, EmptyDataDecls

  -- ghc-options:         -threaded 

  if flag(noNoteOff)
    cpp-options:         -DHMIDI_NO_NOTEOFF