fix not sending track stop on next or previous track

This commit is contained in:
KGT1 2020-10-26 10:17:50 +01:00
parent 84ad94a83a
commit ea61bfbaa9

View File

@ -114,6 +114,14 @@ function seek (toSeek = 0) {
throw Error("No Song Playing"); throw Error("No Song Playing");
} }
} }
function currentTrackStopped (itemId) {
jellyfinClientManager.getJellyfinClient().reportPlaybackStopped({
userId: jellyfinClientManager.getJellyfinClient().getCurrentUserId(),
itemId: itemId,
playSessionId: getPlaySessionId()
});
}
/** /**
* *
* @param {Array} itemID - array of itemIDs to be added * @param {Array} itemID - array of itemIDs to be added
@ -123,12 +131,12 @@ function addTracks (itemID) {
} }
function nextTrack () { function nextTrack () {
// console.log(currentPlayingPlaylistIndex + 1, currentPlayingPlaylist.length);
if (!(currentPlayingPlaylist)) { if (!(currentPlayingPlaylist)) {
throw Error("There is currently nothing playing"); throw Error("There is currently nothing playing");
} else if (currentPlayingPlaylistIndex + 1 >= currentPlayingPlaylist.length) { } else if (currentPlayingPlaylistIndex + 1 >= currentPlayingPlaylist.length) {
throw Error("This is the Last song"); throw Error("This is the Last song");
} }
currentTrackStopped(getItemId());
startPlaying(undefined, undefined, currentPlayingPlaylistIndex + 1, 0, _disconnectOnFinish); startPlaying(undefined, undefined, currentPlayingPlaylistIndex + 1, 0, _disconnectOnFinish);
} }
@ -140,6 +148,7 @@ function previousTrack () {
startPlaying(undefined, undefined, currentPlayingPlaylistIndex, 0, _disconnectOnFinish); startPlaying(undefined, undefined, currentPlayingPlaylistIndex, 0, _disconnectOnFinish);
throw Error("This is the First song"); throw Error("This is the First song");
} }
currentTrackStopped(getItemId());
startPlaying(undefined, undefined, currentPlayingPlaylistIndex - 1, 0, _disconnectOnFinish); startPlaying(undefined, undefined, currentPlayingPlaylistIndex - 1, 0, _disconnectOnFinish);
} }
} }
@ -155,11 +164,7 @@ function stop (disconnectVoiceConnection, itemId = getItemId()) {
if (disconnectVoiceConnection) { if (disconnectVoiceConnection) {
disconnectVoiceConnection.disconnect(); disconnectVoiceConnection.disconnect();
} }
jellyfinClientManager.getJellyfinClient().reportPlaybackStopped({ currentTrackStopped(itemId);
userId: jellyfinClientManager.getJellyfinClient().getCurrentUserId(),
itemId: itemId,
playSessionId: getPlaySessionId()
});
if (getAudioDispatcher()) { if (getAudioDispatcher()) {
try { try {
getAudioDispatcher().destroy(); getAudioDispatcher().destroy();