2019-04-03 14:59:29 +11:00
|
|
|
function np(mainWindow){
|
|
|
|
const electron = require("electron");
|
|
|
|
const join = require('path').join;
|
|
|
|
const app = electron.app;
|
|
|
|
const fs = require("fs");
|
|
|
|
var ipc = electron.ipcMain;
|
2019-04-14 02:33:00 +10:00
|
|
|
ipc.on('itunes', async (e, args) => {
|
2019-04-03 14:59:29 +11:00
|
|
|
//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"){
|
2019-04-14 02:33:00 +10:00
|
|
|
try {
|
|
|
|
const nowplaying = require("itunes-nowplaying-mac");
|
|
|
|
const value = await nowplaying.getRawData();
|
2019-04-03 14:59:29 +11:00
|
|
|
mainWindow.webContents.send('itunes-np', value);
|
2019-04-14 02:33:00 +10:00
|
|
|
} catch (error) {
|
2019-04-14 02:32:16 +10:00
|
|
|
// エラーを返す
|
|
|
|
console.error(error);
|
|
|
|
mainWindow.webContents.send('itunes-np', error);
|
2019-04-14 02:33:00 +10:00
|
|
|
}
|
2019-04-03 14:59:29 +11:00
|
|
|
}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;
|