From 346deb2d7c7d7ae0eb3153152efab276db8367b4 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sun, 25 Apr 2021 18:59:06 -0300 Subject: playlist sources = only what's shared with party --- index.js | 4 +--- socket.js | 11 ++++++----- ui.js | 6 +++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/index.js b/index.js index ec79f05..8888d48 100755 --- a/index.js +++ b/index.js @@ -201,9 +201,7 @@ async function main() { } if (socketClient) { - attachBackendToSocketClient(backend, socketClient, { - getPlaylistSources: () => appElement.playlistSources - }) + attachBackendToSocketClient(backend, socketClient) let nickname = process.env.USER if (options['socket-name']) { diff --git a/socket.js b/socket.js index b9e4ccf..33269ee 100644 --- a/socket.js +++ b/socket.js @@ -496,9 +496,7 @@ export function makeSocketClient() { return client } -export function attachBackendToSocketClient(backend, client, { - getPlaylistSources -}) { +export function attachBackendToSocketClient(backend, client) { // All actual logic for instances of the mtui backend interacting with each // other through commands lives here. @@ -512,6 +510,9 @@ export function attachBackendToSocketClient(backend, client, { const partyGrouplikeMap = Object.create(null) + const getPlaylistSources = () => + partyGrouplike.items.map(item => item[originalSymbol]) + backend.setHasAnnouncedJoin(false) backend.setAlwaysStartPaused(true) backend.setWaitWhenDonePlaying(true) @@ -644,8 +645,6 @@ export function attachBackendToSocketClient(backend, client, { return case 'initialize-backend': await restoreBackend(backend, command.backend) - // TODO: does this need to be called here? - updateRestoredTracksUsingPlaylists(backend, getPlaylistSources()) backend.on('playing', QP => { QP.once('received time data', () => { client.sendCommand({code: 'status', status: 'sync-playback'}) @@ -902,6 +901,8 @@ export function attachBackendToSocketClient(backend, client, { partyGrouplike.items.push(deserialized) backend.partyGrouplikeUpdated(client.socketId, partyGrouplike) + updateRestoredTracksUsingPlaylists(backend, getPlaylistSources()) + client.sendCommand({ code: 'share-with-party', item: serialized diff --git a/ui.js b/ui.js index a83446c..b64763b 100644 --- a/ui.js +++ b/ui.js @@ -184,7 +184,7 @@ export default class AppElement extends FocusElement { this.isPartyHost = false this.enableAutoDJ = false - this.playlistSources = [] + // this.playlistSources = [] this.config = Object.assign({ canControlPlayback: true, @@ -1645,8 +1645,8 @@ export default class AppElement extends FocusElement { grouplike = await processSmartPlaylist(grouplike) - this.playlistSources.push(grouplike) - updateRestoredTracksUsingPlaylists(this.backend, this.playlistSources) + // this.playlistSources.push(grouplike) + // updateRestoredTracksUsingPlaylists(this.backend, this.playlistSources) if (!this.tabber.currentElement || newTab && this.tabber.currentElement.grouplike) { const grouplikeListing = this.newGrouplikeListing() -- cgit 1.3.0-6-gf8a5