diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json
index 9acdad54..aa2cdfd9 100644
--- a/src/i18n/en_US.json
+++ b/src/i18n/en_US.json
@@ -353,7 +353,7 @@
"settings.option.experimental.close_button_hide": "Close Button Should Hide the Application",
"settings.option.experimental.inline_playlists": "Inline Playlists and Albums",
"settings.option.advanced.playlistTrackMapping": "Playlist Track Mapping",
- "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists.",
+ "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.",
"spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.",
"spatial.spatialProperties": "Spatial Properties",
"spatial.width": "Width",
diff --git a/src/i18n/source/en_US.json b/src/i18n/source/en_US.json
index 9acdad54..aa2cdfd9 100644
--- a/src/i18n/source/en_US.json
+++ b/src/i18n/source/en_US.json
@@ -353,7 +353,7 @@
"settings.option.experimental.close_button_hide": "Close Button Should Hide the Application",
"settings.option.experimental.inline_playlists": "Inline Playlists and Albums",
"settings.option.advanced.playlistTrackMapping": "Playlist Track Mapping",
- "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists.",
+ "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.",
"spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.",
"spatial.spatialProperties": "Spatial Properties",
"spatial.width": "Width",
diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js
index 186b62ce..144ada57 100644
--- a/src/renderer/main/vueapp.js
+++ b/src/renderer/main/vueapp.js
@@ -992,8 +992,9 @@ const app = new Vue({
}
})
},
- async refreshPlaylists(localOnly = false, trackMap = true) {
+ async refreshPlaylists(localOnly = false) {
let self = this
+ let trackMap = this.cfg.advanced.playlistTrackMapping
let newListing = []
let trackMapping = {}
const cachedPlaylist = await CiderCache.getCache("library-playlists")
@@ -1023,6 +1024,12 @@ const app = new Vue({
const playlistData = await app.mk.api.v3.music(`/v1/me/library/playlist-folders/${parent}/children/`)
await asyncForEach(playlistData.data.data, async (playlist) => {
playlist.parent = parent
+ if(
+ playlist.type != "library-playlist-folders" &&
+ typeof playlist.attributes.playParams["versionHash"] != "undefined"
+ ) {
+ playlist.parent = "p.applemusic"
+ }
playlist.children = []
playlist.tracks = []
try {
diff --git a/src/renderer/style.less b/src/renderer/style.less
index 89633b1f..f3255d4f 100644
--- a/src/renderer/style.less
+++ b/src/renderer/style.less
@@ -789,6 +789,14 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
-webkit-user-drag: element;
overflow: hidden;
text-overflow: ellipsis;
+
+ .presentNotice {
+ align-self: center;
+ margin-left: 8px;
+ text-transform: uppercase;
+ font-size: 0.7em;
+ opacity: 0.6;
+ }
}
}
diff --git a/src/renderer/views/app/sidebar.ejs b/src/renderer/views/app/sidebar.ejs
index 65aa3688..28a9e8e3 100644
--- a/src/renderer/views/app/sidebar.ejs
+++ b/src/renderer/views/app/sidebar.ejs
@@ -55,6 +55,13 @@