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 )