Module: MIDIInstrument::Device

Extended by:
Device
Included in:
Device
Defined in:
lib/midi-instrument/device.rb

Overview

Manage MIDI Devices

Instance Method Summary collapse

Instance Method Details

#partition(devices) ⇒ Hash

Partition UniMIDI devices into a hash of inputs and outputs

Parameters:

  • devices (Array<UniMIDI::Input, UniMIDI::Output>, UniMIDI::Input, UniMIDI::Output)

    Input or output device(s).

Returns:

  • (Hash)

    Partitioned arrays of inputs and outputs.



11
12
13
14
15
16
17
18
19
# 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