module MIDIInstrument::Device
Manage MIDI Devices
Public Instance Methods
partition(devices)
click to toggle source
Partition UniMIDI devices into a hash of inputs and outputs @param [Array<UniMIDI::Input, UniMIDI::Output>, UniMIDI::Input, UniMIDI::Output] devices Input
or output device(s). @return [Hash] Partitioned arrays of inputs and outputs.
# File lib/midi-instrument/device.rb, line 11 def partition(devices) devices = [(devices || [])].flatten outputs = devices.select { |device| output?(device) } inputs = devices.select { |device| input?(device) } { :input => inputs, :output => outputs } end
Private Instance Methods
input?(device)
click to toggle source
Is this device an input? @param [UniMIDI::Input, Object] device @return [Boolean]
# File lib/midi-instrument/device.rb, line 33 def input?(device) device.respond_to?(:type) && device.type == :input && device.respond_to?(:gets) end
output?(device)
click to toggle source
Is this device an output? @param [UniMIDI::Output, Object] device @return [Boolean]
# File lib/midi-instrument/device.rb, line 26 def output?(device) device.respond_to?(:puts) end