#!/usr/bin/perl use strict; my $mservcmd = "mservcmd -u root -p root"; if ($0 =~ m/(mnext|mplay|mstop|mpause|mrandom|mstatus|msync)$/) { my $cmd = $0; $cmd =~ s!^.*/m!!; mserv("$cmd" . ( (scalar(@ARGV) > 0) ? " ". join(" ", @ARGV) : "" )); } elsif ($0 =~ /mscan$/) { mserv("queue"); } elsif ($0 =~ /mpick$/) { unless (@ARGV) { print "Arguments required - what do you want to look for?\n"; exit 1; } if ($ARGV[0] eq '-a') { shift; mserv("asearch " . join(" ",@ARGV)); } else { mserv("search " . join(" ",@ARGV)); } } elsif ($0 =~ /mq$/) { unless (@ARGV) { # ignore the first response <>; while (<>) { chomp(); my ($album,$track,$song) = split(/\s+/,$_,3); mserv("queue $album $track"); } exit; } while (@ARGV) { $_ = shift; mserv("clear") if (/^-c$/); mserv("queue") if (/^-l$/); if (/^-setup$/) { foreach ("mplay", "mnext", "mpause", "mrandom", "mscan", "mpick", "mstop", "msync", "mstatus") { print "Linking ~/bin/mq -> ~/bin/$_\n"; system("ln -s ~/bin/mq ~/bin/$_"); } } } } sub mserv { my $cmd = shift; print "--> $mservcmd \"$cmd\"\n"; system("$mservcmd \"$cmd\""); }