diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-05-13 21:54:52 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-05-13 21:54:52 -0300 |
commit | 4ea5e57d2b6c12f42ff21c4b43056021553f07a0 (patch) | |
tree | 175c5c662639496fc859fa9a4852c363a6bab11d /serialized-backend.js | |
parent | 84c49e453336d6105655edd08e93bab071c0fc3b (diff) | |
parent | a36e372ba88b59e08fa938f76b261fdc2797bef2 (diff) |
Merge branch 'main' into socket-mtui
And also get most of it working wow.
Diffstat (limited to 'serialized-backend.js')
-rw-r--r-- | serialized-backend.js | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/serialized-backend.js b/serialized-backend.js index a3f02fa..bdac54c 100644 --- a/serialized-backend.js +++ b/serialized-backend.js @@ -21,7 +21,7 @@ 'use strict' -const { +import { isGroup, isTrack, findItemObject, @@ -29,7 +29,7 @@ const { getFlatGroupList, getFlatTrackList, getItemPath -} = require('./playlist-utils') +} from './playlist-utils.js' const referenceDataSymbol = Symbol('Restored reference data') @@ -43,7 +43,7 @@ function getPlayerInfo(queuePlayer) { } } -function saveBackend(backend) { +export function saveBackend(backend) { return { queuePlayers: backend.queuePlayers.map(QP => ({ id: QP.id, @@ -55,7 +55,7 @@ function saveBackend(backend) { } } -async function restoreBackend(backend, data) { +export async function restoreBackend(backend, data) { if (data.queuePlayers) { if (data.queuePlayers.length === 0) { return @@ -90,18 +90,10 @@ async function restoreBackend(backend, data) { async function restorePlayingTrack(queuePlayer, playedTrack, playerInfo) { const QP = queuePlayer await QP.stopPlaying() - QP.play(playedTrack, true) - QP.once('received time data', () => { - if (QP.playingTrack === playedTrack) { - QP.player.seekTo(playerInfo.time) - if (!playerInfo.isPaused) { - QP.player.togglePause() - } - } - }) + QP.play(playedTrack, playerInfo.time || 0, playerInfo.isPaused) } -function updateRestoredTracksUsingPlaylists(backend, playlists) { +export function updateRestoredTracksUsingPlaylists(backend, playlists) { // Utility function to restore the "identities" of tracks (i.e. which objects // they are represented by) queued or playing in the provided backend, // pulling possible track identities from the provided playlists. @@ -159,7 +151,7 @@ function updateRestoredTracksUsingPlaylists(backend, playlists) { } } -function saveItemReference(item) { +export function saveItemReference(item) { // Utility function to generate reference data for a track or grouplike, // according to the format taken by findItemObject. @@ -182,7 +174,7 @@ function saveItemReference(item) { } } -function restoreNewItem(referenceData, playlists) { +export function restoreNewItem(referenceData, playlists) { // Utility function to restore a new item. If you're restoring tracks // already present in a backend, use the specific function for that, // updateRestoredTracksUsingPlaylists. @@ -227,19 +219,10 @@ function restoreNewItem(referenceData, playlists) { } } -function getWaitingTrackData(queuePlayer) { +export function getWaitingTrackData(queuePlayer) { // Utility function to get reference data for the track which is currently // waiting to be played, once a resembling track is found. This should only // be used to reflect that data in the user interface. return (queuePlayer[referenceDataSymbol] || {}).playingTrack } - -Object.assign(module.exports, { - saveBackend, - restoreBackend, - updateRestoredTracksUsingPlaylists, - saveItemReference, - restoreNewItem, - getWaitingTrackData -}) |