diff --git a/src/main/index.ts b/src/main/index.ts index 6f52ad6f..50d3af87 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -74,6 +74,10 @@ ipcMain.on("nowPlayingItemDidChange", (_event, attributes) => { CiderPlug.callPlugins("onNowPlayingItemDidChange", attributes); }); +ipcMain.on("playbackTimeDidChange", (_event, attributes) => { + CiderPlug.callPlugins("playbackTimeDidChange", attributes); +}); + app.on("before-quit", () => { CiderPlug.callPlugins("onBeforeQuit"); console.warn(`${app.getName()} exited.`); diff --git a/src/main/plugins/discordrpc.ts b/src/main/plugins/discordrpc.ts index 16db849d..9d158763 100644 --- a/src/main/plugins/discordrpc.ts +++ b/src/main/plugins/discordrpc.ts @@ -151,7 +151,7 @@ export default class DiscordRPC { * Runs on song change * @param attributes Music Attributes */ - onNowPlayingItemDidChange(attributes: object): void { + playbackTimeDidChange(attributes: object): void { this._attributes = attributes; this.setActivity(attributes); } diff --git a/src/main/plugins/mpris.ts b/src/main/plugins/mpris.ts index 067b018f..15e08cdf 100644 --- a/src/main/plugins/mpris.ts +++ b/src/main/plugins/mpris.ts @@ -169,7 +169,7 @@ export default class mpris { * @param attributes Music Attributes */ @mpris.linuxOnly - onNowPlayingItemDidChange(attributes: object): void { + playbackTimeDidChange(attributes: object): void { mpris.updateMetaData(attributes); } } diff --git a/src/preload/cider-preload.js b/src/preload/cider-preload.js index 099791d7..ba968b2f 100644 --- a/src/preload/cider-preload.js +++ b/src/preload/cider-preload.js @@ -32,6 +32,9 @@ const MusicKitInterop = { /* MusicKit.Events.playbackTimeDidChange */ MusicKit.getInstance().addEventListener(MusicKit.Events.playbackTimeDidChange, () => { ipcRenderer.send("mpris:playbackTimeDidChange", MusicKit.getInstance()?.currentPlaybackTime * 1000 * 1000 ?? 0); + const attributes = MusicKitInterop.getAttributes(); + if (!attributes) return; + ipcRenderer.send("playbackTimeDidChange", attributes); }); /* MusicKit.Events.nowPlayingItemDidChange */