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]

Modules

[Index] [Quick Jump]

Flags

Automatic Flags
NameDescriptionDefault
alsa

Enable ALSA sequencer api

Enabled
jack

Enable JACK api

Disabled
core

Enable CoreMIDI api

Enabled

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.9 && <4.15), RtMidi, unliftio-core (>=0.1.2.0 && <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 2020-09-10T21:48:35Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables rtmidi-query, rtmidi-poll, rtmidi-playback, rtmidi-callback
Downloads 2701 total (44 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.2.0.0

[back to package description]

RtMidi

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

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 on OSX CoreMIDI support or Linux with ALSA support
# You can also pass `--flag RtMidi:jack` for Jack support
stack build

# Verify that it works:
stack exec -- rtmidi-query

There is also a Dockerfile in the docker directory and some make targets that can help you verify Linux builds:

# Build the image and tag it `haskell-rtmidi-dev`
make docker-build

# Enter the docker image
make docker-repl

# Inside the docker image:
cabal update && cabal build -fjack

(Note that you can't use any RtMidi functions in the containerized env unless you are running a Linux host, and even then you'd probably have to start the process with something like docker run --device /dev/snd.)

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.