46 lines
1 KiB
Lua
46 lines
1 KiB
Lua
local lgi = require("lgi")
|
|
local pulseaudio = require("lua_libpulse_glib")
|
|
local ppretty = require("pl.pretty")
|
|
|
|
local loop = lgi.GLib.MainLoop.new()
|
|
|
|
local pa = pulseaudio.new()
|
|
print("pulseaudio: ", pa)
|
|
local ctx = pa:context("test")
|
|
print("context: ", ctx)
|
|
|
|
local function context_state_to_string(state)
|
|
return ({
|
|
"unconnected",
|
|
"connecting",
|
|
"authorizing",
|
|
"setting_name",
|
|
"ready",
|
|
"failed",
|
|
"terminated"
|
|
})[state + 1]
|
|
end
|
|
|
|
print("calling connect")
|
|
ctx:connect("localhost", function(_, state)
|
|
print("pulse connection: ", context_state_to_string(state))
|
|
|
|
if state == 4 then
|
|
ctx:get_server_info(function(_, info)
|
|
print("server info")
|
|
ppretty.dump(info)
|
|
end)
|
|
|
|
ctx:get_sinks(function(_, list)
|
|
print("sinks")
|
|
ppretty.dump(list)
|
|
end)
|
|
|
|
ctx:get_sources(function(_, list)
|
|
print("sources")
|
|
ppretty.dump(list)
|
|
end)
|
|
end
|
|
end)
|
|
|
|
loop:run()
|