Audio-RaveMP

 view release on metacpan or  search on metacpan

RaveMP.pm  view on Meta::CPAN

package Audio::RaveMP;

use DynaLoader ();

$VERSION = "0.04";

@ISA = qw(DynaLoader);

__PACKAGE__->bootstrap($VERSION);

if ((caller)[0] eq 'Xmms') {
    eval join '', <DATA>;
    print $@ if $@;
    unless (defined &Xmms::is_cpl) {
	*Xmms::is_cpl = sub {0};
    }
}

my %FileDesc = (
    'D' => "Start of Document file",
    'd' => "Additional Document file block",
    'E' => "Start of 'Other File' type",
    'e' => "Additional 'Other File' block",
    'F' => "FAT",
    'M' => "MP3 File",
    'm' => "Additional MP3 file block",
    'P' => "Start of PCM File",
    'p' => "Additional PCM file block",
    'T' => "Start of Telephone File",
    't' => "Additional Telephone file block",
);

sub Audio::RaveMPSlot::file_description {
    my $slot = shift;
    $FileDesc{$slot->type};
}

1;

__DATA__

#Xmms::shell plugin
package Xmms::Cmd;

#require Xmms 0.09;

my $rmp = ravemp_init();
my $files_cache;
my $file_slots = {};

sub ravemp_init {
    eval {
	require Audio::RaveMPClient;
	$rmp = Audio::RaveMPClient->new;
    };

    if ($rmp) {
	return $rmp;
    }
    else {
	print Xmms::highlight(Warn => "RaveMP: Connect to server failed\n");
    }

    $rmp = Audio::RaveMP->new;
    unless ($rmp->permitted) {
	print Xmms::highlight(Error => "RaveMP: $!\n");
	$rmp = undef;
	return;
    }
    unless ($rmp->is_ready) {
	print Xmms::highlight(Warn => "RaveMP: Device is not ready\n");



( run in 0.790 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )