class MicroMIDI::Instructions::SysEx
Public Class Methods
@param [State] state
# File lib/micromidi/instructions/sysex.rb, line 8 def initialize(state) @state = state end
Public Instance Methods
Create a sysex command message @param [Fixnum] address @param [Array<Fixnum>] data @param [Hash] options @option options [MIDIMessage::SystemExclusive::Node] :node (also :sysex_node) @return [MIDIMessage::SystemExclusive::Command]
# File lib/micromidi/instructions/sysex.rb, line 18 def sysex_command(address, data, options = {}) properties = sysex_properties(options) MIDIMessage::SystemExclusive::Command.new(address, data, :node => properties[:sysex_node]) end
Create a generic sysex message @param [Array<Fixnum>] data @param [Hash] options @option options [MIDIMessage::SystemExclusive::Node] :node (also :sysex_node) @return [MIDIMessage::SystemExclusive::Message]
# File lib/micromidi/instructions/sysex.rb, line 41 def sysex_message(data, options = {}) properties = sysex_properties(options) MIDIMessage::SystemExclusive::Message.new(data, :node => properties[:sysex_node]) end
Create a sysex request message @param [Fixnum] address @param [Fixnum] size @param [Hash] options @option options [MIDIMessage::SystemExclusive::Node] :node (also :sysex_node) @return [MIDIMessage::SystemExclusive::Request]
# File lib/micromidi/instructions/sysex.rb, line 30 def sysex_request(address, size, options = {}) properties = sysex_properties(options) MIDIMessage::SystemExclusive::Request.new(address, size, :node => properties[:sysex_node]) end
Private Instance Methods
Get the message properties given the options hash @param [Hash] options @return [Hash]
# File lib/micromidi/instructions/sysex.rb, line 52 def sysex_properties(options) sysex_options = options.dup sysex_options[:sysex_node] ||= options.delete(:node) @state.message_properties(sysex_options, :sysex_node) end