let i = 1, k = 1; class ExamplePlugin { /** * Private variables for interaction in plugins */ private _win: any; private _app: any; private _store: any; /** * Base Plugin Details (Eventually implemented into a GUI in settings) */ public name: string = 'examplePlugin'; public description: string = 'Example plugin'; public version: string = '1.0.0'; public author: string = 'Example author'; /** * Runs on plugin load (Currently run on application start) */ constructor(app: any, store: any) { this._app = app; this._store = store; console.debug(`[Plugin][${this.name}] Loading Complete.`); } /** * Runs on app ready */ onReady(win: any): void { this._win = win; console.debug(`[Plugin][${this.name}] Ready.`); } /** * Runs on app stop */ onBeforeQuit(): void { console.debug(`[Plugin][${this.name}] Stopped.`); } /** * Runs on playback State Change * @param attributes Music Attributes (attributes.status = current state) */ onPlaybackStateDidChange(attributes: object): void { console.log('onPlaybackStateDidChange has been called ' + i + ' times'); i++ } /** * Runs on song change * @param attributes Music Attributes */ onNowPlayingItemDidChange(attributes: object): void { console.log('onNowPlayingDidChange has been called ' + k + ' times'); k++ } } module.exports = ExamplePlugin;