Re: Problems with ScriptingBridge and iTunes
Re: Problems with ScriptingBridge and iTunes
- Subject: Re: Problems with ScriptingBridge and iTunes
- From: "Steven Degutis" <email@hidden>
- Date: Sun, 2 Mar 2008 06:54:02 -0600
Hannes,
I haven't heard of this ITApplication before, but for your specific
problem, I think it's clear why [currentTrack
isKindOfClass:[iTunesFileTrack class]] evaluates to true: in the
previous line, you defined it as such, like this:
iTunesTrack *currentTrack = [iTunes currentTrack];
So obviously it is an iTunesTrack!
Try this:
iTunesFileTrack *currentTrack = [iTunesFileTrack currentTrack];
NSLog(@"%@", [currentTrack location]);
Since iTunesFileTrack is a subclass of iTunesTrack, it should work,
giving you the info you need.
On Sun, Mar 2, 2008 at 6:05 AM, has <email@hidden> wrote:
> Hannes Petri wrote:
>
> > I want to retrieve the path to the currently played file in iTunes. I
> > thought scripting bridge would be the perfect tool for this, however
> > i've run into some problem. I have this code:
> >
>
> > 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.
>
> Here's how you'd do it using objc-appscript <http://appscript.sourceforge.net/objc-appscript.html
> >:
>
>
> // To generate iTunes glue: osaglue -o ITGlue -p IT iTunes
>
> #import <Foundation/Foundation.h>
> #import "ITGlue/ITGlue.h"
>
> int main (int argc, const char * argv[]) {
> NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
>
> ITApplication *itunes = [[ITApplication alloc] initWithBundleID:
> @"com.apple.itunes"];
> ITReference *track = [itunes currentTrack];
>
> ITConstant *trackClass = [[[track class_] get] send];
>
> if (trackClass == [ITConstant fileTrack]) {
> ASAlias *trackFile = [[[track location] get] send];
> NSLog(@"%@", trackFile);
> }
> [itunes release];
> [pool drain];
> return 0;
> }
>
> HTH
>
> has
> --
> http://appscript.sourceforge.net
>
>
>
> _______________________________________________
>
> 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
>
_______________________________________________
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