GithubHelp home page GithubHelp logo

semihdarg / nim-rtmidi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stoneface86/nim-rtmidi

0.0 0.0 0.0 183 KB

Nim bindings for RtMidi

Home Page: https://stoneface86.github.io/nim-rtmidi/

License: MIT License

Nim 100.00%

nim-rtmidi's Introduction

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.

nim-rtmidi's People

Contributors

stoneface86 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.