Audio-RaveMP
view release on metacpan or search on metacpan
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 )