Audio-Daemon
view release on metacpan or search on metacpan
Daemon/Client.pm view on Meta::CPAN
package Audio::Daemon::Client;
use strict;
use IO::Socket;
use IO::Select;
use Audio::Daemon;
use vars qw(@ISA $VERSION);
@ISA = qw(Audio::Daemon);
my $VERSION='0.99Beta';
sub new {
my $class = shift;
my $self = $class->SUPER::new(@_);
bless $self, $class;
$self->warn("instantiated...");
return $self;
}
sub inline {
my $self = shift;
return if (! scalar @_);
my @args;
foreach my $arg (@_) {
if (ref $arg eq 'ARRAY') {
foreach my $a (@$arg) {
push @args, $a;
}
} else {
push @args, $arg;
}
}
return @args;
}
sub add {
my $self = shift;
my $cmd = join $self->{sep}, 'add', $self->inline(@_);
$self->sendcmd($cmd);
}
sub del {
my $self = shift;
my $cmd = join $self->{sep}, 'del', $self->inline(@_);
$self->sendcmd($cmd);
}
sub play {
my $self = shift;
$self->sendcmd(join $self->{sep}, 'play', $self->inline(@_));
}
sub next {
# () moves to next track
my $self = shift;
my $cmd = 'next';
$self->sendcmd($cmd);
}
# I'm taking these out becuase I can't think of how to return the value
# in a very nice way.
# sub nextlist {
# # () returnes next ID in list
# my $self = shift;
# my $cmd = join $self->{sep}, 'nextlist', $self->inline(@_);
# $self->sendcmd($cmd);
# }
# sub prevlist {
# my $self = shift;
# my $cmd = join $self->{sep}, 'prevlist', $self->inline(@_);
# $self->sendcmd($cmd);
# }
sub prev {
my $self = shift;
my $cmd = 'prev';
$self->sendcmd($cmd);
}
sub pause {
( run in 1.003 second using v1.01-cache-2.11-cpan-a9496e3eb41 )