AnyEvent-DAAP-Server

 view release on metacpan or  search on metacpan

README.pod  view on Meta::CPAN


    if ($req->uri->query_param('delta')) {
        my $cv = $connection->pause(sub {
            $connection->respond_dmap([[
                'dmap.updateresponse' => [
                    [ 'dmap.status'         => 200 ],
                    [ 'dmap.serverrevision' => $self->revision ],
                ]
            ]]);
        });
        my $w; $w = AE::timer 60, 0, sub { undef $w; $cv->send };
    } else {
        $connection->respond_dmap([[
            'dmap.updateresponse' => [
                [ 'dmap.status'         => 200 ],
                [ 'dmap.serverrevision' => $self->revision ],
            ]
        ]]);
    }
}

eg/simple_daap_server.pl  view on Meta::CPAN

use AnyEvent;
use AnyEvent::DAAP::Server;
use AnyEvent::DAAP::Server::Track::File::MP3;
use AnyEvent::DAAP::Server::Playlist;
use File::Find::Rule;
use File::Basename qw(dirname);

my $daap = AnyEvent::DAAP::Server->new(port => 23689);

my %playlist;
my $w; $w = AE::timer 1, 0, sub {
    foreach my $file (find name => "*.mp3", in => '.') {
        my $dir = dirname $file;
        my $playlist = $playlist{$dir} ||= do {
            my $playlist = AnyEvent::DAAP::Server::Playlist->new(
                dmap_itemname => $dir,
            );
            $daap->add_playlist($playlist);
            $playlist;
        };
        my $track = AnyEvent::DAAP::Server::Track::File::MP3->new(file => $file);

lib/AnyEvent/DAAP/Server.pm  view on Meta::CPAN


    if ($req->uri->query_param('delta')) {
        my $cv = $connection->pause(sub {
            $connection->respond_dmap([[
                'dmap.updateresponse' => [
                    [ 'dmap.status'         => 200 ],
                    [ 'dmap.serverrevision' => $self->revision ],
                ]
            ]]);
        });
        my $w; $w = AE::timer 60, 0, sub { undef $w; $cv->send };
    } else {
        $connection->respond_dmap([[
            'dmap.updateresponse' => [
                [ 'dmap.status'         => 200 ],
                [ 'dmap.serverrevision' => $self->revision ],
            ]
        ]]);
    }
}



( run in 1.114 second using v1.01-cache-2.11-cpan-49f99fa48dc )