Class: MIDIInstrument::Output

Inherits:
Object
  • Object
show all
Defined in:
lib/midi-instrument/output.rb

Overview

Send MIDI messages

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeOutput

Returns a new instance of Output.



9
10
11
12
13
14
# File 'lib/midi-instrument/output.rb', line 9

def initialize
  @channel = nil
  @channel_filter = nil
  @mute = false
  @devices = []
end

Instance Attribute Details

#channelObject

Returns the value of attribute channel.



6
7
8
# File 'lib/midi-instrument/output.rb', line 6

def channel
  @channel
end

#devicesObject

Returns the value of attribute devices.



6
7
8
# File 'lib/midi-instrument/output.rb', line 6

def devices
  @devices
end

#muteTrueClass

Mute the output

Returns:

  • (TrueClass)


51
52
53
# File 'lib/midi-instrument/output.rb', line 51

def mute
  @mute = true
end

Instance Method Details

#mute?Boolean

Is the output muted?

Returns:

  • (Boolean)


63
64
65
# File 'lib/midi-instrument/output.rb', line 63

def mute?
  @mute
end

#puts(*args) ⇒ Array<Fixnum> Also known as: <<

Emit messages

Parameters:

  • args (*Fixnum, *MIDIMessage::NoteOn, *MIDIMessage::NoteOff, *String)

Returns:

  • (Array<Fixnum>)


32
33
34
35
36
37
38
39
40
# File 'lib/midi-instrument/output.rb', line 32

def puts(*args)
  messages = Message::to_messages(*args)
  messages = filter_output(messages)
  bytes = Message::to_bytes(messages)
  if !@mute
    @devices.each { |output| output.puts(*bytes) }
  end
  bytes  
end

#toggle_muteBoolean

Toggle muted output

Returns:

  • (Boolean)


45
46
47
# File 'lib/midi-instrument/output.rb', line 45

def toggle_mute
  @mute = !@mute
end

#unmuteFalseClass

Un-mute the output

Returns:

  • (FalseClass)


57
58
59
# File 'lib/midi-instrument/output.rb', line 57

def unmute
  @mute = false
end