Audio-Daemon-MPG123
view release on metacpan or search on metacpan
MPG123/Client.pm view on Meta::CPAN
package Audio::Daemon::MPG123::Client;
use strict;
use IO::Socket;
use IO::Select;
use Audio::Daemon::MPG123;
use vars qw(@ISA $VERSION);
@ISA = qw(Audio::Daemon::MPG123);
my $VERSION='0.9Beta';
sub new {
my $class = shift;
my $self = $class->SUPER::new(@_);
bless $self, $class;
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 {
my $self = shift;
( run in 0.426 second using v1.01-cache-2.11-cpan-3c2a17b8caa )