Module: MIDIEvents::SystemExclusive::InstanceMethods
- Included in:
- Message
- Defined in:
- lib/midi-events/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 http://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.
14 15 16 |
# File 'lib/midi-events/system_exclusive.rb', line 14 def address @address end |
#checksum ⇒ Object (readonly)
alternate method from http://www.2writers.com/eddie/TutSysEx.htm
72 73 74 |
# File 'lib/midi-events/system_exclusive.rb', line 72 def checksum @checksum end |
#node ⇒ Object
Returns the value of attribute node.
13 14 15 |
# File 'lib/midi-events/system_exclusive.rb', line 13 def node @node end |
Instance Method Details
#end_byte ⇒ Object
62 63 64 |
# File 'lib/midi-events/system_exclusive.rb', line 62 def end_byte SystemExclusive::DELIMITER[:finish] end |
#name ⇒ Object Also known as: verbose_name
53 54 55 |
# File 'lib/midi-events/system_exclusive.rb', line 53 def name SystemExclusive::DISPLAY_NAME end |
#start_byte ⇒ Object
58 59 60 |
# File 'lib/midi-events/system_exclusive.rb', line 58 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
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/midi-events/system_exclusive.rb', line 17 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
43 44 45 46 47 48 49 50 |
# File 'lib/midi-events/system_exclusive.rb', line 43 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
34 35 36 |
# File 'lib/midi-events/system_exclusive.rb', line 34 def to_numeric_byte_array( = {}) to_a().flatten end |
#type_byte ⇒ Object
66 67 68 |
# File 'lib/midi-events/system_exclusive.rb', line 66 def type_byte self.class::TYPE end |