diff --git a/src/main/cider-base.js b/src/main/cider-base.js index 4a9f3f86..856e58c3 100644 --- a/src/main/cider-base.js +++ b/src/main/cider-base.js @@ -268,6 +268,7 @@ const CiderBase = { win.webContents.setZoomFactor(screen.getPrimaryDisplay().scaleFactor) mpris.connect(win) + mpris.SetButtons(win, false) lastfm.authenticate() // Discord @@ -275,6 +276,7 @@ const CiderBase = { ipcMain.on('playbackStateDidChange', (_event, a) => { app.media = a; discord.updateActivity(a) + mpris.SetButtons(win, a) mpris.updateState(a) lastfm.scrobbleSong(a) lastfm.updateNowPlayingSong(a) @@ -283,6 +285,7 @@ const CiderBase = { ipcMain.on('nowPlayingItemDidChange', (_event, a) => { app.media = a; discord.updateActivity(a) + mpris.SetButtons(win, a) mpris.updateAttributes(a) lastfm.scrobbleSong(a) lastfm.updateNowPlayingSong(a) diff --git a/src/main/mpris.js b/src/main/mpris.js index 3c92e322..086945da 100644 --- a/src/main/mpris.js +++ b/src/main/mpris.js @@ -1,3 +1,6 @@ +const { nativeImage } = require("electron"); +const path = require('path') + let mediaPlayer = null; module.exports = { @@ -102,6 +105,39 @@ module.exports = { } }, + SetButtons: (win, attributes) => { + if (process.platform === 'win32') { // Set the Windows Thumbnail Toolbar Buttons + win.setThumbarButtons([ + { + tooltip: 'Previous', + icon: nativeImage.createFromPath(path.join(__dirname, 'thumbaricons/backwardPng.png')), + click() { + console.log("Clicked the bc taskbar button!") + win.webContents.executeJavaScript('MusicKitInterop.previousTrack()').catch(err => console.error(err)) + } + }, + { + tooltip: attributes.status ? 'Pause' : 'Play', + //tooltip: 'Play', + icon: attributes.status ? nativeImage.createFromPath(path.join(__dirname, 'thumbaricons/pausePng.png')) : nativeImage.createFromPath(path.join(__dirname, 'thumbaricons/playPng.png')), + click() { + console.log("Clicked the pl taskbar button!") + win.webContents.executeJavaScript('MusicKitInterop.pausePlay()').catch(err => console.error(err)) + } + }, + { + tooltip: 'Next', + icon: nativeImage.createFromPath(path.join(__dirname, 'thumbaricons/forwardPng.png')), + click() { + console.log("Clicked the fw taskbar button!") + win.webContents.executeJavaScript('MusicKitInterop.nextTrack()').catch(err => console.error(err)) + } + } + ]); + + } + }, + /** * Closes the MPRIS interface. */ diff --git a/src/main/thumbaricons/backwardPng.png b/src/main/thumbaricons/backwardPng.png new file mode 100644 index 00000000..4c99640c Binary files /dev/null and b/src/main/thumbaricons/backwardPng.png differ diff --git a/src/main/thumbaricons/forwardPng.png b/src/main/thumbaricons/forwardPng.png new file mode 100644 index 00000000..3de644f9 Binary files /dev/null and b/src/main/thumbaricons/forwardPng.png differ diff --git a/src/main/thumbaricons/pausePng.png b/src/main/thumbaricons/pausePng.png new file mode 100644 index 00000000..428b380a Binary files /dev/null and b/src/main/thumbaricons/pausePng.png differ diff --git a/src/main/thumbaricons/playPng.png b/src/main/thumbaricons/playPng.png new file mode 100644 index 00000000..8ece27c0 Binary files /dev/null and b/src/main/thumbaricons/playPng.png differ