function np(mainWindow){ const electron = require("electron"); const join = require('path').join; const app = electron.app; const fs = require("fs"); var ipc = electron.ipcMain; ipc.on('itunes', async (e, args) => { //Verified on Windows console.log("Access"); if(args[0]=="set"){ var {NowPlaying,PlayerName} = require("nowplaying-node"); var nppath=join(app.getPath("userData"), "nowplaying"); var npProvider; try { npProvider = args[1]; } catch (e) { npProvider="AIMP"; } var myAIMP = new NowPlaying({ fetchCover: true, player: PlayerName[npProvider], }); fs.writeFileSync(nppath, npProvider); }else{ var platform=process.platform; var bit=process.arch; if(platform=="darwin"){ try { const nowplaying = require("itunes-nowplaying-mac"); const value = await nowplaying.getRawData(); mainWindow.webContents.send('itunes-np', value); } catch (error) { // エラーを返す console.error(error); mainWindow.webContents.send('itunes-np', error); } }else{ var {NowPlaying,PlayerName} = require("nowplaying-node"); var nppath=join(app.getPath("userData"), "nowplaying"); var npProvider; try { npProvider = fs.readFileSync(nppath, 'utf8'); } catch (e) { npProvider="AIMP"; } var myAIMP = new NowPlaying({ fetchCover: true, player: PlayerName[npProvider], }); myAIMP.update(); var path=myAIMP.getCoverPath(); if(path){ var bin = fs.readFileSync(path, 'base64'); }else{ var bin=false; } var value={ win:true, name:myAIMP.getTitle(), artist:myAIMP.getArtist(), album:myAIMP.getAlbum(), path:bin } mainWindow.webContents.send('itunes-np', value); } } }); } exports.TheDeskNowPlaying = np;