#!/usr/bin/perl use XMLRPC::Transport::HTTP; my $daemon = XMLRPC::Transport::HTTP::Daemon -> new (LocalPort => 8008) -> dispatch_to('main'); print "Contact: " . $daemon->url ."\n"; $daemon->handle; sub xmmsNext { print "Next...\n"; system "xmms-shell -e next"; return 1; } sub xmmsPrev { print "Previous...\n"; system "xmms-shell -e previous"; return 1; } sub xmmsJump { shift; my $param1 = shift; print "Jump to $param1...\n"; system "xmms-shell -e 'jump $param1'"; return $param1; } sub xmmsCurrent { print "Status...\n"; open XS, "xmms-shell -e status|"; while() { chomp; $playing = $1 if m/^Playing: (.*)/; } return $playing unless !defined $playing; return "NONE"; } sub xmmsList { print "List...\n"; open XS, "xmms-shell -e list|"; my @list = (); while() { chomp; m/([0-9]+)\.\s+(.*)/; push @list, [ $1, $2 ]; } close XS; return [@list]; }