diff --git a/.circleci/config.yml b/.circleci/config.yml index 1ac3ccfd..0d13dd1d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,6 +15,9 @@ jobs: executor: cider-ci steps: - checkout + - run: + name: Install buildtools + command: apt-get install autoconf automake g++ libtool || true - run: name: Update Version Number of App command: sudo chmod +x resources/version.sh && ./resources/version.sh || true diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index f47f1d37..c9977cb4 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -91,6 +91,7 @@ jobs: run: | rm cider-yarn.lock || true xcodebuild -version + brew install autoconf automake libtool yarn install cp resources/verror-types node_modules/@types/verror/index.d.ts cp resources/macPackager.js node_modules/app-builder-lib/out/macPackager.js diff --git a/src/main/plugins/raop.ts b/src/main/plugins/raop.ts index e99c3de7..0116746d 100644 --- a/src/main/plugins/raop.ts +++ b/src/main/plugins/raop.ts @@ -88,14 +88,16 @@ export default class RAOP { `; - private ondeviceup(name: any, host: any, port: any, addresses: any, text: any) { - if (this.castDevices.findIndex((item: any) => item.name == host.replace(".local","") && item.port == port && item.addresses == addresses) === -1) { + private ondeviceup(name: any, host: any, port: any, addresses: any, text: any, airplay2: any = null) { + console.log(this.castDevices.findIndex((item: any) => {return (item.name == host.replace(".local","") && item.port == port )})) + if (this.castDevices.findIndex((item: any) => {return (item.name == host.replace(".local","") && item.port == port )}) == -1) { this.castDevices.push({ name: host.replace(".local",""), host: addresses ? addresses[0] : '', port: port, addresses: addresses, - txt: text + txt: text, + airplay2: airplay2 }); if (this.devices.indexOf(host) === -1) { this.devices.push(host); @@ -147,7 +149,7 @@ export default class RAOP { browser.on('ready', browser.discover); browser.on('update', (service: any) => { - if (service.addresses && service.fullname && (service.fullname.includes('_raop._tcp') || service.fullname.includes('_airplay._tcp'))) { + if (service.addresses && service.fullname && (service.fullname.includes('_raop._tcp'))) { // console.log(service.txt) this._win.webContents.executeJavaScript(`console.log( "${service.name} ${service.host}:${service.port} ${service.addresses}" @@ -155,6 +157,19 @@ export default class RAOP { this.ondeviceup(service.name, service.host, service.port, service.addresses, service.txt); } }); + + const browser2 = this.mdns.createBrowser(this.mdns.tcp('airplay')); + browser2.on('ready', browser2.discover); + + browser2.on('update', (service: any) => { + if (service.addresses && service.fullname && (service.fullname.includes('_airplay._tcp'))) { + // console.log(service.txt) + this._win.webContents.executeJavaScript(`console.log( + "${service.name} ${service.host}:${service.port} ${service.addresses}" + )`); + this.ondeviceup(service.name, service.host, service.port, service.addresses, service.txt, true); + } + }); // const browser2 = this.mdns.createBrowser(this.mdns.tcp('airplay')); // browser2.on('ready', browser2.discover); @@ -173,7 +188,7 @@ export default class RAOP { - electron.ipcMain.on("performAirplayPCM", (event, ipv4, ipport, sepassword, title, artist, album, artworkURL,txt) => { + electron.ipcMain.on("performAirplayPCM", (event, ipv4, ipport, sepassword, title, artist, album, artworkURL,txt,airplay2dv) => { if (ipv4 != this.ipairplay || ipport != this.portairplay) { if (this.airtunes == null) { this.airtunes = new this.u()} @@ -183,7 +198,9 @@ export default class RAOP { port: ipport, volume: 50, password: sepassword, - txt: txt + txt: txt, + airplay2: airplay2dv, + debug: true }); // console.log('lol',txt) this.device.on('status', (status: any) => { diff --git a/src/main/providers/local/index.ts b/src/main/providers/local/index.ts index 1a92ab4e..289cad82 100644 --- a/src/main/providers/local/index.ts +++ b/src/main/providers/local/index.ts @@ -48,7 +48,8 @@ export class LocalFiles { let metadatalist = [] let metadatalistart = [] let numid = 0; - + mmQueue = mmQueue.concat(parseFileQueue) + parseFileQueue = [] // Music Metadata fallback for (var audio of mmQueue) { try { diff --git a/src/renderer/views/components/airplay-modal.ejs b/src/renderer/views/components/airplay-modal.ejs index 994d3a9d..690105c8 100644 --- a/src/renderer/views/components/airplay-modal.ejs +++ b/src/renderer/views/components/airplay-modal.ejs @@ -3,7 +3,7 @@