Aurena is a network distributed media playback system. It provides a server for media content, and clients for synchronised playback across all receivers, similar to some (expensive) commercial systems. To use this, just build it in the usual autoconf-ey way (configure && make) Building the clients requires GLib/GObject > 2.30, avahi-client and avahi-glib > 0.6.24, json-glib-1.0 and libsoup >= 2.26.1, as well as GStreamer 1.0 and gst-plugins-base libs. The GUI clients also require GTK+ 3.0 To build the server binary, you additionally need sqlite >= 3.3, and a slightly newer GLib (>=2.32) and libsoup (> 2.48). You only need the server on one machine that will host the media files. Only a client app is needed on the receivers. After building, run src/aurena-server on one machine, and 'src/aurena-simple-client' (or one of the other client apps in src/) on several clients that can access the server machine 'server-host'. The clients should auto-detect the server. If that doesn't work (if Avahi broadasts are broken) pass the server-host name explicitly as a parameter to aurena-simple-client. For control, hit http://server-host:5457/ Notes/future ideas: *) media library with metadata - see available songs *) Multiple zones, ability to move players between zones **) pause zone when 0 players online - daemon portion - http + rtsp + network clock source + avahi announcements + base time distribution + http = libsoup + network clock source = gst - rtsp = gst-rtsp-server - player + playbin wrapper that does rtsp or http + network clock subscription and follows remote volume control, pause/play etc. Security ======== Very little effort has been put into making the server secure. It allows making clients play any arbitrary http URI. No authentication is required for clients to connect. This software should only ever be run on a private network, where all software running on the network and its clients is trusted.