AnyEvent-DAAP-Server
view release on metacpan or search on metacpan
[ 'dmap.listing' => \@playlists ],
]
]]);
}
sub _database_container_items {
my ($self, $connection, $req, $args) = @_;
# $args->{database_id}, $args->{container_id}
my $playlist = $self->playlists->{ $args->{container_id} }
or return $connection->respond(404);
my $tracks = $self->__format_tracks_as_dmap($req, scalar $playlist->tracks);
$connection->respond_dmap([[
'daap.playlistsongs' => [
[ 'dmap.status' => 200 ],
[ 'dmap.updatetype' => 0 ],
[ 'dmap.specifiedtotalcount' => scalar @$tracks ],
[ 'dmap.returnedcount' => scalar @$tracks ],
[ 'dmap.listing' => $tracks ]
]
]]);
}
sub _database_item {
my ($self, $connection, $req, $args) = @_;
# $args->{database_id}, $args->{item_id}
my $track = $self->tracks->{ $args->{item_id} }
or return $connection->respond(404);
$track->stream($connection, $req, $args);
}
sub __format_tracks_as_dmap {
my ($self, $req, $tracks) = @_;
my @fields = ( qw(dmap.itemkind dmap.itemid dmap.itemname), split /,|%2C/i, scalar $req->uri->query_param('meta') || '' );
my @tracks;
lib/AnyEvent/DAAP/Server.pm view on Meta::CPAN
[ 'dmap.listing' => \@playlists ],
]
]]);
}
sub _database_container_items {
my ($self, $connection, $req, $args) = @_;
# $args->{database_id}, $args->{container_id}
my $playlist = $self->playlists->{ $args->{container_id} }
or return $connection->respond(404);
my $tracks = $self->__format_tracks_as_dmap($req, scalar $playlist->tracks);
$connection->respond_dmap([[
'daap.playlistsongs' => [
[ 'dmap.status' => 200 ],
[ 'dmap.updatetype' => 0 ],
[ 'dmap.specifiedtotalcount' => scalar @$tracks ],
[ 'dmap.returnedcount' => scalar @$tracks ],
[ 'dmap.listing' => $tracks ]
]
]]);
}
sub _database_item {
my ($self, $connection, $req, $args) = @_;
# $args->{database_id}, $args->{item_id}
my $track = $self->tracks->{ $args->{item_id} }
or return $connection->respond(404);
$track->stream($connection, $req, $args);
}
sub __format_tracks_as_dmap {
my ($self, $req, $tracks) = @_;
my @fields = ( qw(dmap.itemkind dmap.itemid dmap.itemname), split /,|%2C/i, scalar $req->uri->query_param('meta') || '' );
my @tracks;
( run in 0.486 second using v1.01-cache-2.11-cpan-39bf76dae61 )