Module: MIDIMessage::SystemExclusive::InstanceMethods
- Included in:
- Message
- Defined in:
- lib/midi-message/system_exclusive.rb
Overview
Common SysEx data that a message class will contain
Instance Attribute Summary collapse
-
#address ⇒ Object
readonly
Returns the value of attribute address.
-
#checksum ⇒ Object
readonly
alternate method from www.2writers.com/eddie/TutSysEx.htm.
-
#node ⇒ Object
Returns the value of attribute node.
Instance Method Summary collapse
- #end_byte ⇒ Object
- #name ⇒ Object (also: #verbose_name)
- #start_byte ⇒ Object
-
#to_a(options = {}) ⇒ Object
an array of message parts.
-
#to_hex_s ⇒ Object
(also: #to_bytestr)
string representation of the object’s bytes.
-
#to_numeric_byte_array(options = {}) ⇒ Object
(also: #to_numeric_bytes, #to_byte_array, #to_bytes, #to_byte_a)
a flat array of message bytes.
- #type_byte ⇒ Object
Instance Attribute Details
#address ⇒ Object (readonly)
Returns the value of attribute address.
16 17 18 |
# File 'lib/midi-message/system_exclusive.rb', line 16 def address @address end |
#checksum ⇒ Object (readonly)
alternate method from www.2writers.com/eddie/TutSysEx.htm
74 75 76 |
# File 'lib/midi-message/system_exclusive.rb', line 74 def checksum @checksum end |
#node ⇒ Object
Returns the value of attribute node.
15 16 17 |
# File 'lib/midi-message/system_exclusive.rb', line 15 def node @node end |
Instance Method Details
#end_byte ⇒ Object
64 65 66 |
# File 'lib/midi-message/system_exclusive.rb', line 64 def end_byte SystemExclusive::DELIMITER[:finish] end |
#name ⇒ Object Also known as: verbose_name
55 56 57 |
# File 'lib/midi-message/system_exclusive.rb', line 55 def name SystemExclusive::DISPLAY_NAME end |
#start_byte ⇒ Object
60 61 62 |
# File 'lib/midi-message/system_exclusive.rb', line 60 def start_byte SystemExclusive::DELIMITER[:start] end |
#to_a(options = {}) ⇒ Object
an array of message parts. multiple byte parts will be represented as an array of bytes
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/midi-message/system_exclusive.rb', line 19 def to_a( = {}) omit = [:omit] || [] node = @node.to_a() unless @node.nil? || omit.include?(:node) # this may need to be cached when properties are updated # might be worth benchmarking [ start_byte, node, (type_byte unless omit.include?(:type)), [address].compact.flatten, [value].compact.flatten, (checksum unless omit.include?(:checksum)), end_byte ].compact end |
#to_hex_s ⇒ Object Also known as: to_bytestr
string representation of the object’s bytes
45 46 47 48 49 50 51 52 |
# File 'lib/midi-message/system_exclusive.rb', line 45 def to_hex_s strings = to_bytes.map do |byte| string = byte.to_s(16) string = "0#{string}" if string.length == 1 string end strings.join.upcase end |
#to_numeric_byte_array(options = {}) ⇒ Object Also known as: to_numeric_bytes, to_byte_array, to_bytes, to_byte_a
a flat array of message bytes
36 37 38 |
# File 'lib/midi-message/system_exclusive.rb', line 36 def to_numeric_byte_array( = {}) to_a().flatten end |
#type_byte ⇒ Object
68 69 70 |
# File 'lib/midi-message/system_exclusive.rb', line 68 def type_byte self.class::TYPE end |