From d8aca925f48fa6c2d57fce93e4c80cbd386f74f7 Mon Sep 17 00:00:00 2001 From: yazninja Date: Fri, 22 Apr 2022 15:02:20 +0800 Subject: [PATCH] js++ oops --- src/main/plugins/sendSongToTitlebar.ts | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/plugins/sendSongToTitlebar.ts diff --git a/src/main/plugins/sendSongToTitlebar.ts b/src/main/plugins/sendSongToTitlebar.ts new file mode 100644 index 00000000..c8e3a62c --- /dev/null +++ b/src/main/plugins/sendSongToTitlebar.ts @@ -0,0 +1,37 @@ +export default class sendSongToTitlebar { + /** + * Base Plugin Details (Eventually implemented into a GUI in settings) + */ + public name: string = 'sendSongToTitlebar'; + public description: string = 'Sets the app\'s titlebar to the Song title'; + public version: string = '0.0.1'; + public author: string = 'Cider Collective (credit to 8times9 via #147)'; + /** + * Runs on plugin load (Currently run on application start) + */ + private _win: any; + private _app: any; + constructor() {} + /** + * Runs on app ready + */ + onReady(win: any): void { + this._win = win; + } + /** + * Runs on app stop + */ + onBeforeQuit(): void {} + /** + * Runs on playback State Change + * @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`) + } + /** + * Runs on song change + * @param attributes Music Attributes + */ + onNowPlayingItemDidChange(attributes: object): void {} +} \ No newline at end of file