Airfoil update broke the plugin?

This forum is where we've moved the discussions of the original Airfoil plugin that shipped with Indigo 5/6 (and is now open source). You may continue to ask questions in this subforum, just make sure that it's not about the new Airfoil Pro plugin that shipped with Indigo 7 (ask those questions below).
philc
Posts: 156
Joined: Tue May 17, 2011 8:36 pm

Airfoil update broke the plugin?

Post by philc »

Just processed an update to Airfoil to v4.8.12...and now Airfoil doesn't work.

Here's what I get in the log:
Enabling plugin "Airfoil 1.1.7"
Starting plugin "Airfoil 1.1.7" (pid 660)
Started plugin "Airfoil 1.1.7"
Airfoil Error Update failed. Check to see if Airfoil is functioning correctly.
Airfoil Error Update failed. Check to see if Airfoil is functioning correctly.
Airfoil Error Update failed. Check to see if Airfoil is functioning correctly.
Airfoil Error Update failed. Check to see if Airfoil is functioning correctly.
Airfoil Error Update failed. Check to see if Airfoil is functioning correctly.
Airfoil Error Update failed. Check to see if Airfoil is functioning correctly.
Disabling plugin "Airfoil 1.1.7"
Stopping plugin "Airfoil 1.1.7" (pid 660)
Stopped plugin "Airfoil 1.1.7"
That's me starting and stopping the plugin manually, but the log just fills with the update failed message until I disable the plugin.

Sorry to hit you with this on Christmas Eve...all the best guys, and please don't bother to work on this until after Christmas.
User avatar
jay (support)
Site Admin
Posts: 19232
Joined: Wed Mar 19, 2008 11:52 am
Location: Austin, Texas
Contact:

Re: Airfoil update broke the plugin?

Post by jay (support) »

I'll take a look at this next week.
Jay (Indigo Support)
Twitter | Facebook | LinkedIn
juntta
Posts: 150
Joined: Mon Oct 13, 2014 12:46 am
Location: Finland

Re: Airfoil update broke the plugin?

Post by juntta »

Reboot did the trick for me - Airfoil now working as before
philc
Posts: 156
Joined: Tue May 17, 2011 8:36 pm

Re: Airfoil update broke the plugin?

Post by philc »

I tried that...no joy
philc
Posts: 156
Joined: Tue May 17, 2011 8:36 pm

Re: Airfoil update broke the plugin?

Post by philc »

Here's a debug log of the problem, looks like one of my speakers (Master Bedroom) is all of a sudden a problem:
Airfoil Debug runConcurrentThread: update()
Airfoil Debug update method called
Airfoil Debug update: Airfoil is running
Airfoil Debug update: application sources: [app(u'/Applications/Airfoil.app').application_sources.ID(0), app(u'/Applications/Airfoil.app').application_sources.ID(1), app(u'/Applications/Airfoil.app').application_sources.ID(2)]
Airfoil Debug update: device sources: [app(u'/Applications/Airfoil.app').device_sources.ID(3), app(u'/Applications/Airfoil.app').device_sources.ID(4), app(u'/Applications/Airfoil.app').device_sources.ID(5), app(u'/Applications/Airfoil.app').device_sources.ID(6)]
Airfoil Debug update: system sources: [app(u'/Applications/Airfoil.app').system_sources.ID(7)]
Airfoil Debug update: speakers: [app(u'/Applications/Airfoil.app').speakers.ID(u'com.rogueamoeba.airfoil.LocalSpeaker'), app(u'/Applications/Airfoil.app').speakers.ID(u'EC66D1070C4E@Master Bedroom'), app(u'/Applications/Airfoil.app').speakers.ID(u'C82A1425092D@iMac 2011'), app(u'/Applications/Airfoil.app').speakers.ID(u'F0D1A907B126@DiningRoom'), app(u'/Applications/Airfoil.app').speakers.ID(u'EC66D10702F2@Living room'), app(u'/Applications/Airfoil.app').speakers.ID(u'745E1C2F184A@Pioneer Rcvr'), app(u'/Applications/Airfoil.app').speakers.ID(u'A8206655A06C@MacMini2012')]
Airfoil Debug update: Computer (com.rogueamoeba.airfoil.LocalSpeaker) - Connected: 0
Airfoil Debug update: adding to newKnownSpeakers for id: ID-com.rogueamoeba.airfoil.LocalSpeaker value: (u'Computer', u'disconnected')
Airfoil Error Update failed. Check to see if Airfoil is functioning correctly.
Airfoil Debug Update failed with exception:
Traceback (most recent call last):
File "plugin.py", line 459, in update
speakerId = self.airfoil.get(speaker.id)
File "/Library/Application Support/Perceptive Automation/Indigo 6/IndigoPluginHost.app/Contents/PlugIns/appscript/reference.py", line 498, in __call__
raise CommandError(self, (args, kargs), e, self.AS_appdata)
CommandError: Command failed:
OSERROR: -1728
MESSAGE: Can't get reference.
OFFENDING OBJECT: app(u'/Applications/Airfoil.app').speakers.ID(u'EC66D1070C4E@Master Bedroom')
COMMAND: app(u'/Applications/Airfoil.app').get(app(u'/Applications/Airfoil.app').speakers.ID(u'EC66D1070C4E@Master Bedroom').id)
BenX10
Posts: 52
Joined: Sat Mar 10, 2012 8:24 pm
Location: Haltern am See, Germany

Re: Airfoil update broke the plugin?

Post by BenX10 »

Same error here... :(
Last edited by BenX10 on Mon Dec 29, 2014 10:38 am, edited 1 time in total.
philc
Posts: 156
Joined: Tue May 17, 2011 8:36 pm

Re: Airfoil update broke the plugin?

Post by philc »

BTW, I reset the speaker list and now the plugin shows no speakers found in the log.
Jpaction
Posts: 36
Joined: Sat Jun 18, 2011 10:21 am

Re: Airfoil update broke the plugin?

Post by Jpaction »

Same issue here. The update broke the plugin.
User avatar
jay (support)
Site Admin
Posts: 19232
Joined: Wed Mar 19, 2008 11:52 am
Location: Austin, Texas
Contact:

Re: Airfoil update broke the plugin?

Post by jay (support) »

Well, good and bad news: the good news is that it isn't a problem with the plugin. The bad news is that it appears to be a bug in Airfoil. If you try to get a speaker by it's ID in any AppleScript editor:

Code: Select all

tell application "Airfoil"
    speaker whose id is "INSERTIDHERE"
end tell
You get an OS error returned (-1728). It seems to work with the local speaker whose ID is "com.rogueamoeba.airfoil.LocalSpeaker", it's just any other speaker that is failing.

I've reported this to Rogue Amoeba and hopefully will hear something back from them in the next day or two.
Jay (Indigo Support)
Twitter | Facebook | LinkedIn
Dewster35
Posts: 1033
Joined: Tue Jul 06, 2010 6:29 pm
Location: Petoskey, MI

Re: Airfoil update broke the plugin?

Post by Dewster35 »

New update for airfoil dropped recently... hopefully this was the fix.
vasisht
Posts: 24
Joined: Sat Dec 08, 2012 10:04 am

Re: Airfoil update broke the plugin?

Post by vasisht »

No dice for me. This all started when Airfoil updated recently. I'm running the latest version of Airfoil and Instant On.

Code: Select all

  Airfoil Debug                   runConcurrentThread: update()
  Airfoil Debug                   update method called
  Airfoil Debug                   update: Airfoil is running
  Airfoil Debug                   update: application sources: [app(u'/Applications/Airfoil.app').application_sources.ID(0), app(u'/Applications/Airfoil.app').application_sources.ID(1), app(u'/Applications/Airfoil.app').application_sources.ID(2)]
  Airfoil Debug                   update: device sources: [app(u'/Applications/Airfoil.app').device_sources.ID(3), app(u'/Applications/Airfoil.app').device_sources.ID(4)]
  Airfoil Debug                   update: system sources: [app(u'/Applications/Airfoil.app').system_sources.ID(5)]
  Airfoil Debug                   update: speakers: [app(u'/Applications/Airfoil.app').speakers.ID(u'com.rogueamoeba.airfoil.LocalSpeaker'), app(u'/Applications/Airfoil.app').speakers.ID(u'28CFE97E0F2D@Living Room'), app(u'/Applications/Airfoil.app').speakers.ID(u'D8306233AB5E@Master Bedroom'), app(u'/Applications/Airfoil.app').speakers.ID(u'403CFC020D42@Office')]
  Airfoil Debug                   update: Computer (com.rogueamoeba.airfoil.LocalSpeaker) - Connected: 0
  Airfoil Debug                   update: adding to newKnownSpeakers for id: ID-com.rogueamoeba.airfoil.LocalSpeaker value: (u'Computer', u'disconnected')
  Airfoil Error                   Update failed. Check to see if Airfoil is functioning correctly.
  Airfoil Debug                   Update failed with exception:
Traceback (most recent call last):
  File "plugin.py", line 459, in update
    speakerId = self.airfoil.get(speaker.id)
  File "/Library/Application Support/Perceptive Automation/Indigo 6/IndigoPluginHost.app/Contents/PlugIns/appscript/reference.py", line 498, in __call__
    raise CommandError(self, (args, kargs), e, self.AS_appdata)
CommandError: Command failed:
		OSERROR: -1728
		MESSAGE: Can't get reference.
		OFFENDING OBJECT: app(u'/Applications/Airfoil.app').speakers.ID(u'28CFE97E0F2D@Living Room')
		COMMAND: app(u'/Applications/Airfoil.app').get(app(u'/Applications/Airfoil.app').speakers.ID(u'28CFE97E0F2D@Living Room').id)
richo
Posts: 161
Joined: Tue Nov 25, 2014 3:54 am
Location: Pomorskie, Poland

Re: Airfoil update broke the plugin?

Post by richo »

jay (support) wrote:Well, good and bad news: the good news is that it isn't a problem with the plugin. The bad news is that it appears to be a bug in Airfoil. If you try to get a speaker by it's ID in any AppleScript editor:

Code: Select all

tell application "Airfoil"
    speaker whose id is "INSERTIDHERE"
end tell
You get an OS error returned (-1728). It seems to work with the local speaker whose ID is "com.rogueamoeba.airfoil.LocalSpeaker", it's just any other speaker that is failing.

I've reported this to Rogue Amoeba and hopefully will hear something back from them in the next day or two.
Hi Jay, it seems that the following statement works:

Code: Select all

tell application "Airfoil"
	get every speaker whose bonjourName is "INSERTIDHERE" --i.ex. "90840DEB89CE@Speaker" --
end tell
Ryszard
User avatar
jay (support)
Site Admin
Posts: 19232
Joined: Wed Mar 19, 2008 11:52 am
Location: Austin, Texas
Contact:

Re: Airfoil update broke the plugin?

Post by jay (support) »

Unfortunately I don't believe it's possible to construct that particular series of apple events using appscript, which is what the plugin uses to communicate from Python to AppleScript. I'm hoping Rogue Amoeba will fix the problem since I'm not sure there's going to be another way to fix the plugin.
Jay (Indigo Support)
Twitter | Facebook | LinkedIn
vasisht
Posts: 24
Joined: Sat Dec 08, 2012 10:04 am

Re: Airfoil update broke the plugin?

Post by vasisht »

OK due to my absolute requirement that airfoil work for me at all times, I coded this. Feel free to use/modify this in any way.

I threw this in a file called airfoil.py

It requires the (no longer supported) python library "app script": http://appscript.sourceforge.net

Code: Select all

#!/usr/bin/python

from appscript import app

def connectToSpeaker(speaker):
        app(u'Airfoil').speakers[speaker].connect_to()

def disconnectFromSpeaker(speaker):
        app(u'Airfoil').speakers[speaker].disconnect_from()

def connectToAllSpeakers():
        app(u'Airfoil').speakers.connect_to()

def disconnectFromAllSpeakers():
        app(u'Airfoil').speakers.disconnect_from()

usage:

Code: Select all

import airfoil
airfoil.connectToSpeaker("Living Room")
airfoil.disconnectFromSpeaker("Master Bedroom") # or whatever your speakers are named
Hopefully the plugin's issues get resolved soon, but this is a decent stop gap.

I'll add more functions to change sources etc as time permits in the next few days. I just leave my input on "System Audio" so I don't need to change sources.
User avatar
jay (support)
Site Admin
Posts: 19232
Joined: Wed Mar 19, 2008 11:52 am
Location: Austin, Texas
Contact:

Re: Airfoil update broke the plugin?

Post by jay (support) »

Great news! Rogue Amoeba has found the problem and corrected it in their latest developer release - 4.8.13d1 which can be downloaded here. If they've released 4.8.13 then you should already be covered.

There were actually two issues with this release - one was a bug which they fixed and another is a change in how speaker IDs are constructed. The latter required a change to the plugin, which will be included in the next general release of Indigo (6.0.21). You can download the updated Airfoil plugin v1.1.8 here in the meantime.
Jay (Indigo Support)
Twitter | Facebook | LinkedIn
Post Reply

Return to “Old Airfoil Discussions”