mitigate skipping on some library songs

This commit is contained in:
vapormusic 2022-02-13 17:51:58 +07:00
parent 5c56dfbcc3
commit 317a56e439
6 changed files with 13 additions and 5 deletions

View file

@ -182,7 +182,8 @@ export class wsapi {
response.message = "Unmuted"; response.message = "Unmuted";
break; break;
case "next": case "next":
this._win.webContents.executeJavaScript(`MusicKit.getInstance().skipToNextItem()`); this._win.webContents.executeJavaScript(`if (MusicKit.getInstance().queue.nextPlayableItemIndex != -1) {
MusicKit.getInstance().changeToMediaAtIndex(MusicKit.getInstance().queue.nextPlayableItemIndex);}`);
response.message = "Next"; response.message = "Next";
break; break;
case "previous": case "previous":

View file

@ -127,7 +127,9 @@ const MusicKitInterop = {
}, },
next: () => { next: () => {
MusicKit.getInstance().skipToNextItem().then(r => console.log(`[MusicKitInterop.next] Skipping to Next ${r}`)); if (MusicKit.getInstance().queue.nextPlayableItemIndex != -1)
MusicKit.getInstance().changeToMediaAtIndex(MusicKit.getInstance().queue.nextPlayableItemIndex);
// MusicKit.getInstance().skipToNextItem().then(r => console.log(`[MusicKitInterop.next] Skipping to Next ${r}`));
}, },
previous: () => { previous: () => {

View file

@ -3730,6 +3730,11 @@ const app = new Vue({
if (sellang.startsWith("en") && this.mk.storefrontId != "us") sellang = "en-gb" if (sellang.startsWith("en") && this.mk.storefrontId != "us") sellang = "en-gb"
return await sellang return await sellang
} }
},
skipToNextItem(){
// app.mk.skipToNextItem() is buggy somehow so use this
if (this.mk.queue.nextPlayableItemIndex != -1)
this.mk.changeToMediaAtIndex(this.mk.queue.nextPlayableItemIndex);
} }
} }
}) })

View file

@ -137,7 +137,7 @@
<button class="playback-button play" @click="mk.play()" v-else></button> <button class="playback-button play" @click="mk.play()" v-else></button>
</div> </div>
<div class="app-chrome-item"> <div class="app-chrome-item">
<button class="playback-button next" @click="mk.skipToNextItem()"></button> <button class="playback-button next" @click="skipToNextItem()"></button>
</div> </div>
<div class="app-chrome-item"> <div class="app-chrome-item">
<button class="playback-button--small repeat" v-if="mk.repeatMode == 0" <button class="playback-button--small repeat" v-if="mk.repeatMode == 0"

View file

@ -66,7 +66,7 @@
<button class="playback-button play" @click="app.mk.play()" v-else></button> <button class="playback-button play" @click="app.mk.play()" v-else></button>
</div> </div>
<div class="app-chrome-item"> <div class="app-chrome-item">
<button class="playback-button next" @click="app.mk.skipToNextItem()"></button> <button class="playback-button next" @click="app.skipToNextItem()"></button>
</div> </div>
<div class="app-chrome-item"> <div class="app-chrome-item">
<button class="playback-button--small repeat" v-if="app.mk.repeatMode == 0" <button class="playback-button--small repeat" v-if="app.mk.repeatMode == 0"

View file

@ -73,7 +73,7 @@
<button class="playback-button play" @click="app.mk.play()" v-else></button> <button class="playback-button play" @click="app.mk.play()" v-else></button>
</div> </div>
<div class="app-chrome-item"> <div class="app-chrome-item">
<button class="playback-button next" @click="app.mk.skipToNextItem()"></button> <button class="playback-button next" @click="app.skipToNextItem()"></button>
</div> </div>
<div class="app-chrome-item"> <div class="app-chrome-item">
<button class="playback-button--small repeat" v-if="app.mk.repeatMode == 0" <button class="playback-button--small repeat" v-if="app.mk.repeatMode == 0"