From bfa7021ee9d3221485c7f4120b83546bb8e04074 Mon Sep 17 00:00:00 2001 From: Rocka Date: Wed, 23 Mar 2022 10:28:01 +0800 Subject: [PATCH] renderer: mpris: send Volume on initialize --- src/renderer/util/mpris.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/renderer/util/mpris.js b/src/renderer/util/mpris.js index 6b1aeb32..fb000bec 100644 --- a/src/renderer/util/mpris.js +++ b/src/renderer/util/mpris.js @@ -109,6 +109,8 @@ function subscribeHandler(mutation, state) { case SET_AUDIO_PAUSED: ipcSend(mutation.payload === true ? 'pause' : 'play'); break; + // since mpris is injected after Vue instance creation, it may not be + // able to receive `RESTORE_UI_STATE` mutation. keep it here anyway. case RESTORE_UI_STATE: ipcSend('volume', mutation.payload.audioVolume); break; @@ -135,6 +137,8 @@ function subscribeHandler(mutation, state) { export function injectStore(store) { // ensure 'PlaybackStatus' is 'Stopped' when this module loads ipcSend('stop'); + // send volume once on inject + ipcSend('volume', store.state.ui.audioVolume); store.subscribe(subscribeHandler); MPRISEmitter.on('play', () => store.dispatch('playAudio')); MPRISEmitter.on('stop', () => store.dispatch('pauseAudio'));