Class: Webmidi::Virtual::Loopback
- Inherits:
-
Object
- Object
- Webmidi::Virtual::Loopback
- Defined in:
- lib/webmidi/virtual/loopback.rb
Instance Attribute Summary collapse
-
#input ⇒ Object
readonly
Returns the value of attribute input.
-
#output ⇒ Object
readonly
Returns the value of attribute output.
Class Method Summary collapse
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(name:) ⇒ Loopback
constructor
A new instance of Loopback.
Constructor Details
#initialize(name:) ⇒ Loopback
Returns a new instance of Loopback.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/webmidi/virtual/loopback.rb', line 12 def initialize(name:) @name = name input_handle, output_handle = Transport::Virtual.create_loopback(name) @input = Webmidi::Port::Input.new( id: input_handle.device_info.id, name: input_handle.device_info.name, manufacturer: input_handle.device_info.manufacturer, version: input_handle.device_info.version, transport_handle: input_handle ) @input.open @output = Webmidi::Port::Output.new( id: output_handle.device_info.id, name: output_handle.device_info.name, manufacturer: output_handle.device_info.manufacturer, version: output_handle.device_info.version, transport_handle: output_handle ) # Wire up: when data comes in from transport, dispatch to input port input_handle.on_data do |bytes| @input.dispatch(bytes) end end |
Instance Attribute Details
#input ⇒ Object (readonly)
Returns the value of attribute input.
6 7 8 |
# File 'lib/webmidi/virtual/loopback.rb', line 6 def input @input end |
#output ⇒ Object (readonly)
Returns the value of attribute output.
6 7 8 |
# File 'lib/webmidi/virtual/loopback.rb', line 6 def output @output end |
Class Method Details
.create(name: "Loopback") ⇒ Object
8 9 10 |
# File 'lib/webmidi/virtual/loopback.rb', line 8 def self.create(name: "Loopback") new(name: name) end |
Instance Method Details
#close ⇒ Object
39 40 41 42 |
# File 'lib/webmidi/virtual/loopback.rb', line 39 def close @input&.disconnect @output&.disconnect end |