Skip to content

Commit

Permalink
Filter "- Live" for Spotify tracks
Browse files Browse the repository at this point in the history
Closes #1973.
  • Loading branch information
alexesprit committed May 12, 2019
1 parent 562994d commit 7388af4
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/connectors/spotify.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Connector.currentTimeSelector = '.Root__now-playing-bar .playback-bar__progress-

Connector.durationSelector = '.Root__now-playing-bar .playback-bar__progress-time:last-child';

Connector.applyFilter(MetadataFilter.getRemasteredFilter());
Connector.applyFilter(MetadataFilter.getSpotifyFilter());

Connector.isScrobblingAllowed = () => {
return isMusicPlaying();
Expand Down
37 changes: 37 additions & 0 deletions src/core/content/filter.js
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,18 @@ class MetadataFilter {
);
}

/**
* Remove "Live..."-like strings from the text.
* @param {String} text String to be filtered
* @return {String} Filtered string
*/
static removeLive(text) {
return MetadataFilter.filterWithFilterSet(
text, MetadataFilter.LIVE_FILTERS
);
}


/**
* "REAL_TITLE : REAL_TILE" -> "REAL_TITLE"
* @param {String} text String to be filtered
Expand Down Expand Up @@ -354,6 +366,16 @@ class MetadataFilter {
];
}

static get LIVE_FILTERS() {

return [
// Track - Live
{ source: /-\sLive?$/, target: '' },
// Track - Live at
{ source: /-\sLive\s.+?$/, target: '' },
];
}

/**
* Get simple trim filter object used by default in a Connector object.
* @return {MetadataFilter} Filter object
Expand Down Expand Up @@ -387,6 +409,21 @@ class MetadataFilter {
});
}

/**
* Get predefined filter object that uses 'removeRemastered' function.
* @return {MetadataFilter} Filter object
*/
static getSpotifyFilter() {
return new MetadataFilter({
track: [
MetadataFilter.removeRemastered, MetadataFilter.removeLive
],
album: [
MetadataFilter.removeRemastered, MetadataFilter.removeLive
],
});
}

/**
* Get predefined filter object that uses 'removeDoubleTitle' function.
* @return {MetadataFilter} Filter object
Expand Down

0 comments on commit 7388af4

Please sign in to comment.