MyNixOS website logo
Description

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

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

RtMidi

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

Version

The version of this library does not correspond to the RtMidi version (sorry). You can look at the justfile to see that we vendor sources from version 6.0.0.

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 (if you have just installed):

# 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.)
just test

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

TODO

  • See if there is a way to autodetect Jack in the Cabal file.
  • See if there is a way to make OSX not take 3 seconds when initializing the MIDI subsystem.
Metadata

Version

0.8.0.0

License

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows