MPD: Make "search" a substring match.

This seems to be what mpd does I and am rather used to that behaviour. I am
switching on caseSensitive here which may not be what it is intended for but
for now that only get passed through as false from one place so everything
else should still work fine.
This commit is contained in:
jimmy 2014-04-26 12:56:02 +12:00
parent 35648a0a1d
commit 6745455a74

View file

@ -1334,9 +1334,19 @@ function forEachMatchingTrack(self, filters, caseSensitive, fn) {
var filter = filters[filterIndex];
var filterField = track[filter.field];
if (!caseSensitive && filterField) filterField = filterField.toLowerCase();
if (filterField !== filter.value) {
matches = false;
break;
/* assumes:
* caseSensitive implies "find"
* !caseSensitive implies "search"
*/
if (caseSensitive) {
if (filterField === filter.value) {
matches = false;
break;
}
} else if (filterField.indexOf(filter.value) < 0) {
matches = false;
break;
}
}
if (matches) fn(track);