From b62f5358f823c71df96c0dac6793ac75c2b66c3b Mon Sep 17 00:00:00 2001 From: pendo324 Date: Sat, 9 Nov 2019 17:46:14 -0800 Subject: [PATCH] add YouTube Music and Tidal --- src/players/Web/index.js | 20 +++++++++++++ src/store/modules/now-playing/actions.js | 38 +++++++++++++----------- 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/src/players/Web/index.js b/src/players/Web/index.js index 3fbf214..53a228a 100644 --- a/src/players/Web/index.js +++ b/src/players/Web/index.js @@ -114,3 +114,23 @@ export class bandcampHandler extends Handler { }); } } + +export class youtubeMusicHandler extends Handler { + constructor() { + super({ + ...defaultOptions, + id: 'youtubeMusic', + name: 'YouTube Music' + }); + } +} + +export class tidalHandler extends Handler { + constructor() { + super({ + ...defaultOptions, + id: 'tidal', + name: 'Tidal' + }); + } +} diff --git a/src/store/modules/now-playing/actions.js b/src/store/modules/now-playing/actions.js index c7a218d..727acd4 100644 --- a/src/store/modules/now-playing/actions.js +++ b/src/store/modules/now-playing/actions.js @@ -6,26 +6,28 @@ const { writeFile } = require('fs').promises; const actions = { async setTrack(context, { preview } = { preview: false }) { const { state, commit, getters } = context; - if (state.player.source === 'Desktop') { - try { - const track = await state.player.getTrack(); - commit('SET_TRACK', { - track - }); - if (!preview) { - await writeFile(state.saveLocation, getters.nowPlaying, { - encoding: 'utf8' + if (state.player !== null) { + if (state.player.source === 'Desktop') { + try { + const track = await state.player.getTrack(); + commit('SET_TRACK', { + track + }); + if (!preview) { + await writeFile(state.saveLocation, getters.nowPlaying, { + encoding: 'utf8' + }); + } + } catch (e) { + console.log(e); + return commit('SET_TRACK', { + track: '' }); } - } catch (e) { - console.log(e); - return commit('SET_TRACK', { - track: '' - }); - } - } else if (state.player.source === 'Web') { - if (!preview) { - await writeFile(state.saveLocation, getters.nowPlaying); + } else if (state.player.source === 'Web') { + if (!preview) { + await writeFile(state.saveLocation, getters.nowPlaying); + } } } }