#!/usr/bin/perl -w # # $Id: mpcmd,v 1.2 2001/03/22 03:00:25 mdb Exp $ # # Appends the supplied song or songs to the playlist of a running MP3 # daemon. use strict; use IO::Socket; my $usage = "Usage: $0 COMMAND [ARGUMENT ...]\n"; my $command = shift or die $usage; # determine our music daemon host and port my $host = "localhost"; if (defined $ENV{"MUSICD_HOST"}) { $host = $ENV{"MUSICD_HOST"}; } my $port = 2500; if (defined $ENV{"MUSICD_PORT"}) { $port = $ENV{"MUSICD_PORT"}; } # establish a socket connection with the server my $sock = new IO::Socket::INET(PeerAddr => $host, PeerPort => $port, Proto => "tcp"); if (!defined $sock) { die "Unable to connect to music server on $host:$port.\n"; } # send the command print $sock "$command " . join(" ", @ARGV) . "\n"; # PLAYLIST has a multiline response, others are single line if ($command eq "PLAYLIST") { my $rsp = <$sock>; print $rsp; if ($rsp =~ m/200 Playlist songs: (\d+)/) { my $i; for ($i = 0; $i < $1; $i++) { print scalar <$sock>; } } } else { print scalar <$sock>; } close $sock;