From db89ab7a604ccdf489eb888e781cdf73aac03cc9 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Tue, 15 Feb 2022 19:39:53 -0800 Subject: [PATCH 1/7] exposed --songProgressColor and --songProgressBackground --- src/renderer/index.js | 2 +- src/renderer/style.less | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 6ac0715b..66e5c23d 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1170,7 +1170,7 @@ const app = new Vue({ let max = this.mk.currentPlaybackDuration let value = (val - min) / (max - min) * 100 return { - 'background': ('linear-gradient(to right, var(--keyColor) 0%, var(--keyColor) ' + value + '%, #333 ' + value + '%, #333 100%)') + 'background': ('linear-gradient(to right, var(--songProgressColor) 0%, var(--songProgressColor) ' + value + '%, var(--songProgressBackground) ' + value + '%, var(--songProgressBackground) 100%)') } }, async getRecursive(response) { diff --git a/src/renderer/style.less b/src/renderer/style.less index 85949811..9df52a9b 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -35,6 +35,8 @@ --keyColor-disabled: rgba(250, 88, 106, 0.35); --navigationBarHeight: 38px; --modalBackground: #262626; + --songProgressColor: var(--keyColor); + --songProgressBackground: #333; --textColor: #eee; } From 24313b53cf5b6fb37e8454175d91074c0f644cee Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 16 Feb 2022 13:04:40 +0700 Subject: [PATCH 2/7] revert --- src/renderer/index.js | 8 ++++---- src/renderer/views/components/sidebar-playlist.ejs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 6ac0715b..f4a97d46 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -555,7 +555,7 @@ const app = new Vue({ } ).then(() => { if (this.page == 'playlist_' + this.showingPlaylist.id) { - this.getPlaylistFromID(this.showingPlaylist.id, true) + this.getPlaylistFromID(this.showingPlaylist.id) } }) }, @@ -997,7 +997,7 @@ const app = new Vue({ console.log(res) self.appRoute(`playlist_` + res.id); self.showingPlaylist = []; - self.getPlaylistFromID(app.page.substring(9), true) + self.getPlaylistFromID(app.page.substring(9)) self.playlists.listing.push({ id: res.id, attributes: { @@ -1572,14 +1572,14 @@ const app = new Vue({ if (kind == "appleCurator") { app.appleCurator = a.data.data[0] } else { - this.getPlaylistContinuous(a, true) + this.getPlaylistContinuous(a) } } } finally { if (kind == "appleCurator") { app.appleCurator = a.data.data[0] } else { - this.getPlaylistContinuous(a, true) + this.getPlaylistContinuous(a) } } ; diff --git a/src/renderer/views/components/sidebar-playlist.ejs b/src/renderer/views/components/sidebar-playlist.ejs index bfe0edf6..83df7072 100644 --- a/src/renderer/views/components/sidebar-playlist.ejs +++ b/src/renderer/views/components/sidebar-playlist.ejs @@ -189,7 +189,7 @@ openPlaylist(item) { this.$root.appRoute(`playlist_` + item.id); this.$root.showingPlaylist = []; - this.$root.getPlaylistFromID(this.$root.page.substring(9), true) + this.$root.getPlaylistFromID(this.$root.page.substring(9)) }, getPlaylistChildren(item) { let self = this From 209d3889fb0c2ad15ca1742e15aad47ffb27b168 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 16 Feb 2022 13:21:09 +0700 Subject: [PATCH 3/7] Revert "revert" This reverts commit 24313b53cf5b6fb37e8454175d91074c0f644cee. --- src/renderer/index.js | 8 ++++---- src/renderer/views/components/sidebar-playlist.ejs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index aaf75dfe..66e5c23d 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -555,7 +555,7 @@ const app = new Vue({ } ).then(() => { if (this.page == 'playlist_' + this.showingPlaylist.id) { - this.getPlaylistFromID(this.showingPlaylist.id) + this.getPlaylistFromID(this.showingPlaylist.id, true) } }) }, @@ -997,7 +997,7 @@ const app = new Vue({ console.log(res) self.appRoute(`playlist_` + res.id); self.showingPlaylist = []; - self.getPlaylistFromID(app.page.substring(9)) + self.getPlaylistFromID(app.page.substring(9), true) self.playlists.listing.push({ id: res.id, attributes: { @@ -1572,14 +1572,14 @@ const app = new Vue({ if (kind == "appleCurator") { app.appleCurator = a.data.data[0] } else { - this.getPlaylistContinuous(a) + this.getPlaylistContinuous(a, true) } } } finally { if (kind == "appleCurator") { app.appleCurator = a.data.data[0] } else { - this.getPlaylistContinuous(a) + this.getPlaylistContinuous(a, true) } } ; diff --git a/src/renderer/views/components/sidebar-playlist.ejs b/src/renderer/views/components/sidebar-playlist.ejs index 83df7072..bfe0edf6 100644 --- a/src/renderer/views/components/sidebar-playlist.ejs +++ b/src/renderer/views/components/sidebar-playlist.ejs @@ -189,7 +189,7 @@ openPlaylist(item) { this.$root.appRoute(`playlist_` + item.id); this.$root.showingPlaylist = []; - this.$root.getPlaylistFromID(this.$root.page.substring(9)) + this.$root.getPlaylistFromID(this.$root.page.substring(9), true) }, getPlaylistChildren(item) { let self = this From 9218ccc88731b607f228ac712e3987d7baab668e Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 16 Feb 2022 13:22:48 +0700 Subject: [PATCH 4/7] ok? --- src/preload/cider-preload.js | 2 +- src/renderer/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/preload/cider-preload.js b/src/preload/cider-preload.js index bf6f2924..dea3f90c 100644 --- a/src/preload/cider-preload.js +++ b/src/preload/cider-preload.js @@ -23,7 +23,7 @@ const MusicKitInterop = { /** wsapi */ MusicKit.getInstance().addEventListener(MusicKit.Events.nowPlayingItemDidChange, async () => { - // await MusicKitInterop.modifyNamesOnLocale(); + await MusicKitInterop.modifyNamesOnLocale(); if (MusicKitInterop.filterTrack(MusicKitInterop.getAttributes(), false, true) || !app.cfg.lastfm.filterLoop) { global.ipcRenderer.send('nowPlayingItemDidChange', MusicKitInterop.getAttributes()); } diff --git a/src/renderer/index.js b/src/renderer/index.js index 66e5c23d..c2aee7ac 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1094,7 +1094,7 @@ const app = new Vue({ let playlistId = response.id this.playlists.loadingState = (!transient) ? 0 : 1 this.showingPlaylist = response - if (!response.relationships.tracks.next) { + if (!response.relationships?.tracks?.next) { this.playlists.loadingState = 1 return } From 0ec09096976a9e0eb36338556125b39260767742 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 16 Feb 2022 13:23:09 +0700 Subject: [PATCH 5/7] Revert "ok?" This reverts commit 9218ccc88731b607f228ac712e3987d7baab668e. --- src/preload/cider-preload.js | 2 +- src/renderer/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/preload/cider-preload.js b/src/preload/cider-preload.js index dea3f90c..bf6f2924 100644 --- a/src/preload/cider-preload.js +++ b/src/preload/cider-preload.js @@ -23,7 +23,7 @@ const MusicKitInterop = { /** wsapi */ MusicKit.getInstance().addEventListener(MusicKit.Events.nowPlayingItemDidChange, async () => { - await MusicKitInterop.modifyNamesOnLocale(); + // await MusicKitInterop.modifyNamesOnLocale(); if (MusicKitInterop.filterTrack(MusicKitInterop.getAttributes(), false, true) || !app.cfg.lastfm.filterLoop) { global.ipcRenderer.send('nowPlayingItemDidChange', MusicKitInterop.getAttributes()); } diff --git a/src/renderer/index.js b/src/renderer/index.js index c2aee7ac..66e5c23d 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1094,7 +1094,7 @@ const app = new Vue({ let playlistId = response.id this.playlists.loadingState = (!transient) ? 0 : 1 this.showingPlaylist = response - if (!response.relationships?.tracks?.next) { + if (!response.relationships.tracks.next) { this.playlists.loadingState = 1 return } From 3772399c01de566946cdeaddb80f399edd36576d Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 16 Feb 2022 13:23:59 +0700 Subject: [PATCH 6/7] ok --- src/renderer/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 66e5c23d..c2aee7ac 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1094,7 +1094,7 @@ const app = new Vue({ let playlistId = response.id this.playlists.loadingState = (!transient) ? 0 : 1 this.showingPlaylist = response - if (!response.relationships.tracks.next) { + if (!response.relationships?.tracks?.next) { this.playlists.loadingState = 1 return } From edf5e4341640dc04b3dcf583a7790dcd708450f9 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 16 Feb 2022 14:03:59 +0700 Subject: [PATCH 7/7] fix adding/remove mvs from library --- src/i18n/en_US.jsonc | 1 + .../views/components/mediaitem-square.ejs | 33 ++++++++++--------- src/renderer/views/pages/library-videos.ejs | 11 +++++-- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index 9b4e1652..6f09a2fc 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -154,6 +154,7 @@ "term.videoExtras": "Video Extras", "term.top": "Top", "term.version": "Version", + "term.noVideos": "No videos found.", // Home "home.title": "Home", diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs index 6bf861d9..4248f1b7 100644 --- a/src/renderer/views/components/mediaitem-square.ejs +++ b/src/renderer/views/components/mediaitem-square.ejs @@ -144,13 +144,15 @@ }, async isInLibrary() { if (this.item.type && !this.item.type.includes("library")) { - var params = { - "fields[playlists]": "inLibrary", - "fields[albums]": "inLibrary", - "relate": "library", + let params = { + relate:"library", + "fields":"inLibrary", "extend": this.revisedRandId() } - var res = await app.mkapi(this.item.attributes.playParams.kind ?? this.item.type, this.item.attributes.playParams.isLibrary ?? false, this.item.attributes.playParams.id ?? this.item.id, params); + let kind = this.item.type ?? this.item.attributes.playParams.kind + let truekind = (!kind.endsWith("s")) ? (kind + "s") : kind; + if (truekind == "musicVideos") {truekind = "music-videos"} + let res = await app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/?ids[${truekind}]=${this.item.attributes.playParams.id ?? this.item.id}`,params); res = res.data.data[0] this.addedToLibrary = (res && res.attributes && res.attributes.inLibrary) ? res.attributes.inLibrary : false } else { @@ -158,21 +160,20 @@ } }, async removeFromLibrary(id) { - var params = { - "fields[playlists]": "inLibrary", - "fields[songs]": "inLibrary", - "fields[albums]": "inLibrary", - "relate": "library", - "extend": this.revisedRandId() - } - var id = this.item.id ?? this.item.attributes.playParams.id - var res = await app.mkapi(this.item.attributes.playParams.kind ?? this.item.type, this.item.attributes.playParams.isLibrary ?? false, this.item.attributes.playParams.id ?? this.item.id, params); + let params = { + relate:"library", + "fields":"inLibrary", + "extend": this.revisedRandId() + } + let kind = this.item.type ?? this.item.attributes.playParams.kind + let truekind = (!kind.endsWith("s")) ? (kind + "s") : kind; + if (truekind == "musicVideos") {truekind = "music-videos"} + let res = await app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/?ids[${truekind}]=${this.item.attributes.playParams.id ?? this.item.id}`,params); res= res.data.data[0] if (res && res.relationships && res.relationships.library && res.relationships.library.data && res.relationships.library.data.length > 0) { id = res.relationships.library.data[0].id } - let kind = this.item.attributes.playParams.kind ?? this.item.type ?? ''; - var truekind = (!kind.endsWith("s")) ? (kind + "s") : kind; + app.mk.api.v3.music(`v1/me/library/${truekind}/${id.toString()}`,{}, { fetchOptions: { diff --git a/src/renderer/views/pages/library-videos.ejs b/src/renderer/views/pages/library-videos.ejs index a1b8d6fa..6c9e458d 100644 --- a/src/renderer/views/pages/library-videos.ejs +++ b/src/renderer/views/pages/library-videos.ejs @@ -6,8 +6,13 @@
- - + +
@@ -19,12 +24,14 @@ data: function(){ return { videos: [], + loaded: false } }, mounted() { this.$nextTick(async function () { if (this.$data.videos == null || this.$data.videos.length == 0) this.$data.videos = (await this.$root.mk.api.v3.music('/v1/me/library/music-videos')).data?.data ?? [] + this.$data.loaded = true }) } })