Class: Webmidi::Virtual::Port
- Inherits:
-
Object
- Object
- Webmidi::Virtual::Port
- Defined in:
- lib/webmidi/virtual/port.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:, direction: :bidirectional) ⇒ Port
constructor
A new instance of Port.
Constructor Details
#initialize(name:, direction: :bidirectional) ⇒ Port
Returns a new instance of Port.
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 38 39 40 |
# File 'lib/webmidi/virtual/port.rb', line 12 def initialize(name:, direction: :bidirectional) @name = name @direction = direction transport = Transport::Virtual case direction when :bidirectional, :input input_handle = transport.create_virtual_input(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 ) end case direction when :bidirectional, :output output_handle = transport.create_virtual_output(name) @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 ) end end |
Instance Attribute Details
#input ⇒ Object (readonly)
Returns the value of attribute input.
6 7 8 |
# File 'lib/webmidi/virtual/port.rb', line 6 def input @input end |
#output ⇒ Object (readonly)
Returns the value of attribute output.
6 7 8 |
# File 'lib/webmidi/virtual/port.rb', line 6 def output @output end |
Class Method Details
.create(name:, direction: :bidirectional) ⇒ Object
8 9 10 |
# File 'lib/webmidi/virtual/port.rb', line 8 def self.create(name:, direction: :bidirectional) new(name: name, direction: direction) end |
Instance Method Details
#close ⇒ Object
42 43 44 45 |
# File 'lib/webmidi/virtual/port.rb', line 42 def close @input&.disconnect @output&.disconnect end |