module ALSA::Aconnect
Constants
- VERSION
Public Instance Methods
config()
click to toggle source
# File lib/alsa/aconnect.rb, line 57 def config @config ||= Config.new end
configure() { |config| ... }
click to toggle source
# File lib/alsa/aconnect.rb, line 61 def configure yield config if block_given? end
connect(input, output)
click to toggle source
# File lib/alsa/aconnect.rb, line 34 def connect(input, output) input = "#{input.client.id}:#{input.id}" if input.is_a?(Port) output = "#{output.client.id}:#{output.id}" if output.is_a?(Port) run(input, output) end
disconnect(input, output)
click to toggle source
# File lib/alsa/aconnect.rb, line 41 def disconnect(input, output) input = "#{input.client.id}:#{input.id}" if input.is_a?(Port) output = "#{output.client.id}:#{output.id}" if output.is_a?(Port) run('-d', input, output) end
input_clients()
click to toggle source
# File lib/alsa/aconnect.rb, line 16 def input_clients out = run('-i', '-l') Parser.parse_clients(out).map { |text| Client.new(text, :input) } end
input_ports()
click to toggle source
# File lib/alsa/aconnect.rb, line 21 def input_ports input_clients.map(&:ports).flatten end
output_clients()
click to toggle source
# File lib/alsa/aconnect.rb, line 25 def output_clients out = run('-o', '-l') Parser.parse_clients(out).map { |text| Client.new(text, :output) } end
output_ports()
click to toggle source
# File lib/alsa/aconnect.rb, line 30 def output_ports output_clients.map(&:ports).flatten end
run(*arguments)
click to toggle source
# File lib/alsa/aconnect.rb, line 48 def run(*arguments) cmd = [config.exec_path, *arguments].compact.join(' ') out, err, status = Open3.capture3(cmd) code = status.exitstatus raise Error.new code, err unless code.zero? out end