All pastes #561 Raw Edit

xmmsctrl

public text v1 · immutable
#561 ·published 2004-08-10 20:16 UTC
rendered paste body
#!/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(<XS>) {
        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(<XS>) {
        chomp;
        m/([0-9]+)\.\s+(.*)/;
        push @list, [ $1, $2 ];
    }
    close XS;
    return [@list];
}