SongFilter: search for album artist falls back to the artist tag
Implement Mantis ticket 0003646.
This commit is contained in:
parent
e354c5c2a8
commit
44faf1080c
1
NEWS
1
NEWS
|
@ -3,6 +3,7 @@ ver 0.18 (2012/??/??)
|
||||||
- allow tilde paths for socket
|
- allow tilde paths for socket
|
||||||
* protocol:
|
* protocol:
|
||||||
- new command "toggleoutput"
|
- new command "toggleoutput"
|
||||||
|
- search for album artist falls back to the artist tag
|
||||||
* innput:
|
* innput:
|
||||||
- curl: enable https
|
- curl: enable https
|
||||||
- soup: plugin removed
|
- soup: plugin removed
|
||||||
|
|
|
@ -94,15 +94,27 @@ SongFilter::Item::Match(const Tag &_tag) const
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If the search critieron was not visited during the sweep
|
if (tag < TAG_NUM_OF_ITEM_TYPES && !visited_types[tag]) {
|
||||||
* through the song's tag, it means this field is absent from
|
/* If the search critieron was not visited during the
|
||||||
* the tag or empty. Thus, if the searched string is also
|
sweep through the song's tag, it means this field
|
||||||
* empty (first char is a \0), then it's a match as well and
|
is absent from the tag or empty. Thus, if the
|
||||||
* we should return true.
|
searched string is also empty (first char is a \0),
|
||||||
*/
|
then it's a match as well and we should return
|
||||||
if (*value == 0 && tag < TAG_NUM_OF_ITEM_TYPES &&
|
true. */
|
||||||
!visited_types[tag])
|
if (*value == 0)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
if (tag == TAG_ALBUM_ARTIST && visited_types[TAG_ARTIST]) {
|
||||||
|
/* if we're looking for "album artist", but
|
||||||
|
only "artist" exists, use that */
|
||||||
|
for (unsigned i = 0; i < _tag.num_items; i++) {
|
||||||
|
const TagItem &item = *_tag.items[i];
|
||||||
|
if (item.type == TAG_ARTIST &&
|
||||||
|
StringMatch(item.value))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue