So, you want to develop gutenbach, eh? Good! Gutenbach is a distributed music player built on top of CUPs. It essentially enables anybody with access to it to play music from their own computer -- all they have to do is "print" to the Gutenbach instance as they would any other document! The current Gutenbach features are: - the Gutenbach server (packaged as gutenbach-server) - a terminal queue display (packaged as gutenbach-queue) - remctl bindings (packaged as gutenbach-remctl) - client-side scripts to print to, list, and delete from queues (packaged as gutenbach-client) - a Rhythmbox plugin - iTunes plugins - a webapp interface All of these are located on GitHub: http://github.com/jhamrick/gutenbach Additionally, see README.old for how Gutenbach /used/ to be installed. This can sometimes offer insight into how to fix things that are broken. Questions or comments should be directed at gutenbach@mit.edu NOTES: - If you keep getting zephyrs with the following errors: Playback completed with the following errors: bt_audio_service_open: connect() failed: Connection refused (111) bt_audio_service_open: connect() failed: Connection refused (111) bt_audio_service_open: connect() failed: Connection refused (111) This is because you have alsa configured for bluetooth, but bluetooth is not enabled. You should either enable bluetooth, or uninstall the bluez-alsa package. - The commands to print and remove jobs should be used via the scripts in gutenbach-client package. However, if you insist on using them, the correct syntax is: CUPS_SERVER=servername lp -dqueuename foo.mp3 CUPS_SERVER=servername cancel [ID|-a] queuename TODO: - include mixer and channel in debconf, or even better, move it to gutenbach-remctl and implement debconf in that package - this should really not conflict with pulse (the biggest problem at the moment is that pulse will spew a bunch of errors like "Home directory /var/spool/cups/tmp not ours." I can't figure out how to get rid of them, but they're really annoying. As long as pulse is in system mode, things seem to work otherwise.) - CUPS issues * the CUPS daemon processes do not inherit groups from the lp user (so, for example, even if we add 'lp' to 'audio', the process will not be running in group 'audio'). For the time being, I've set the CUPS daemon to always run under group 'audio', but there should really be a better solution. * when the Purge-Jobs command is sent, the jobs are removed, but the current mplayer instance continues playing. This unfortunately leads to jobs being played over each other when the CUPS server restarts - Making it easier to use across multiple platforms, regardless of debathena/normal linux/etc? - Gutenbach should not depend on Debathena -- ideally, gutenbach-server should be debathena free, and then if people want to use zephyr, etc., they can install an additional gutenbach-zephyr package or something - add regex support to the client scripts, so you can do something like `gbr sipbmp3 *.mp3` and have it send separate jobs to the queue - fix the web interface - fix the youtube feature. Additionally, make it possible to play movies!