No description
Find a file
2023-08-21 10:02:27 -04:00
.github/workflows update pages.yml 2023-08-20 11:57:16 -04:00
examples documentation 2023-08-19 11:20:15 -04:00
src update bindings + API 2023-08-19 23:31:34 -04:00
.gitattributes vendor rtmidi 4.0.0 2023-08-18 00:33:23 -04:00
.gitignore documentation 2023-08-19 11:20:15 -04:00
LICENSE add license and readme 2023-08-18 00:31:36 -04:00
README.md Update install command in README.md 2023-08-21 10:02:27 -04:00
rtmidi.nimble vendor rtmidi 6.0.0 2023-08-19 22:16:34 -04:00

nim-rtmidi

Nim wrapper for RtMidi, a cross-platform realtime MIDI input/output library. This wrapper contains both low-level bindings and a high-level API.

Versioning

This library uses the same versioning as RtMidi, adding an extra patch number. For example version 4.0.0.1 uses RtMidi version 4.0.0, and the wrapper's version is 1.

The following versions are available:

RtMidi version nim-rtmidi version
6.0.0 6.0.0.0
5.0.0 5.0.0.0
4.0.0 4.0.0.0

v6.0.0.0 is the current stable version.

Dependencies

Nim v1.4.0 and up is required.

A vendored copy of RtMidi is included in this repository when linking statically, so you will need to install RtMidi's dependencies:

  • Linux: ALSA development libraries, pthreads
  • OSX: None
  • Windows: None

Install

Install via nimble:

nimble install rtmidi

Then use in your project:

# high-level API
import rtmidi
# and/or you want bindings
# import rtmidi/bindings

Options

Define Default Description
rtmidiUseJack not present Enables compilation of the JACK backend
rtmidiUseDll not present Dynamic link to rtmidi instead of static linking
rtmidiDll depends on OS Set the name of the rtmidi dynamic library used

Support for the JACK API is not compiled in by default, so define rtmidiUseJack to enable it when static linking.

Static linking is done by default, define rtmidiUseDll to link dynamically. By default the DLL file used depends on your OS:

  • Linux: librtmidi.so
  • MacOS: librtmidi.dylib
  • Windows: rtmidi.dll

Define rtmidiDll to override this filename.

License

This library is licensed under the MIT License. RtMidi is licensed under a modified MIT License.