class Fluent::MIDIInput

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/fluent/plugin/in_midi.rb, line 8
def initialize
  super
  require 'rtmidi'
end

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/plugin/in_midi.rb, line 13
def configure(conf)
  super
end
shutdown() click to toggle source
# File lib/fluent/plugin/in_midi.rb, line 31
def shutdown
  @input.close_port
end
start() click to toggle source
Calls superclass method
# File lib/fluent/plugin/in_midi.rb, line 17
def start
  super
  @input = RtMidi::In.new
  @input.receive_channel_message do |byte1, byte2, byte3|
    record = {
      'status'   => byte1,
      'note'     => byte2,
      'velocity' => byte3,
    }
    Engine.emit(@tag, Engine.now, record)
  end
  @input.open_port(@port)
end