Tons of changes. Fixed the iPod problem finally. Added composer to
[MenuTunes.git] / MainController.m
index c889234..940766c 100755 (executable)
@@ -372,17 +372,23 @@ static MainController *sharedController;
             
             [self setLatestSongIdentifier:[[self currentRemote] playerStateUniqueIdentifier]];
             
             
             [self setLatestSongIdentifier:[[self currentRemote] playerStateUniqueIdentifier]];
             
-            NSString *artist = [[self currentRemote] currentSongArtist];
-            NSString *title = [[self currentRemote] currentSongTitle];
-            NSString *toolTip;
-            if (artist) {
-                toolTip = [NSString stringWithFormat:@"%@ - %@", artist, title];
-            } else if (title) {
-                toolTip = title;
+            //Create the tooltip for the status item
+            if ( [df boolForKey:@"showToolTip"] ) {
+                NSString *artist = [[self currentRemote] currentSongArtist];
+                NSString *title = [[self currentRemote] currentSongTitle];
+                NSString *toolTip;
+                ITDebugLog(@"Creating status item tooltip.");
+                if (artist) {
+                    toolTip = [NSString stringWithFormat:@"%@ - %@", artist, title];
+                } else if (title) {
+                    toolTip = title;
+                } else {
+                    toolTip = @"No Song Playing";
+                }
+                [statusItem setToolTip:toolTip];
             } else {
             } else {
-                toolTip = @"No Song Playing";
+                [statusItem setToolTip:nil];
             }
             }
-            [statusItem setToolTip:toolTip];
         NS_HANDLER
             [self networkError:localException];
         NS_ENDHANDLER
         NS_HANDLER
             [self networkError:localException];
         NS_ENDHANDLER
@@ -582,6 +588,11 @@ static MainController *sharedController;
 //
 //
 
 //
 //
 
+- (MenuController *)menuController
+{
+    return menuController;
+}
+
 - (void)closePreferences
 {
     ITDebugLog(@"Preferences closed.");
 - (void)closePreferences
 {
     ITDebugLog(@"Preferences closed.");
@@ -753,6 +764,7 @@ static MainController *sharedController;
     NSString               *title       = nil;
     NSString               *album       = nil;
     NSString               *artist      = nil;
     NSString               *title       = nil;
     NSString               *album       = nil;
     NSString               *artist      = nil;
+    NSString               *composer    = nil;
     NSString               *time        = nil;
     NSString               *track       = nil;
     NSImage                *art         = nil;
     NSString               *time        = nil;
     NSString               *track       = nil;
     NSImage                *art         = nil;
@@ -785,6 +797,14 @@ static MainController *sharedController;
             NS_ENDHANDLER
         }
 
             NS_ENDHANDLER
         }
 
+        if ( [df boolForKey:@"showComposer"] ) {
+            NS_DURING
+                composer = [[self currentRemote] currentSongComposer];
+            NS_HANDLER
+                [self networkError:localException];
+            NS_ENDHANDLER
+        }
+
         if ( [df boolForKey:@"showTime"] ) {
             NS_DURING
                 time = [NSString stringWithFormat:@"%@: %@ / %@",
         if ( [df boolForKey:@"showTime"] ) {
             NS_DURING
                 time = [NSString stringWithFormat:@"%@: %@ / %@",
@@ -847,6 +867,7 @@ static MainController *sharedController;
                                                    title:title
                                                    album:album
                                                   artist:artist
                                                    title:title
                                                    album:album
                                                   artist:artist
+                                                composer:composer
                                                     time:time
                                                    track:track
                                                   rating:rating
                                                     time:time
                                                    track:track
                                                   rating:rating