From 4dfe9dc3289d4c19fe89488ee1564fd3bec8581b Mon Sep 17 00:00:00 2001 From: vapormusic Date: Tue, 21 Dec 2021 10:52:31 +0700 Subject: [PATCH] fix songs locking up --- src/renderer/index.js | 4 ++++ src/renderer/views/components/lyrics-view.ejs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 41aa4e2d..9fe45b3d 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1552,18 +1552,22 @@ const app = new Vue({ if (item && ((app.library.songs.listing[childIndex].id != item.id))){ childIndex = app.library.songs.listing.indexOf(item) } + let query = app.library.songs.listing.map(item => new MusicKit.MediaItem(item)); + try{app.mk.stop()}catch(e){} this.mk.clearQueue().then(function (_) { app.mk.queue.append(query) app.mk.changeToMediaAtIndex(childIndex) }) } else { + try{app.mk.stop()}catch(e){} this.mk.setQueue({[truekind]: [id]}).then(function (queue) { app.mk.changeToMediaAtIndex(childIndex) }) } } catch (err) { console.log(err) + try{app.mk.stop()}catch(e){} this.playMediaItemById(item.attributes.playParams.id ?? item.id, item.attributes.playParams.kind ?? item.type, item.attributes.playParams.isLibrary ?? false, item.attributes.url) } diff --git a/src/renderer/views/components/lyrics-view.ejs b/src/renderer/views/components/lyrics-view.ejs index 26e3146f..a8ba6779 100644 --- a/src/renderer/views/components/lyrics-view.ejs +++ b/src/renderer/views/components/lyrics-view.ejs @@ -118,7 +118,7 @@ if (app.currentLyricsLine != i) { app.currentLyricsLine = i; if (app.lyricon && app.drawer.open && this.$refs.lyricsview.querySelector(`.lyric-line[line-index="${i}"]`)) { - this.$refs.lyricsview.querySelector(`.lyric-line[line-index="${prevLine}"]`).classList.remove("active"); + if(this.$refs.lyricsview.querySelector(`.lyric-line[line-index="${prevLine}"]`)) {this.$refs.lyricsview.querySelector(`.lyric-line[line-index="${prevLine}"]`).classList.remove("active");} this.$refs.lyricsview.querySelector(`.lyric-line[line-index="${i}"]`).classList.add("active") if (checkIfScrollIsStatic) { this.$refs.lyricsview.querySelector(`.lyric-line[line-index="${i}"]`).scrollIntoView({