pulseauto

  Source   Edit

the goal:
  • have a way to set levels on client streams by specifying the application name and/or pid
use-case:
  • setup audio for streaming so that the mumble folks can be heard over the music, the music can heard, i can be heard, and the normal desktop audio is at a reasonable level

Types

Interface = object
  bus*: Bus
  path*: ObjectPath
  name*: string
  service*: string
  Source   Edit
Method = object
  iface*: Interface
  name*: string
  Source   Edit

Procs

proc getBus(path: DbusValue): Bus {...}{.raises: [Exception, ValueError],
                                    tags: [RootEffect].}
open a new bus connection at the given address   Source   Edit
proc toJson(value: DbusValue): JsonNode {...}{.raises: [], tags: [].}
  Source   Edit
proc peer(iface: Interface; name: string): Interface {...}{.raises: [], tags: [].}
yield the adjacent interface with the given name   Source   Edit
proc `$`(iface: Interface): string {...}{.raises: [], tags: [].}
  Source   Edit
proc `$`(sig: Signature): string {...}{.raises: [], tags: [].}
  Source   Edit
proc `$`(path: ObjectPath): string {...}{.raises: [], tags: [].}
  Source   Edit
proc `[]`(iface: Interface; name: string): Method {...}{.raises: [], tags: [].}
get a method on the interface by name   Source   Edit
proc `{}`(iface: Interface; name: string): Method {...}{.raises: [], tags: [].}
fetch a method from the interface's org.freedesktop.DBus.Properties peer   Source   Edit
proc `/`(iface: Interface; name: string): Interface {...}{.raises: [], tags: [].}
interface at child path   Source   Edit
proc `()`(meth: Method; args: varargs[DbusValue, asDBusValue]): DbusValue {...}{.raises: [
    DbusException, ValueError, Exception, DbusRemoteException, ValueError],
    tags: [RootEffect].}
call a method with arbitrary arguments   Source   Edit
proc getPulseServerAddress(path = lookupPath): DbusValue {...}{.
    raises: [DbusException, ValueError, Exception, DbusRemoteException],
    tags: [RootEffect].}
  Source   Edit
proc pulseauto(level: string; client = "(mpd|pianobar)"; key = ""; value = "";
               property = "application\\.process\\.binary") {...}{.raises: [
    ValueError, KeyError, SyntaxError, StudyError, DbusException, Exception,
    DbusRemoteException, OSError, RegexInternalError, InvalidUnicodeError],
    tags: [RootEffect].}
  Source   Edit

Iterators

iterator items(value: DbusValue): DbusValue {...}{.raises: [OSError], tags: [].}
  Source   Edit
iterator pairs(value: DbusValue): tuple[key: DbusValue, val: DbusValue] {...}{.
    raises: [ValueError, OSError], tags: [].}
  Source   Edit

Converters

converter toBool(b: dbus_bool_t): bool {...}{.raises: [], tags: [].}
  Source   Edit