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 )