Starting with tag: [TAG 0.5 jack-haskell@henning-thielemann.de**20080218110721] [building with ghc-6.8.2 shahn@cs.tu-berlin.de**20080628111954] [example: do actual amplification shahn@cs.tu-berlin.de**20080628112216] [Added basic Jack MIDI support Hans Baier **20080818193419] [Changed the marshalling of MidiEvent to use c2hs, added Midimon example to cabal file Hans Baier **20080818211335] [Added Haddock / Fixed memory leak Hans Baier **20080819011323] [* Fixed bug: wrong timing in output MIDI events Hans Baier **20080823065946] [using CSize for size_t shahn@cs.tu-berlin.de**20080827162211] [First working integration with Sound.MIDI Hans Baier **20080903173624] [Added high level main loop for midi Hans Baier **20080904080526] [* Changed jack MIDI API so that the function which transforms input into output events can know about absolute frame time Hans Baier **20081223123205] [* Replaced Midi to MIDI in Package and function names since it is an acronym Hans Baier **20081223141131] [* Opened up JACK API to allow for more general clients Hans Baier **20090107085712] [doesn't build with midi-0.1.x, changed cabal file shahn@cs.tu-berlin.de**20090108191256] [bump version to 0.5.1: moved homepage and repository jack-haskell@henning-thielemann.de**20110130202044] [bump version to 0.6 jack@henning-thielemann.de**20110223194431] [MIDI: update to midi-0.1.5 and ByteString in RawEvent jack@henning-thielemann.de**20110223195311] [remove orphan instances Ix CUInt, Random CFloat jack@henning-thielemann.de**20110223200048 replace StorableArray CUInt by StorableArray Word ] [example/amplify: added signature for 'fac' jack@henning-thielemann.de**20110223200240] [Cabal: switch from Custom to Simple build type jack@henning-thielemann.de**20110223200522] [Cabal: closed version bounds for all dependencies jack@henning-thielemann.de**20110223200826] [Cabal: switch to Cabal-1.6 style package description jack@henning-thielemann.de**20110223201010 add buildExamples flag and darcs repository ] [JACK: separate PCM and MIDI stuff in export list jack@henning-thielemann.de**20110223201222] [JACK.getSampleRate; contributed by Edward Amsden jack@henning-thielemann.de**20110223201324] [JACK.mapM -> mapM_ where necessary jack@henning-thielemann.de**20110223201416] [JACK.FFI: declare Client and Port as Ptr targets jack@henning-thielemann.de**20110223201515] [JACK: check emptiness of event list with 'null', not length jack@henning-thielemann.de**20110223201619] [expand tabulator characters jack@henning-thielemann.de**20110223204419] [ErrorCode custom type jack-haskell@henning-thielemann.de**20110223222049] [PortName custom type jack-haskell@henning-thielemann.de**20110223225151] [Cabal: Extra-Libraries -> PkgConfig-Depends jack-haskell@henning-thielemann.de**20110305100343] [use EnumSet jack-haskell@henning-thielemann.de**20110305200304] [use withCString and alloca for temporary buffers jack-haskell@henning-thielemann.de**20110305204215] [JACK.InOut jack-haskell@henning-thielemann.de**20110305205000] [merge ErrorCode with Errno since some JACK function explicitly return certain Errno values jack-haskell@henning-thielemann.de**20110305205133] [JACK.InOut moved to JACK.FFI jack@henning-thielemann.de**20110305213750 used as parameter type of port_register ] [InOut -> PortFlagSet; support all flags defined in jack/types.h jack@henning-thielemann.de**20110305214829] [JACK.Process: equivalent to jack/types.h:JackProcessCallback jack@henning-thielemann.de**20110306103713] [JackFFI.PortBuffer: turn from CFloat into abstract type jack@henning-thielemann.de**20110306105245] [move MIDI functions from JACK.FFI to JACK.MIDI jack@henning-thielemann.de**20110306110246] [NFrames: custom type with Ix instance jack@henning-thielemann.de**20110306114138] [JACK.setProcess: wrapper around JackFFI.set_process_callback jack@henning-thielemann.de**20110306115638] [JackFFI.CallbackArg: custom type for callback arguments jack@henning-thielemann.de**20110306120645] [use explicit-exception for handling of JACK's error codes jack-haskell@henning-thielemann.de**20110307085510] [JACK.MIDI -> JACK.FFI.MIDI jack-haskell@henning-thielemann.de**20110309083323] [JACK: remove orphan instances jack-haskell@henning-thielemann.de**20110309152744] [JACK.Input, Output -> Port typ dir jack-haskell@henning-thielemann.de**20110309165415] [JACK.PortSet jack-haskell@henning-thielemann.de**20110309182832] [newClientSimple -> newClientDefault jack-haskell@henning-thielemann.de**20110309193817] [JACK.waitForBreak jack@henning-thielemann.de**20110309201448] [JACK.mainStereo: remove busy wait jack@henning-thielemann.de**20110309202537] [JACK.with* functions using continuation passing style jack-haskell@henning-thielemann.de**20110309202616] [JACK.getPort, getClient: no longer export them jack-haskell@henning-thielemann.de**20110309202855] [JACK.Exception: extracted from JACK jack-haskell@henning-thielemann.de**20110313175607 Ignore-this: cfd1c679fc15c2d8ce36f1654becc168 make all exceptions instances of all other exception classes add ToString class ] [JACK: split into Audio, MIDI, Private jack-haskell@henning-thielemann.de**20110313190526 Ignore-this: edba981c7d4244e0afcce8ec462ac146 ] [FFI.PortBuffer: replaced by actual buffer content type jack-haskell@henning-thielemann.de**20110313192836 Ignore-this: 63122a704b8daf783fafa28828725a25 use the buffer content type as type argument for Port ] [JACK.waitForBreak: do not close client jack-haskell@henning-thielemann.de**20110313194449 Ignore-this: 684fb9002ac1e60173565f96663dae56 waitForBreakAndClose added ] [Cabal: tested-with GHC-7.0.2 jack-haskell@henning-thielemann.de**20110313194613 Ignore-this: 569780a99617b5f4683f9dc3e4c14c2e ] [FFI.MIDI.RawEvent.size field: removed because it is redundant to (length buffer) jack-haskell@henning-thielemann.de**20110314175027 Ignore-this: d247f0ab9b7bc36e0f1aea054a20a89 ] [MIDI.EventBuffer: distinguish buffer that holds events and the actual RawEvent jack-haskell@henning-thielemann.de**20110314180356 Ignore-this: 9523b7c9122668971b131dcd630f05e4 ] [FFI.MIDI.RawEvent.buffer: use strict ByteString instead of ByteString.Lazy jack-haskell@henning-thielemann.de**20110314184844 Ignore-this: 7b6de092d3bc363efc1d52451aa9aa1d this way we can use ByteString pointers with midi_event_write instead of event_reserve and we can use copyArray instead of peekArray and pokeArray with temporary lists ] [Exception.EventReserve: removed because we do no longer call midi_event_reserve jack-haskell@henning-thielemann.de**20110314185645 Ignore-this: b4adb1b265704406d1de457b9d43ccff ] [MIDI.rawEvent, rawEventTime, rawEventBuffer jack-haskell@henning-thielemann.de**20110317220736 Ignore-this: 5f189cc5d2a5f9fbac981715d9477b5c ] [FFI.MIDI: re-order export list jack-haskell@henning-thielemann.de**20110317221341 Ignore-this: 4d791b10007e43be9c3bd801104e7332 ] [FFI.NFrames: Monoid instance jack-haskell@henning-thielemann.de**20110317221421 Ignore-this: 121c316ea84ffff1af5f35e17745e7f3 ] [Cabal: relax version bound of unix for GHC-7.2 jack-haskell@henning-thielemann.de**20111210160130 Ignore-this: 5667a92466bf43b2cc937e4cdfa419fe ] [Cabal: CC-Option BLOCKS for Darwin jack-haskell@henning-thielemann.de**20111210160240 Ignore-this: 7d3826040cb043126823ca90d986811 ]