Add support for using mpd as a backend music-playing
[adorno.git] / inc / adornoPlayer.php
blobaa4b7f421b9dd760b77f33e4f30c5ac9e4ad5734
1 <?php
3 function daemon_play_track( $path ) {
4 $fifo = fopen( "/var/run/adorno/fifo", "w" );
5 fputs( $fifo, "queue $path\n" );
6 fclose($fifo);
8 return true;
11 function daemon_current_track() {
12 $result = (object) array();
14 if ( ! file_exists( "/var/run/adorno/queue.txt" ) ) return $result;
16 $fd = fopen( "/var/run/adorno/queue.txt", "r" );
17 if ( $fd ) {
18 $track = fgets( $fd, 300 );
19 $track = trim( $track, "\n" );
20 $started = fgets( $fd, 300 );
21 $started = trim( $started, "\n" );
22 fclose($fd);
24 $result->track = $track;
25 $result->started = $started;
28 return $result;
31 function daemon_get_queue() {
32 if ( ! file_exists( "/var/run/adorno/queue.txt" ) ) return array();
33 $fd = fopen( "/var/run/adorno/queue.txt", "r" );
34 if ( $fd ) {
35 $track = fgets( $fd, 2048 ); // Skip the "now playing" - it showed at the top.
36 $track = fgets( $fd, 300 ); // Skip the start time...
38 $tracks = array();
39 while( !feof( $fd ) ) {
40 $tracks[] = fgets( $fd, 2048 ); // Yes: we assume all tracks are less than 2048 bytes.
42 fclose($fd);
44 return $tracks;
47 function daemon_other_command( $action, $track ) {
48 $fifo = fopen( "/var/run/adorno/fifo", "w" );
49 if ( ! ereg( "^(/music)|(http://)", "$track" ) ) {
50 $track = "/music" . "$track";
52 # $track = eregi_replace( " ", "\\ ", $track);
53 fputs( $fifo, "$action $track\n" );
54 fclose($fifo);