diff --git a/lib/mpd_protocol.js b/lib/mpd_protocol.js index 84da20f..9a04407 100644 --- a/lib/mpd_protocol.js +++ b/lib/mpd_protocol.js @@ -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);