Re: Problems with ScriptingBridge and iTunes
Re: Problems with ScriptingBridge and iTunes
- Subject: Re: Problems with ScriptingBridge and iTunes
- From: Jonathan 'Wolf' Rentzsch <email@hidden>
- Date: Sat, 1 Mar 2008 23:06:54 -0600
On Mar 1, 2008, at 7:28 PM, Hannes Petri wrote:
iTunesApplication *iTunes = [[SBApplication alloc]
initWithBundleIdentifier:@"com.apple.iTunes"];
iTunesTrack *currentTrack = [iTunes currentTrack];
if ([currentTrack isKindOfClass:[iTunesFileTrack class]]) {
…
}
The problem is, that the class of the object returned is _always_
iTunesTrack, and not iTunesFileTrack, as i expect it to be. If i run
the following applescript code:
tell application "iTunes" to current track
I get a "file track", which makes it possible to fetch the path
using the "location" attribute. If I, in the ObjC example, try
[currentTrack location], I'm told that it doesn't respond to that
selector.
I have made certain that the object is of class iTunesTrack by
typing 'po [currentTrack class]' in gdb.
I ran into the same thing -- Scripting Bridge may play games
isKindOfClass: that bite us. My work-around is to test by class name:
if ([[track className] isEqualToString:@"ITunesURLTrack"]) { /* ... */ }
| Jonathan 'Wolf' Rentzsch http://rentzsch.com
| Red Shed Software http://redshed.net
| "better" necessarily means "different"
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden