I've been playing around with the idea of creating a single-PC multi-zone music system (something like casatunes) based on squeezebox. The idea is to use a PC with an HDAudio-compatible audio card (most PCs today are compatible, supporting 6 or 8 channels), and connect it to a single surround amplifier. This should make multi-zone solutions very cheap, as a single 6-channel (or 6.1 or 7.1) surround amplifiers is cheaper than 3 stereo amplifiers both for cheap amplifiers and for expensive ones. A PC with HDAudio interface can be connected to such amplifier using a single SPDIF cable, making such solution really easy to set up.
Having checked several software-based squeezeboxes, I saw that squeezeslave is the perfect choice - it's lightweight and has good performance; these considerations are ever more important for multi-zone as mutliple instances of the player need to coexist. I've made the changes to the squeezeslave code to support it as an optional feature activated using a command-line argument. If "-z n/m" is specified at command line, squeezeslave will work on zone n out of m zones. If not specified, or if used with "-z 0/1", squeezeslave will operate normal and my changes will not effect performance or behavior of squeezeslave. When zones are in used, portaudio is initilized with m*2 channels (rather than the default 2), and all audio buffers will be written to the n-th channel. Also, if zones are used and a non-default MAC address is not used, the last byte of the MAC address used will be (n+1) to avoid collision. So, for example, for setting up 3 audio zones using a single PC, you need a 6.1 or 7.1 amplifier connected to your PC, and then you run 3 instances of squeezeslave: % squeezeslave -z 0/3 & % squeezeslave -z 1/3 & % squeezeslave -z 2/3 & I've tested it on linux and it seems to work well. If you're interested, I'd love to contribute this code back to the project. I believe it could make squeezeslave a very useful tool for people using squeezebox for home audio, and for embedding in systems such as vortexbox. I'm attaching my changes as a diff (patch) file. +-------------------------------------------------------------------+ |Filename: zones-support.diff | |Download: http://forums.slimdevices.com/attachment.php?attachmentid=12511| +-------------------------------------------------------------------+ -- odedn ------------------------------------------------------------------------ odedn's Profile: http://forums.slimdevices.com/member.php?userid=49839 View this thread: http://forums.slimdevices.com/showthread.php?t=83362 _______________________________________________ discuss mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/discuss
