Skip to content

munshkr/rawmidi-ruby

Repository files navigation

rawmidi-rb

ALSA RawMIDI bindings for Ruby

Usage

List cards and devices

RawMIDI::Card.all
#=> [#<RawMIDI::Card:0x002af7bb0f26ec hw:0 "HDA Intel PCH">,
     #<RawMIDI::Card:0x002af7bb0f269c hw:1 "CH345">]

card = RawMIDI::Card.new(1)
#=> #<RawMIDI::Card:0x002af7bb094b3c hw:1 "CH345">

card.outputs
#=> [#<RawMIDI::Output:0x002af7bb489760 hw:1,0,0 "CH345" closed>]

RawMIDI::Output.all
#=> [#<RawMIDI::Output:0x002af7bb489760 hw:1,0,0 "CH345" closed>]

MIDI Output

out = RawMIDI::Output.all.first
out.open

out.write [0x90, 60, 100]   # note on

sleep 1

out.write [0x90, 60, 0]     # note off
out.close

MIDI Input

to do

Installation

NOTE: This is still incomplete, so I still haven't published it to Rubygems. You'll need to clone the repository and install it with rake install, or use Bundler.

Add this line to your application's Gemfile:

gem 'rawmidi'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rawmidi

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/munshkr/rawmidi-rb. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.