From aa83f2d747e14738042a1c0296b201b481aa931c Mon Sep 17 00:00:00 2001 From: child_duckling <19170969+child-duckling@users.noreply.github.com> Date: Sat, 22 Jan 2022 21:53:37 -0800 Subject: [PATCH] this SHOULD work, hopefully --- src/main/base/app.ts | 26 ++++---------------------- src/main/base/win.ts | 9 ++++++++- 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/src/main/base/app.ts b/src/main/base/app.ts index ce01748d..235948e3 100644 --- a/src/main/base/app.ts +++ b/src/main/base/app.ts @@ -1,6 +1,5 @@ import * as electron from 'electron'; import * as path from 'path'; - export class AppEvents { private static protocols: any = [ "ame", @@ -125,45 +124,28 @@ export class AppEvents { } // Play else if (arg.includes('/play/')) { //Steer away from protocol:// specific conditionals - const playParam = arg.split('/play/')[1] if (playParam.includes('s/')) { // song console.log(playParam) let song = playParam.split('s/')[1] console.warn(`[LinkHandler] Attempting to load song by id: ${song}`); - // AppEvents.window.webContents.executeJavaScript(` - // MusicKit.getInstance().setQueue({ song: '${song}'}).then(function(queue) { - // MusicKit.getInstance().play(); - // }); - // `) + electron.ipcRenderer.send('play', 'song', song) } else if (playParam.includes('a/')) { // album console.log(playParam) let album = playParam.split('a/')[1] console.warn(`[LinkHandler] Attempting to load album by id: ${album}`); - // AppEvents.window.webContents.executeJavaScript(` - // MusicKit.getInstance().setQueue({ album: '${album}'}).then(function(queue) { - // MusicKit.getInstance().play(); - // }); - // `) + electron.ipcRenderer.send('play', 'album', album) } else if (playParam.includes('p/')) { // playlist console.log(playParam) let playlist = playParam.split('p/')[1] console.warn(`[LinkHandler] Attempting to load playlist by id: ${playlist}`); - // AppEvents.window.webContents.executeJavaScript(` - // MusicKit.getInstance().setQueue({ playlist: '${playlist}'}).then(function(queue) { - // MusicKit.getInstance().play(); - // }); - // `) + electron.ipcRenderer.send('play', 'playlist', playlist) } } else if (arg.includes('music.apple.com')) { // URL (used with itms/itmss/music/musics uris) console.log(arg) let url = arg.split('//')[1] console.warn(`[LinkHandler] Attempting to load url: ${url}`); - // AppEvents.window.webContents.executeJavaScript(` - // MusicKit.getInstance().setQueue({ url: 'https://${url}'}).then(function(queue) { - // MusicKit.getInstance().play(); - // }); - // `) + electron.ipcRenderer.send('play', 'url', url) } } } \ No newline at end of file diff --git a/src/main/base/win.ts b/src/main/base/win.ts index 3c0e4aad..9f7586c1 100644 --- a/src/main/base/win.ts +++ b/src/main/base/win.ts @@ -411,6 +411,14 @@ export class Win { this.win.setFullScreen(flag) }) + electron.ipcMain.on('play', (event, type, id) => { + this.win.webContents.executeJavaScript(` + MusicKit.getInstance().setQueue({ ${type}: '${id}'}).then(function(queue) { + MusicKit.getInstance().play(); + }); + `) + }) + function getIp() { let ip = false; let alias = 0; @@ -488,7 +496,6 @@ export class Win { return { action: "deny" }; }); } - private async broadcastRemote() { function getIp() { let ip :any = false;