/nqpama

NotQuiteZero's PulseAudio Mixer Applet

Primary LanguageCGNU General Public License v3.0GPL-3.0

PulseAudio Mixer Applet
=======================

Pulseaudio Mixer Applet is a small applet for the GNOME panel that can control
both input and output device volumes, and individual playback stream volumes.
It also provides a convenient way to change the default input and output
devices, and move application audio streams to different devices.



Requirements
------------

This applet can be built with the following:

	libpulse 0.9.15
	gtk+ 2.16
	glib 2.14
	libpanel-applet 2.10
	intltool 0.35.0



About this Repository
---------------------

this is a branch of the bazaar repository: https://launchpad.net/pama by Vassili Geronimos
the most recent actity recent activity was this update:
  42. By Vassili Geronimos on 2010-04-22, ie almost 8 months ago
goals: make it easier to build and run in a debugger


Build and Install from Source
-----------------------------

to build:
    libtoolize
    aclocal
    autoheader
    automake --add-missing
    autoconf
    # omit CFLAGS for defaults
    # might also want to pass PKG_CONFIG_PATH, eg to use a debug-enabled gtk+
    CFLAGS="-g -O0" ./configure
    make
    make install

note: ./scripts/autogen.sh performs the above up to and including autoconf

if any of the dependencies are missing, they should cause errors when ./configure is run
    you'll need the development versions of the dependencies, ie the include files
    on debian and ubuntu this means the "-dev" packages
    eg, sudo apt-get install libgtk2.0-dev libpanel-applet2-0-dev libpanel-applet2-dev libpulse-dev


note: verbose make output
    not specific to pama, but it uses AM_SILENT_RULES, which results in make being very quite by default
    ie, instead of printing the full gcc command line, it only prints a summary
        eg,   CC     pulseaudio_mixer_applet-pama-pulse-context.o
    to get the verbose output, use "make V=1"


Running
-------

verify that:
    PulseAudioMixerApplet.server
exists in your bonobo "servers" directory, ie
    ubuntu 10.10:     /usr/lib/bonobo/servers
if not, eg because you've used a custom configure prefix, copy or link the server file to that location

right click on the panel, select "add to panel"
    choose "PulseAudio Mixer Applet"

the applet provides 2 icons, one above the other - one for sinks (playback) and the other for sources
    click on an icon to activate it
    a volume slider and mute button are provided for each device and application
    clicking on the "default" button on a device will set it as the default
    clicking on the "device" button on an application will route the audio to/from the device that you choose
        note: the sink and source need to be specified independently
        eg, to move an application to a headset
            click on sinks and select the headset as the application's device
            then do the same for sources

Debugging
---------

when an applet is added to the panel, or a loaded applet exits and the user selects "Reload",
    the panel will load attempt to load the applet
    if an instance is already running, it will be used
    otherwise, it will look for the binary that the server file names and execute it

if the applet is already loaded, kill it and the panel will offer to automatically "Reload" it
    killall pulseaudio-mixer-applet

run the applet (note: the applet will wait until it is activated), eg
    from the command line: ./src/pulseaudio-mixer-applet
    or from netbeans:      Debug::Debug Project

either "Reload" the applet using the panel dialog or add the applet to the panel
    the applet will be activated and appear in the panel
    if you're running in a debugger, you should be able to set breakpoints and access the full state


Netbeans
--------

this project can be imported into netbeans ... see docs/netbeans.txt