Class: MIDIMessage::Context
- Inherits:
-
Object
- Object
- MIDIMessage::Context
- Defined in:
- lib/midi-message/context.rb
Overview
A DSL for instantiating message objects
Instance Attribute Summary collapse
-
#channel ⇒ Object
Returns the value of attribute channel.
-
#velocity ⇒ Object
Returns the value of attribute velocity.
Instance Method Summary collapse
-
#channel_aftertouch(value, options = {}) ⇒ Object
(also: #ChannelAftertouch, #ChannelPressure, #channel_pressure)
A channel pressure message.
-
#control_change(index, value, options = {}) ⇒ Object
(also: #ControlChange, #Controller, #controller)
A control change message.
-
#initialize(options = {}) ⇒ Context
constructor
A new instance of Context.
-
#note_off(note, options = {}) ⇒ Object
(also: #NoteOff)
A note off message.
-
#note_on(note, options = {}) ⇒ Object
(also: #NoteOn)
A note on message.
-
#pitch_bend(low, high, options = {}) ⇒ Object
(also: #PitchBend)
A poly pressure message.
-
#polyphonic_aftertouch(note, value, options = {}) ⇒ Object
(also: #PolyphonicAftertouch, #PolyAftertouch, #PolyphonicPressure, #PolyPressure, #poly_aftertouch, #poly_pressure)
A poly pressure message.
-
#program_change(program, options = {}) ⇒ Object
(also: #ProgramChange)
A program change message.
Constructor Details
#initialize(options = {}) ⇒ Context
Returns a new instance of Context.
11 12 13 14 |
# File 'lib/midi-message/context.rb', line 11 def initialize( = {}) @channel = [:channel] @velocity = [:velocity] end |
Instance Attribute Details
#channel ⇒ Object
Returns the value of attribute channel.
6 7 8 |
# File 'lib/midi-message/context.rb', line 6 def channel @channel end |
#velocity ⇒ Object
Returns the value of attribute velocity.
6 7 8 |
# File 'lib/midi-message/context.rb', line 6 def velocity @velocity end |
Instance Method Details
#channel_aftertouch(value, options = {}) ⇒ Object Also known as: ChannelAftertouch, ChannelPressure, channel_pressure
A channel pressure message
109 110 111 112 113 |
# File 'lib/midi-message/context.rb', line 109 def channel_aftertouch(value, = {}) channel = [:channel] || @channel raise "channel_aftertouch requires a channel" if channel.nil? ChannelAftertouch.new(channel, value, ) end |
#control_change(index, value, options = {}) ⇒ Object Also known as: ControlChange, Controller, controller
A control change message
71 72 73 74 75 76 77 78 79 |
# File 'lib/midi-message/context.rb', line 71 def control_change(index, value, = {}) channel = [:channel] || @channel raise "control_change requires channel" if channel.nil? if index.kind_of?(String) ControlChange[index].new(channel, value, ) else ControlChange.new(channel, index, value, ) end end |
#note_off(note, options = {}) ⇒ Object Also known as: NoteOff
A note off message
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/midi-message/context.rb', line 21 def note_off(note, = {}) channel = [:channel] || @channel velocity = [:velocity] || @velocity raise "note_off requires both channel and velocity" if channel.nil? || velocity.nil? if note.kind_of?(String) NoteOff[note].new(channel, velocity, ) else NoteOff.new(channel, note, velocity, ) end end |
#note_on(note, options = {}) ⇒ Object Also known as: NoteOn
A note on message
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/midi-message/context.rb', line 38 def note_on(note, = {}) channel = [:channel] || @channel velocity = [:velocity] || @velocity raise "note_on requires both channel and velocity" if channel.nil? || velocity.nil? if note.kind_of?(String) NoteOn[note].new(channel, velocity, ) else NoteOn.new(channel, note, velocity, ) end end |
#pitch_bend(low, high, options = {}) ⇒ Object Also known as: PitchBend
A poly pressure message
123 124 125 126 127 |
# File 'lib/midi-message/context.rb', line 123 def pitch_bend(low, high, = {}) channel = [:channel] || @channel raise "channel_aftertouch requires a channel" if channel.nil? PitchBend.new(channel, low, high, ) end |
#polyphonic_aftertouch(note, value, options = {}) ⇒ Object Also known as: PolyphonicAftertouch, PolyAftertouch, PolyphonicPressure, PolyPressure, poly_aftertouch, poly_pressure
A poly pressure message
89 90 91 92 93 94 95 96 97 |
# File 'lib/midi-message/context.rb', line 89 def polyphonic_aftertouch(note, value, = {}) channel = [:channel] || @channel raise "channel_aftertouch requires a channel" if channel.nil? if note.kind_of?(String) PolyphonicAftertouch[note].new(channel, value, ) else PolyphonicAftertouch.new(channel, note, value, ) end end |
#program_change(program, options = {}) ⇒ Object Also known as: ProgramChange
A program change message
54 55 56 57 58 59 60 61 62 |
# File 'lib/midi-message/context.rb', line 54 def program_change(program, = {}) channel = [:channel] || @channel raise "program_change requires channel" if channel.nil? if program.kind_of?(String) ProgramChange[program].new(channel, ) else ProgramChange.new(channel, program, ) end end |