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 PROTECTED]> 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 (Cocoa-dev@lists.apple.com)
>
>  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:
>  http://lists.apple.com/mailman/options/cocoa-dev/sephknows%40gmail.com
>
>  This email sent to [EMAIL PROTECTED]
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to