diff -upBr server/Slim/Music/LiveSearch.pm Slim/Music/LiveSearch.pm --- server/Slim/Music/LiveSearch.pm 2005-05-19 14:13:42.578125000 -0700 +++ Slim/Music/LiveSearch.pm 2005-05-19 13:04:11.046875000 -0700 @@ -43,7 +43,7 @@ sub query { if (!Slim::Utils::Prefs::get('composerInArtists')) { - zz $find->{'contributor.role'} = $Slim::DataStores::DBI::ContributorTrack::contributorToRoleMap{'ARTIST'}; + $find->{'contributor.role'} = $Slim::DataStores::DBI::ContributorTrack::contributorToRoleMap{'ARTIST'}; } push @data, [ $type, [$ds->find($queries{$type}->[0], $find, undef, $limit, 0)] ]; diff -upBr server/Slim/Web/Pages.pm Slim/Web/Pages.pm --- server/Slim/Web/Pages.pm 2005-05-19 14:13:42.375000000 -0700 +++ Slim/Web/Pages.pm 2005-05-19 13:03:57.203125000 -0700 @@ -94,7 +94,8 @@ sub init { $form->{'includeArtist'} = ($webFormat !~ /ARTIST/); $form->{'includeAlbum'} = ($webFormat !~ /ALBUM/) ; $form->{'item'} = $item->id; - $form->{'itempath'} = $item->url; + $form->{'itempath'} = $item->url; + $form->{'itemobj'} = $item; my $Imports = Slim::Music::Import::importers(); for my $mixer (keys %{$Imports}) { @@ -1780,7 +1781,6 @@ sub _fillInSearchResults { ); } - my $webFormat = Slim::Utils::Prefs::getInd("titleFormat", Slim::Utils::Prefs::get("titleFormatWeb")); my $itemnumber = 0; my $lastAnchor = ''; @@ -1791,22 +1791,24 @@ sub _fillInSearchResults { my $sorted = $item->can('titlesort') ? $item->titlesort() : $item->namesort(); my %list_form = %$params; - $list_form{'includeArtist'} = ($webFormat !~ /ARTIST/); - $list_form{'includeAlbum'} = ($webFormat !~ /ALBUM/) ; - if ($type eq 'track') { - $list_form{'text'} = Slim::Music::Info::standardTitle(undef, $item); - $list_form{'artist'} = $item->artist(); - $list_form{'album'} = $item->album(); - $list_form{'item'} = $item->id(); - $list_form{'itempath'} = $item->url(); + my $fieldInfo = Slim::Web::Pages::fieldInfo(); + + # if $ds is undefined here, make sure we have it now. + $ds = Slim::Music::Info::getCurrentDataStore() unless $ds; + + # If we can't get an object for this url, skip it, as the + # user's database is likely out of date. Bug 863 + my $trackObj = $ds->objectForUrl($item) || next; + + my $itemname = &{$fieldInfo->{'track'}->{'resultToName'}}($trackObj); + &{$fieldInfo->{'track'}->{'listItem'}}($ds, \%list_form, $trackObj, $itemname, 0); } else { $list_form{'text'} = $title; } - $list_form{'itemobj'} = $item; $list_form{'attributes'} = '&' . join('=', $type, $item->id()); $list_form{'hierarchy'} = $hierarchy{$type}; $list_form{'level'} = 0; diff -upBr server/Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/instant_mix_list.html Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/instant_mix_list.html --- server/Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/instant_mix_list.html 2005-05-19 14:13:42.546875000 -0700 +++ Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/instant_mix_list.html 2005-05-19 12:07:27.921875000 -0700 @@ -1,16 +1,19 @@ - [% title %] + [% text %] [% IF includeAlbum && album && album != noAlbum %][% "FROM" | string %] [% album | html %][% END %] [% IF includeArtist && artist && artist != noArtist %][% "BY" | string %] [% artist | html %][% END %] - [% + [% - [% + [% + [% FOREACH mixer = mixerlinks.values.sort %] + [% PROCESS $mixer %] + [% END %] diff -upBr server/Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/mixerlink.html Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/mixerlink.html --- server/Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/mixerlink.html 2005-05-19 14:13:42.656250000 -0700 +++ Plugins/MoodLogic/HTML/Default/plugins/MoodLogic/mixerlink.html 2005-05-19 13:49:38.343750000 -0700 @@ -1,4 +1,4 @@ - [% IF mixable_descend %] [% [% END %] - [% IF mixable_not_descend %] [% [% END %] + [% IF mixable_descend %] [% [% END %] + [% IF mixable_not_descend %] [% [% END %] diff -upBr server/Plugins/MoodLogic/HTML/EN/plugins/MoodLogic/instant_mix_list.html Plugins/MoodLogic/HTML/EN/plugins/MoodLogic/instant_mix_list.html --- server/Plugins/MoodLogic/HTML/EN/plugins/MoodLogic/instant_mix_list.html 2005-05-19 14:13:42.531250000 -0700 +++ Plugins/MoodLogic/HTML/EN/plugins/MoodLogic/instant_mix_list.html 2005-05-19 11:59:39.390625000 -0700 @@ -1,10 +1,13 @@ - [% title %] + [% text %] [% IF includeAlbum && album && album != noAlbum %][% "FROM" | string %] [% album | html %][% END %] [% IF includeArtist && artist && artist != noArtist %][% "BY" | string %] [% artist | html %][% END %] + [% FOREACH mixer = mixerlinks.values.sort %] + [% PROCESS $mixer %] + [% END %] diff -upBr server/Plugins/MoodLogic/HTML/Fishbone/plugins/MoodLogic/instant_mix_list.html Plugins/MoodLogic/HTML/Fishbone/plugins/MoodLogic/instant_mix_list.html --- server/Plugins/MoodLogic/HTML/Fishbone/plugins/MoodLogic/instant_mix_list.html 2005-05-19 14:13:42.500000000 -0700 +++ Plugins/MoodLogic/HTML/Fishbone/plugins/MoodLogic/instant_mix_list.html 2005-05-19 12:01:27.078125000 -0700 @@ -1,7 +1,7 @@   [% IF anchor %][% END %] - [% title %] + [% text %] [% IF includeArtist && artist && artist != noArtist %][% "BY" | string %] [% artist | html %][% END %] [% IF includeAlbum && album && album != noAlbum %][% "FROM" | string %] @@ -22,5 +22,8 @@ + [% FOREACH mixer = mixerlinks.values.sort %] + [% PROCESS $mixer %] + [% END %]   diff -upBr server/Plugins/MoodLogic/Plugin.pm Plugins/MoodLogic/Plugin.pm --- server/Plugins/MoodLogic/Plugin.pm 2005-05-19 14:13:42.312500000 -0700 +++ Plugins/MoodLogic/Plugin.pm 2005-05-19 12:34:53.921875000 -0700 @@ -892,32 +892,15 @@ sub instant_mix { for my $item (@$items) { my %list_form = %$params; - my $webFormat = Slim::Utils::Prefs::getInd("titleFormat",Slim::Utils::Prefs::get("titleFormatWeb")); - + my $fieldInfo = Slim::Web::Pages::fieldInfo(); + + # If we can't get an object for this url, skip it, as the + # user's database is likely out of date. Bug 863 my $trackObj = $ds->objectForUrl($item) || next; - $list_form{'genre'} = $genre; - $list_form{'player'} = $player; - $list_form{'itempath'} = $item; - $list_form{'item'} = $item; - $list_form{'itemobj'} = $trackObj; - $list_form{'title'} = Slim::Music::Info::infoFormat($item, $webFormat, 'TITLE'); - $list_form{'includeArtist'} = ($webFormat !~ /ARTIST/); - $list_form{'includeAlbum'} = ($webFormat !~ /ALBUM/) ; - $list_form{'odd'} = ($itemnumber + 1) % 2; - $list_form{'album'} = $list_form{'includeArtist'} ? $trackObj->album() : undef; - - if ($list_form{'includeArtist'} && $trackObj) { + my $itemname = &{$fieldInfo->{'track'}->{'resultToName'}}($trackObj); + &{$fieldInfo->{'track'}->{'listItem'}}($ds, \%list_form, $trackObj, $itemname, 0); - if (Slim::Utils::Prefs::get('composerInArtists') && $trackObj) { - if (my ($contributor) = $trackObj->contributors()) { - $list_form{'artist'} = $contributor->name(); - $list_form{'artistid'} = $contributor->id(); - } - } else { - $list_form{'artist'} = $trackObj->artist(); - } - } $itemnumber++; $params->{'instant_mix_list'} .= ${Slim::Web::HTTP::filltemplatefile("plugins/MoodLogic/instant_mix_list.html", \%list_form)}; diff -upBr server/Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/mixerlink.html Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/mixerlink.html --- server/Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/mixerlink.html 2005-05-19 14:13:42.687500000 -0700 +++ Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/mixerlink.html 2005-05-19 13:49:32.187500000 -0700 @@ -1,4 +1,4 @@ - [% + [% \ No newline at end of file diff -upBr server/Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/musicmagic_mix_list.html Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/musicmagic_mix_list.html --- server/Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/musicmagic_mix_list.html 2005-05-19 14:13:42.468750000 -0700 +++ Plugins/MusicMagic/HTML/Default/plugins/MusicMagic/musicmagic_mix_list.html 2005-05-19 11:53:15.625000000 -0700 @@ -1,6 +1,6 @@ - [% title %] + [% text %] [% IF includeAlbum && album && album != noAlbum %][% "FROM" | string %] [% album | html %][% END %] [% IF includeArtist && artist && artist != noArtist %][% "BY" | string %] @@ -13,4 +13,10 @@ [% +[% FOREACH mixer = mixerlinks.values.sort %] + + [% PROCESS $mixer %] + +[% END %] + Only in Plugins/MusicMagic/HTML/Default/plugins/MusicMagic: musicmagic_mix_list.html.rej diff -upBr server/Plugins/MusicMagic/HTML/EN/plugins/MusicMagic/musicmagic_mix_list.html Plugins/MusicMagic/HTML/EN/plugins/MusicMagic/musicmagic_mix_list.html --- server/Plugins/MusicMagic/HTML/EN/plugins/MusicMagic/musicmagic_mix_list.html 2005-05-19 14:13:42.453125000 -0700 +++ Plugins/MusicMagic/HTML/EN/plugins/MusicMagic/musicmagic_mix_list.html 2005-05-19 11:53:10.578125000 -0700 @@ -1,6 +1,6 @@ - [% title %] + [% text %] [% IF includeAlbum && album && album != noAlbum %][% "FROM" | string %] [% album | html %][% END %] [% IF includeArtist && artist && artist != noArtist %][% "BY" | string %] @@ -13,5 +13,8 @@ [% "ADD_TO_PLAYLIST" | string %] + [% FOREACH mixer = mixerlinks.values.sort %] + [% PROCESS $mixer %] + [% END %] Only in Plugins/MusicMagic/HTML/EN/plugins/MusicMagic: musicmagic_mix_list.html.rej diff -upBr server/Plugins/MusicMagic/HTML/Fishbone/plugins/MusicMagic/musicmagic_mix_list.html Plugins/MusicMagic/HTML/Fishbone/plugins/MusicMagic/musicmagic_mix_list.html --- server/Plugins/MusicMagic/HTML/Fishbone/plugins/MusicMagic/musicmagic_mix_list.html 2005-05-19 14:13:42.421875000 -0700 +++ Plugins/MusicMagic/HTML/Fishbone/plugins/MusicMagic/musicmagic_mix_list.html 2005-05-19 12:43:19.515625000 -0700 @@ -1,13 +1,12 @@ -   +   [% IF anchor %][% END %] - [% title %] + [% text %] [% IF includeArtist && artist && artist != noArtist %][% "BY" | string %] [% artist | html %][% END %] [% IF includeAlbum && album && album != noAlbum %][% "FROM" | string %] [% album | html %][% END %] - - + @@ -23,6 +22,9 @@ + [% FOREACH mixer = mixerlinks.values.sort %] + [% PROCESS $mixer %] + [% END %]   Only in Plugins/MusicMagic/HTML/Fishbone/plugins/MusicMagic: musicmagic_mix_list.html.orig Only in Plugins/MusicMagic/HTML/Fishbone/plugins/MusicMagic: musicmagic_mix_list.html.rej diff -upBr server/Plugins/MusicMagic/Plugin.pm Plugins/MusicMagic/Plugin.pm --- server/Plugins/MusicMagic/Plugin.pm 2005-05-19 14:13:42.281250000 -0700 +++ Plugins/MusicMagic/Plugin.pm 2005-05-19 13:44:11.906250000 -0700 @@ -213,14 +213,14 @@ sub addGroups { sub isMusicLibraryFileChanged { my $http = Slim::Player::Protocols::HTTP->new({ - 'url' => "http://$MMSHost:$MMSport/api/cacheid?contentsOnly", + 'url' => "http://$MMSHost:$MMSport/api/cacheid?contents", 'create' => 0, 'timeout' => 5, }) || return 0; my $fileMTime = $http->content(); - $::d_musicmagic && msg("MusicMagic: read cacheid of $fileMTime\n"); + $::d_musicmagic && msg("MusicMagic: read cacheid of $fileMTime"); $http = Slim::Player::Protocols::HTTP->new({ 'url' => "http://$MMSHost:$MMSport/api/getStatus", @@ -230,7 +230,7 @@ sub isMusicLibraryFileChanged { my $MMMstatus = $http->content(); - $::d_musicmagic && msg("MusicMagic: got status - $MMMstatus\n"); + $::d_musicmagic && msg("MusicMagic: got status - $MMMstatus"); $http->close(); @@ -247,7 +247,7 @@ sub isMusicLibraryFileChanged { $::d_musicmagic && msg("MusicMagic: music library has changed!\n"); - $::d_musicmagic && msg(" Details: \n\t\tCacheid - $fileMTime\n\t\tLastCacheid - $oldTime\n\t\tReload Interval - $musicmagicscaninterval\n\t\tLast Scan - $lastMusicLibraryFinishTime\n"); + $::d_musicmagic && msg(" Details: \n\t\tCacheid - $fileMTime\t\tLastCacheid - $oldTime\n\t\tReload Interval - $musicmagicscaninterval\n\t\tLast Scan - $lastMusicLibraryFinishTime\n"); unless ($musicmagicscaninterval) { @@ -320,7 +320,7 @@ sub doneScanning { Slim::Utils::Prefs::set('MMMlastMusicLibraryFinishTime',time()); my $http = Slim::Player::Protocols::HTTP->new({ - 'url' => "http://$MMSHost:$MMSport/api/cacheid?contentsOnly", + 'url' => "http://$MMSHost:$MMSport/api/cacheid?contents", 'create' => 0, }) || return 0; @@ -661,7 +661,7 @@ sub exportFunction { } } - # skipping to done here. Duplicates currently crash the linux version of MusicMagic. + # skipping to done here. Duplicates currently crash the linux version of MusicMagic 1.1.3. if ($initialized !~ m/1\.1\.3$/) { $export = 'duplicates'; return 1; @@ -1062,38 +1062,18 @@ sub musicmagic_mix { for my $item (@$mix) { my %list_form = %$params; - my $webFormat = Slim::Utils::Prefs::getInd("titleFormat",Slim::Utils::Prefs::get("titleFormatWeb")); + my $fieldInfo = Slim::Web::Pages::fieldInfo(); # If we can't get an object for this url, skip it, as the # user's database is likely out of date. Bug 863 my $trackObj = $ds->objectForUrl($item) || next; - $list_form{'genre'} = $genre; - $list_form{'player'} = $player; - $list_form{'itempath'} = $item; - $list_form{'item'} = $trackObj->id; - $list_form{'itemobj'} = $trackObj; - $list_form{'title'} = Slim::Music::Info::infoFormat($trackObj, $webFormat, 'TITLE'); - $list_form{'includeArtist'} = ($webFormat !~ /ARTIST/); - $list_form{'includeAlbum'} = ($webFormat !~ /ALBUM/) ; - $list_form{'odd'} = ($itemnumber + 1) % 2; - $list_form{'album'} = $list_form{'includeArtist'} ? $trackObj->album() : undef; - - if ($list_form{'includeArtist'} && $trackObj) { - - if ($composerIn) { - if (my ($contributor) = $trackObj->contributors()) { - $list_form{'artist'} = $contributor->name(); - $list_form{'artistid'} = $contributor->id(); - } - } else { - $list_form{'artist'} = $trackObj->artist(); - } - } + my $itemname = &{$fieldInfo->{'track'}->{'resultToName'}}($trackObj); + &{$fieldInfo->{'track'}->{'listItem'}}($ds, \%list_form, $trackObj, $itemname, 0); $itemnumber++; - $params->{'mix_list'} .= ${Slim::Web::HTTP::filltemplatefile("plugins/MusicMagic/musicmagic_mix_list.html", \%list_form)}; + $params->{'mix_list'} .= ${Slim::Web::HTTP::filltemplatefile("browsedb_list.html", \%list_form)}; } if (defined $p0 && defined $client) { diff -upBr server/HTML/Default/browsedb_list.html HTML/Default/browsedb_list.html --- server/HTML/Default/browsedb_list.html 2005-05-19 14:13:42.640625000 -0700 +++ HTML/Default/browsedb_list.html 2005-05-19 13:48:23.750000000 -0700 @@ -6,31 +6,31 @@ [% IF descend %] - [% text | html %][% IF showYear && year %] ([% year %])[% END %] + [% text | html %][% IF showYear && year %] ([% year %])[% END %] [% IF level == 1 && includeArtist && artist %] [% "BY" | string %] - [% artist.name | html %] + [% artist.name | html %] [% END %] [% ELSE %] - [% text | html %][% IF showYear && year %] ([% year %])[% END %] + [% text | html %][% IF showYear && year %] ([% year %])[% END %] [% IF includeAlbum && album %] [% "FROM" | string %] - [% album | html %] + [% album | html %] [% END %] [% IF includeArtist && artist %] [% "BY" | string %] - [% artist | html %] + [% artist | html %] [% END %] @@ -39,13 +39,13 @@ - [% IF descend %][% [% END %] - [% IF not descend %][% [% END %] + [% IF descend %][% [% END %] + [% IF not descend %][% [% END %] - [% IF descend %][% [% END %] - [% IF not descend %][% [% END %] + [% IF descend %][% [% END %] + [% IF not descend %][% [% END %] [% FOREACH mixer = mixerlinks.values.sort %] diff -upBr server/HTML/Default2/browsedb_list.html HTML/Default2/browsedb_list.html --- server/HTML/Default2/browsedb_list.html 2005-05-19 14:13:42.734375000 -0700 +++ HTML/Default2/browsedb_list.html 2005-05-19 14:03:57.515625000 -0700 @@ -29,9 +29,9 @@ PlayAdd + attributes|html; ELSE %]&track=[% item; END %]")" src="[% webroot %]html/images/b/b_add.gif" width="13" height="13"/> [% FOREACH mixer = mixerlinks.values.sort ; PROCESS $mixer ; END %] diff -upBr server/HTML/EN/browsedb_list.html HTML/EN/browsedb_list.html --- server/HTML/EN/browsedb_list.html 2005-05-19 14:13:42.703125000 -0700 +++ HTML/EN/browsedb_list.html 2005-05-19 13:52:17.750000000 -0700 @@ -5,27 +5,27 @@ [% IF descend %] - [% text | html %] + [% text | html %] [% IF level == 1 && includeArtist && artist %] [% "BY" | string %] - [% artist.name | html %] + [% artist.name | html %] [% END %] [% ELSE %] - [% text | html %][% IF year %] ([% year %])[% END %] + [% text | html %][% IF year %] ([% year %])[% END %] [% IF includeAlbum && album %][% "FROM" | string %] - [% album | html %] + [% album | html %] [% END %] [% IF includeArtist && artist %][% "BY" | string %] - [% artist | html %] + [% artist | html %] [% END %] [% END %] @@ -34,10 +34,10 @@ [% IF descend %] - [% "PLAY" | string %] + [% "PLAY" | string %] [% ELSE %] - [% "PLAY" | string %] + [% "PLAY" | string %] [% END %] @@ -45,11 +45,11 @@ [% IF descend %] - [% FILTER nbsp %][% "ADD_TO_PLAYLIST" | string %][% END %] + [% FILTER nbsp %][% "ADD_TO_PLAYLIST" | string %][% END %] [% ELSE %] - [% FILTER nbsp %][% "ADD_TO_PLAYLIST" | string %][% END %] + [% FILTER nbsp %][% "ADD_TO_PLAYLIST" | string %][% END %] [% END %] diff -upBr server/HTML/Fishbone/browsedb_list.html HTML/Fishbone/browsedb_list.html --- server/HTML/Fishbone/browsedb_list.html 2005-05-19 14:13:42.609375000 -0700 +++ HTML/Fishbone/browsedb_list.html 2005-05-19 13:46:46.125000000 -0700 @@ -3,44 +3,44 @@ [% IF anchor %][% END %] [% IF coverThumb %] - [% item | html %][% IF artist %] [% + [% item | html %][% IF artist %] [% [% END %] - [% IF descend %][% text | html %][% IF showYear && year %] ([% year %])[% END %] + [% IF descend %][% text | html %][% IF showYear && year %] ([% year %])[% END %] [% IF level == 1 && includeArtist && artist %] [% "BY" | string %] - [% artist.name | html %] + [% artist.name | html %] [% END %] - [% ELSE %][% text | html %][% IF showYear && year %] ([% year %])[% END %] + [% ELSE %][% text | html %][% IF showYear && year %] ([% year %])[% END %] [% IF includeArtist && artist && artist != noArtist %][% "BY" | string %] - [% artist | html %][% END %] + [% artist | html %][% END %] [% IF includeAlbum && album && album != noAlbum %][% "FROM" | string %] - [% album | html %][% END %] + [% album | html %][% END %] [% END %] - [% IF descend %]Queue[% END %] - [% IF not descend %]Queue[% END %] + [% IF descend %]Queue[% END %] + [% IF not descend %]Queue[% END %]   - [% IF descend %]Play[% END %] - [% IF not descend %]Play[% END %] + [% IF descend %]Play[% END %] + [% IF not descend %]Play[% END %]   - [% IF descend %]Add[% END %] - [% IF not descend %]Add[% END %] + [% IF descend %]Add[% END %] + [% IF not descend %]Add[% END %]   - [% IF descend %]Delete[% END %] - [% IF not descend %]Delete[% END %] + [% IF descend %]Delete[% END %] + [% IF not descend %]Delete[% END %] [% FOREACH mixer = mixerlinks.values.sort %] [% PROCESS $mixer %]