{"id":20340219,"url":"https://github.com/stefano-m/lua-pulseaudio_dbus","last_synced_at":"2025-04-11T23:17:27.659Z","repository":{"id":55581663,"uuid":"65588669","full_name":"stefano-m/lua-pulseaudio_dbus","owner":"stefano-m","description":"Control PulseAudio devices using DBus","archived":false,"fork":false,"pushed_at":"2022-10-15T13:55:03.000Z","size":59,"stargazers_count":14,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T23:17:15.386Z","etag":null,"topics":["dbus","lua","pulseaudio"],"latest_commit_sha":null,"homepage":"https://stefano-m.github.io/lua-pulseaudio_dbus/","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefano-m.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-12T23:13:55.000Z","updated_at":"2024-11-05T12:20:24.000Z","dependencies_parsed_at":"2023-01-20T00:32:13.447Z","dependency_job_id":null,"html_url":"https://github.com/stefano-m/lua-pulseaudio_dbus","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefano-m%2Flua-pulseaudio_dbus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefano-m%2Flua-pulseaudio_dbus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefano-m%2Flua-pulseaudio_dbus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefano-m%2Flua-pulseaudio_dbus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefano-m","download_url":"https://codeload.github.com/stefano-m/lua-pulseaudio_dbus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492885,"owners_count":21113163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dbus","lua","pulseaudio"],"created_at":"2024-11-14T21:20:16.736Z","updated_at":"2025-04-11T23:17:27.637Z","avatar_url":"https://github.com/stefano-m.png","language":"Lua","readme":"[![Build\nStatus](https://travis-ci.com/stefano-m/lua-pulseaudio_dbus.svg?branch=master)](https://travis-ci.com/stefano-m/lua-pulseaudio_dbus) [![codecov](https://codecov.io/gh/stefano-m/lua-pulseaudio_dbus/branch/master/graph/badge.svg?token=9aDWXISb6X)](https://codecov.io/gh/stefano-m/lua-pulseaudio_dbus)\n\n# Control PulseAudio using DBus\n\nThis module provides a simple API to control\n[PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/)\nusing [DBus](http://dbus.freedesktop.org/).\n\n# Introduction\n\nSeeking to learn some [Lua](http://www.lua.org), and customize my\n[Awesome Window Manager](https://awesomewm.org), I have started to dig into\nDBus in an attempt to avoid using terminal commands and parsing their outputs.\n\n# Requirements\n\nFor this module to work, you need PulseAudio with DBus support enabled.\n\nYou need to ensure that the DBus module is loaeded by PulseAudio by adding the\nfollowing to your `/etc/pulse/default.pa` (or `~/.config/pulse/default.pa` to\nset it up at the user level).\n\n    .ifexists module-dbus-protocol.so\n    load-module module-dbus-protocol\n    .endif\n\nIf the module is not present or not loaded, this module will not work.\n\n# Installation\n\n## Luarocks\n\nThis module can be installed with [Luarocks](http://luarocks.org/) by running\n\n    luarocks install pulseaudio_dbus\n\nUse the `--local` option in `luarocks` if you don't want or can't install it\nsystem-wide.\n\n## NixOS\n\nIf you are on NixOS, you can install this package from\n[nix-stefano-m-overlays](https://github.com/stefano-m/nix-stefano-m-nix-overlays).\n\n\n# Example\n\nBelow is a small example of how to use the module:\n\n    pulse = require(\"pulseaudio_dbus\")\n    address = pulse.get_address()\n    connection = pulse.get_connection(address)\n    core = pulse.get_core(connection)\n    sink = pulse.get_device(connection, core:get_sinks()[1])\n    sink:set_muted(true)\n    sink:toggle_muted()\n    assert(not sink:is_muted())\n    sink:set_volume_percent({75}) -- sets the volume to 75%\n\n# Documentation\n\nThe documentation of this module is built using [LDoc](https://stevedonovan.github.io/ldoc/).\nA copy of the documentation is already provided in the `docs` folder,\nbut you can build it from source by running `ldoc .` in the root of the repository.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefano-m%2Flua-pulseaudio_dbus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefano-m%2Flua-pulseaudio_dbus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefano-m%2Flua-pulseaudio_dbus/lists"}