From 8da0ebed9779c9a335e458da5a7165d49500f37f Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Wed, 2 Feb 2022 11:11:30 +0000 Subject: [PATCH] Fixed the thumbar and added icons and thumbar to build resources Big brain me forgot it was status not state. --- package.json | 4 +- src/main/base/utils.ts | 10 ++--- src/main/plugins/Extras/examplePlugin.ts | 2 +- src/main/plugins/Extras/sendSongToTitlebar.ts | 2 +- src/main/plugins/discordrpc.ts | 2 +- src/main/plugins/lastfm.ts | 2 +- src/main/plugins/mpris.ts | 2 +- src/main/plugins/thumbar.ts | 41 ++++++++----------- 8 files changed, 30 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index 6f5056b7..36d98700 100644 --- a/package.json +++ b/package.json @@ -119,8 +119,8 @@ "extends": null, "files": [ "./build/**/*", - "./resources/icons/icon.*", - "./src/**/*" + "./src/**/*", + "./resources/icons/**/*" ], "linux": { "target": [ diff --git a/src/main/base/utils.ts b/src/main/base/utils.ts index 0e31fec5..45794353 100644 --- a/src/main/base/utils.ts +++ b/src/main/base/utils.ts @@ -85,19 +85,19 @@ export class utils { */ static playback = { pause: () => { - bw.win.webContents.send("MusicKitInterop.pause()") + bw.win.webContents.executeJavaScript("MusicKitInterop.pause()") }, play: () => { - bw.win.webContents.send("MusicKitInterop.play()") + bw.win.webContents.executeJavaScript("MusicKitInterop.play()") }, playPause: () => { - bw.win.webContents.send("MusicKitInterop.playPause()") + bw.win.webContents.executeJavaScript("MusicKitInterop.playPause()") }, next: () => { - bw.win.webContents.send("MusicKitInterop.next()") + bw.win.webContents.executeJavaScript("MusicKitInterop.next()") }, previous: () => { - bw.win.webContents.send("MusicKitInterop.previous()") + bw.win.webContents.executeJavaScript("MusicKitInterop.previous()") } } } \ No newline at end of file diff --git a/src/main/plugins/Extras/examplePlugin.ts b/src/main/plugins/Extras/examplePlugin.ts index 98b6af4c..b0ee206c 100644 --- a/src/main/plugins/Extras/examplePlugin.ts +++ b/src/main/plugins/Extras/examplePlugin.ts @@ -41,7 +41,7 @@ export default class ExamplePlugin { /** * Runs on playback State Change - * @param attributes Music Attributes (attributes.state = current state) + * @param attributes Music Attributes (attributes.status = current state) */ onPlaybackStateDidChange(attributes: object): void { console.log('onPlaybackStateDidChange has been called ' + i + ' times'); diff --git a/src/main/plugins/Extras/sendSongToTitlebar.ts b/src/main/plugins/Extras/sendSongToTitlebar.ts index 8b39e47d..c8e3a62c 100644 --- a/src/main/plugins/Extras/sendSongToTitlebar.ts +++ b/src/main/plugins/Extras/sendSongToTitlebar.ts @@ -24,7 +24,7 @@ export default class sendSongToTitlebar { onBeforeQuit(): void {} /** * Runs on playback State Change - * @param attributes Music Attributes (attributes.state = current state) + * @param attributes Music Attributes (attributes.status = current state) */ onPlaybackStateDidChange(attributes: any): void { this._win.setTitle(`${(attributes != null && attributes.name != null && attributes.name.length > 0) ? (attributes.name + " - ") : ''}Cider`) diff --git a/src/main/plugins/discordrpc.ts b/src/main/plugins/discordrpc.ts index 57bc3789..6fae8461 100644 --- a/src/main/plugins/discordrpc.ts +++ b/src/main/plugins/discordrpc.ts @@ -183,7 +183,7 @@ export default class DiscordRichPresence { /** * Runs on playback State Change - * @param attributes Music Attributes (attributes.state = current state) + * @param attributes Music Attributes (attributes.status = current state) */ onPlaybackStateDidChange(attributes: object): void { this.updateActivity(attributes) diff --git a/src/main/plugins/lastfm.ts b/src/main/plugins/lastfm.ts index 51ddcc34..5d9adf66 100644 --- a/src/main/plugins/lastfm.ts +++ b/src/main/plugins/lastfm.ts @@ -231,7 +231,7 @@ export default class LastFMPlugin { /** * Runs on playback State Change - * @param attributes Music Attributes (attributes.state = current state) + * @param attributes Music Attributes (attributes.status = current state) */ onPlaybackStateDidChange(attributes: object): void { this.scrobbleSong(attributes) diff --git a/src/main/plugins/mpris.ts b/src/main/plugins/mpris.ts index c1f92652..31504a09 100644 --- a/src/main/plugins/mpris.ts +++ b/src/main/plugins/mpris.ts @@ -179,7 +179,7 @@ export default class MPRIS { /** * Runs on playback State Change - * @param attributes Music Attributes (attributes.state = current state) + * @param attributes Music Attributes (attributes.status = current state) */ onPlaybackStateDidChange(attributes: object): void { this.updatePlayerState(attributes) diff --git a/src/main/plugins/thumbar.ts b/src/main/plugins/thumbar.ts index 6153d143..4644920e 100644 --- a/src/main/plugins/thumbar.ts +++ b/src/main/plugins/thumbar.ts @@ -21,27 +21,16 @@ export default class Thumbar { * Thumbnail Toolbar Assets */ private icons: { pause: Electron.NativeImage, play: Electron.NativeImage, next: Electron.NativeImage, previous: Electron.NativeImage } = { - pause: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'dark' : 'light'}_pause.png`)).resize({width: 32, height: 32}), - play: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'dark' : 'light'}_play.png`)).resize({width: 32, height: 32}), - next: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'dark' : 'light'}_next.png`)).resize({width: 32, height: 32}), - previous: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'dark' : 'light'}_previous.png`)).resize({width: 32, height: 32}), + pause: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'light' : 'dark'}_pause.png`)), + play: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'light' : 'dark'}_play.png`)), + next: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'light' : 'dark'}_next.png`)), + previous: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'light' : 'dark'}_previous.png`)), } /******************************************************************************************* * Private Methods * ****************************************************************************************/ - /** - * Runs a media event - * @param type - pausePlay, nextTrack, PreviousTrack - * @private - */ - private runMediaEvent(type: string) { - if (this._win) { - this._win.webContents.executeJavaScript(`MusicKitInterop.${type}()`).catch(console.error) - } - } - /** * Blocks non-windows systems from running this plugin * @private @@ -60,28 +49,33 @@ export default class Thumbar { */ @Thumbar.windowsOnly private updateButtons(attributes: any) { - const runMediaEvent = this.runMediaEvent; + + console.log(attributes) + + if (!attributes) { + return + } const buttons = [ { tooltip: 'Previous', icon: this.icons.previous, click() { - runMediaEvent('previous') + utils.playback.previous() } }, { - tooltip: this._app.media.status ? 'Pause' : 'Play', - icon: attributes.state ? this.icons.pause : this.icons.play, + tooltip: attributes.status ? 'Pause' : 'Play', + icon: attributes.status ? this.icons.pause : this.icons.play, click() { - runMediaEvent('playPause') + utils.playback.playPause() } }, { tooltip: 'Next', icon: this.icons.next, click() { - runMediaEvent('nextTrack') + utils.playback.next() } } ]; @@ -108,7 +102,7 @@ export default class Thumbar { /** * Runs on app ready */ - onReady(win: any): void { + onReady(win: Electron.BrowserWindow): void { this._win = win; console.debug(`[Plugin][${this.name}] Ready.`); } @@ -122,7 +116,7 @@ export default class Thumbar { /** * Runs on playback State Change - * @param attributes Music Attributes (attributes.state = current state) + * @param attributes Music Attributes (attributes.status = current state) */ onPlaybackStateDidChange(attributes: object): void { this.updateButtons(attributes) @@ -133,6 +127,7 @@ export default class Thumbar { * @param attributes Music Attributes */ onNowPlayingItemDidChange(attributes: object): void { + this.updateButtons(attributes) } }