RtMidi: Haskell wrapper for RtMidi, the lightweight, cross-platform MIDI I/O library.

[ library, mit, program, sound ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/riottracker/RtMidi#readme


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
alsa

Enable ALSA sequencer api on Linux

Enabled
jack

Enable JACK api on Linux or OSX

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.2.0.0, 0.3.0.0, 0.4.0.0, 0.5.0.0, 0.5.0.1, 0.5.0.2, 0.5.0.3, 0.6.0.0, 0.6.1.0, 0.7.0.0, 0.8.0.0
Dependencies base (>=4.14 && <4.17), deepseq (>=1.4.4.0 && <2), pretty-simple (>=4.0.0.0 && <5), RtMidi, unliftio-core (>=0.1.2.0 && <1), vector (>=0.12.1.2 && <1) [details]
License MIT
Author kohlrabi, Eric Conlon
Maintainer ejconlon@gmail.com
Category Sound
Home page https://github.com/riottracker/RtMidi
Source repo head: git clone https://github.com/riottracker/RtMidi
Uploaded by ejconlon at 2021-07-19T18:21:43Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables rtmidi-report, rtmidi-poll, rtmidi-playback, rtmidi-callback
Downloads 2690 total (37 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for RtMidi-0.5.0.1

[back to package description]

RtMidi

CircleCI

Haskell wrapper for RtMidi, the lightweight, cross-platform MIDI I/O library.

How to use

See Hackage for the latest released version and add RtMidi and vector to your library build-depends.

Follow the callback example to receive messages.

Follow the playback example to send messages.

Development

This project is tested with Cabal (latest versions of last two compiler lines) and Stack (latest LTS).

You can get started with development like so:

# Build and test on OSX CoreMIDI support or Linux with ALSA support.
# (You can also manually invoke stack and pass `--flag RtMidi:jack` for Jack support.)
make test

# Print information about all accessible MIDI devices and all compiled APIs.
make example-report

TODO

  • Add Windows MM support. This should only require a few changes to the Cabal file.
  • See if there is a way to autodetect Jack in the Cabal file.