Airfoil update broke the plugin?

Posted on
Wed Dec 24, 2014 12:52 pm
philc offline
Posts: 156
Joined: May 17, 2011

Airfoil update broke the plugin?

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.

Posted on
Wed Dec 24, 2014 4:06 pm
jay (support) offline
Site Admin
User avatar
Posts: 18220
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Airfoil update broke the plugin?

I'll take a look at this next week.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Sat Dec 27, 2014 5:28 am
juntta online
Posts: 143
Joined: Oct 13, 2014
Location: Finland

Re: Airfoil update broke the plugin?

Reboot did the trick for me - Airfoil now working as before

Posted on
Sat Dec 27, 2014 5:59 am
philc offline
Posts: 156
Joined: May 17, 2011

Re: Airfoil update broke the plugin?

I tried that...no joy

Posted on
Sat Dec 27, 2014 6:15 am
philc offline
Posts: 156
Joined: May 17, 2011

Re: Airfoil update broke the plugin?

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)

Posted on
Mon Dec 29, 2014 9:14 am
BenX10 offline
Posts: 52
Joined: Mar 10, 2012
Location: Haltern am See, Germany

Re: Airfoil update broke the plugin?

Same error here... :(
Last edited by BenX10 on Mon Dec 29, 2014 10:38 am, edited 1 time in total.

Posted on
Mon Dec 29, 2014 9:18 am
philc offline
Posts: 156
Joined: May 17, 2011

Re: Airfoil update broke the plugin?

BTW, I reset the speaker list and now the plugin shows no speakers found in the log.

Posted on
Mon Dec 29, 2014 10:03 am
Jpaction offline
Posts: 36
Joined: Jun 18, 2011

Re: Airfoil update broke the plugin?

Same issue here. The update broke the plugin.

Posted on
Mon Dec 29, 2014 12:21 pm
jay (support) offline
Site Admin
User avatar
Posts: 18220
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Airfoil update broke the plugin?

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

Posted on
Wed Dec 31, 2014 6:36 pm
Dewster35 offline
Posts: 1030
Joined: Jul 06, 2010
Location: Petoskey, MI

Re: Airfoil update broke the plugin?

New update for airfoil dropped recently... hopefully this was the fix.

Posted on
Thu Jan 01, 2015 7:35 am
vasisht offline
Posts: 24
Joined: Dec 08, 2012

Re: Airfoil update broke the plugin?

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)

Posted on
Thu Jan 01, 2015 3:25 pm
richo offline
Posts: 158
Joined: Nov 25, 2014
Location: Pomorskie, Poland

Re: Airfoil update broke the plugin?

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

Posted on
Thu Jan 01, 2015 6:15 pm
jay (support) offline
Site Admin
User avatar
Posts: 18220
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Airfoil update broke the plugin?

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

Posted on
Sat Jan 03, 2015 8:51 pm
vasisht offline
Posts: 24
Joined: Dec 08, 2012

Re: Airfoil update broke the plugin?

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.

Posted on
Wed Jan 07, 2015 12:58 pm
jay (support) offline
Site Admin
User avatar
Posts: 18220
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Airfoil update broke the plugin?

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

Who is online

Users browsing this forum: No registered users and 1 guest