Module: Patch::IO::MIDI::Message

Extended by:
Message
Included in:
Message
Defined in:
lib/patch/io/midi/message.rb

Overview

Convert between MIDI message objects and Patch::Message objects

Instance Method Summary collapse

Instance Method Details

#to_midi_messages(patch, patch_messages) ⇒ Array<::MIDIMessage>

Parameters:

Returns:

  • (Array<::MIDIMessage>)


15
16
17
18
19
20
21
22
23
# File 'lib/patch/io/midi/message.rb', line 15

def to_midi_messages(patch, patch_messages)
  patch_messages = [patch_messages].flatten
  midi_messages = patch_messages.map do |patch_message|
    unless (action = patch.actions.at(patch_message.index)).nil?
      to_midi_message(action, patch_message) unless action[:midi].nil?
    end
  end
  midi_messages.compact
end

#to_patch_messages(patch, midi_messages) ⇒ Array<::Patch::Message>

Convert the given MIDI message to Patch::Message objects using the context of the given patch

Parameters:

  • patch (::Patch::Patch)
  • midi_messages (Array<MIDIMessage>, MIDIMessage)

Returns:



29
30
31
32
33
34
35
36
37
38
# File 'lib/patch/io/midi/message.rb', line 29

def to_patch_messages(patch, midi_messages)
  midi_messages = [midi_messages].flatten
  patch_messages = midi_messages.map do |midi_message|
    unless (action = Action.find_by_index(patch.actions, midi_message.index)).nil?
      index = patch.actions.index(action)
      to_patch_message(action, index, patch.name, midi_message)
    end
  end
  patch_messages.compact
end