Module: Diamond::MIDI::Output
- Included in:
- Node
- Defined in:
- lib/diamond/midi.rb
Overview
Methods dealing with MIDI output
Class Method Summary collapse
Instance Method Summary collapse
-
#enable_output(arpeggiator) ⇒ Boolean
Initialize MIDI output, enabling the sequencer to emit notes.
Class Method Details
.included(base) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/diamond/midi.rb', line 94 def self.included(base) base.send(:extend, Forwardable) base.send(:def_delegators, :@midi, :mute, :mute=, :output, :outputs, :toggle_mute, :tx_channel, :transmit_channel, :tx_channel=, :transmit_channel=) end |
Instance Method Details
#enable_output(arpeggiator) ⇒ Boolean
Initialize MIDI output, enabling the sequencer to emit notes
111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/diamond/midi.rb', line 111 def enable_output(arpeggiator) arpeggiator.sequencer.event.perform << proc do |bucket| unless bucket.empty? if @debug bucket.each do || puts "[DEBUG] MIDI: output #{.name} channel: #{.channel}" end end @midi.output.puts(bucket) end end arpeggiator.sequencer.event.stop << proc { emit_pending_note_offs(arpeggiator) } true end |