/reverb

Android PulseAudio remote using libpulse

Primary LanguageJavaGNU General Public License v2.0GPL-2.0

Reverb aims to be a fully functional remote control for remote Pulseaudio servers (hint: think pavucontrol, on your phone!) using libpulse itself.

A Screenshot

Build Requirements

  • Jake Wharton's ActionBarSherlock libraries, v4.1.0
  • libpulse-android (head of master)
  • Possibly android support libraries, v4

Building

You should just be able to add an android project from existing source, with directory this directory. If this doesn't work, please contact me and we can work on fleshing out these build directions. Be sure that the necessary projects are mentioned as libraries in Eclipse's project properties.

If you've built the project without Eclipse (i.e., using maven), and would like to provide build instructions, get in contact with me!

Running

You'll need a few things. First and foremost this involves a computer presently rocking the Pulseaudio sound server. If you're using a modern Linux distribution, this probably means you! If not, and you don't know, you don't. So, you're missing out on a lot of cool functionality! You should look into it.

Now's the critical step: You need to have your Pulseaudio server set up to allow connections from remote computers. I think it's possible to do this with a program called "paman," or by at some point calling

  load-module module-native-protocol-tcp

with pacmd or in a Pulseaudio commands file (e.g. default.pa). There's presently no way to manage authentication with a cookie file, so you'll probably want to add IP-based authorization, or add the

  auth-anonymous=1

option to the tail end of that load-module command. There's a page in the user documentation on this, called "network setup" or similar.

For a more robust set of instructions, visit the PulseAudio Network Documentation, specifically the section "Direct Connection."