Stef Simoens 9796ac354c new feature: run program on first connection / run program on last
disconnection

I was looking to trigger an action when I connect to shairport.
Basically, I want to switch on the stereo when I start playing music
over shairport (and I want to switch if off when I stop streaming).

Because my set-up will be different than any other set-up, I thought
about making it generic.

Two new command-line options --play_prog and --stop_prog take one
argument: the command line to start when the first connection is made or
when the last connection quits.

Example:
$ shairport.pl --play_prog="amixer set PCM 100%"
2011-10-10 09:26:43 +02:00
2011-05-21 11:33:35 +02:00
2011-04-16 00:00:26 +03:00
2011-04-16 00:00:26 +03:00
2011-10-10 09:23:19 +02:00
2011-04-15 12:42:17 +03:00
2011-05-28 00:18:06 +02:00
2011-05-29 08:30:03 +03:00

ShairPort v0.05

James Laird jhl@mafipulation.org April 13, 2011

What it is

This program emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods. It implements a server for the Apple RAOP protocol. ShairPort does not support AirPlay v2 (video and photo streaming).

It supports multiple simultaneous streams, if your audio output chain (as detected by libao) does so.

How to use it

perl shairport.pl. See INSTALL.md for further information.

The triangle-in-rectangle AirTunes (now AirPlay) logo will appear in the iTunes status bar of any machine on the network, or on iPod play controls screen. Choose your access point name to start streaming to the ShairPort instance.

Thanks

Big thanks to David Hammerton for releasing an ALAC decoder, which is reproduced here in full. Thanks to everyone who has worked to reverse engineer the RAOP protocol - after finding the keys, everything else was pretty much trivial. Thanks also to Apple for obfuscating the private key in the ROM image, using a scheme that made the deobfuscation code itself stand out like a flare. Thanks to Ten Thousand Free Men and their Families for having a computer and stuff. Thanks to wtbw.

Contributors

Known Ports and Tools

Java: JAirPort RPlay.

Windows: shairport4w

OS X: ShairportMenu, a GUI wrapper as a menu widget MacShairport

Changelog

  • 0.01 April 5, 2011
    • initial release
  • 0.02 April 11, 2011
    • bugfix: libao compatibility
  • 0.03 April 11, 2011
    • bugfix: ipv6 didn't work - IO::Socket::INET6 is required too
  • 0.04 April 12, 2011
    • cross-platform count_leading_zeros under GCC - will now compile cleanly on ARM and other platforms
  • 0.05 April 13, 2011
    • error-handling cleanup in the Perl script including more meaningful error messages, based on common problems seen
S
Description
No description provided
Readme
14 MiB
Languages
C 92.2%
C++ 3.7%
Shell 1.6%
M4 1.4%
Makefile 0.6%
Other 0.5%