=== TrackInfo.pm ================================================================== --- TrackInfo.pm (revision 19251) +++ TrackInfo.pm (local) @@ -39,6 +39,11 @@ [ 'trackinfo', 'items', '_index', '_quantity' ], [ 1, 1, 1, \&cliQuery ] ); + + Slim::Control::Request::addDispatch( + [ 'trackinfo', 'playlist', '_method' ], + [ 1, 1, 1, \&cliQuery ] + ); %functions = ( === XMLBrowser.pm ================================================================== --- XMLBrowser.pm (revision 19251) +++ XMLBrowser.pm (local) @@ -1628,14 +1628,16 @@ # get our parameters my $client = $request->client(); my $method = $request->getParam('_method'); - if ($client && $method =~ /^(add|play|insert|load)$/i) { + my $urlTag = $request->getParam('url'); + my $titleTag = $request->getParam('title'); # single item - if ((defined $subFeed->{'url'} && $subFeed->{'type'} eq 'audio' || defined $subFeed->{'enclosure'}) - && (defined $subFeed->{'name'} || defined $subFeed->{'title'})) { + if ( (defined($urlTag)) || + ( (defined $subFeed->{'url'} && $subFeed->{'type'} eq 'audio' || defined $subFeed->{'enclosure'}) + && (defined $subFeed->{'name'} || defined $subFeed->{'title'}))) { - my $title = $subFeed->{'name'} || $subFeed->{'title'}; - my $url = $subFeed->{'url'}; + my $title = $titleTag || $subFeed->{'name'} || $subFeed->{'title'}; + my $url = $urlTag || $subFeed->{'url'}; # Podcast enclosures if ( my $enc = $subFeed->{'enclosure'} ) { @@ -1693,6 +1695,7 @@ push @urls, $url; } + if ( @urls ) { if ( $log->is_info ) { @@ -1913,9 +1916,17 @@ $request->addResultLoop( $loopname, $cnt, 'playAction', 'go'); $request->addResultLoop( $loopname, $cnt, 'addAction', 'go'); } - + if ( $query eq 'trackinfo' ) { +$log->error('##############################'); +Data::Dump::dump($item); +$log->error('##############################'); + #$itemParams->{'url'} = $item->{url}; + $itemParams->{'url'} = $item->{playlist}; + $itemParams->{'title'} = $hash{name} || $hash{title}; + } + if ( scalar keys %{$itemParams} && $isPlayable ) { - $request->addResultLoop( $loopname, $cnt, 'params', $itemParams ); + $request->addResultLoop( $loopname, $cnt, 'params', $itemParams); } } else {