Some Plugin API changes... Need to finish the API HeaderDocs sometime
[MenuTunes.git] / iTunesRemote.m
index 4d1b1a9..e479c63 100755 (executable)
@@ -9,7 +9,7 @@
 
 - (NSString *)title
 {
-    return @"iTunes Plug-in";
+    return @"iTunes";
 }
 
 - (NSString *)information;
@@ -58,7 +58,7 @@
     return NO;
 }
 
-- (PlayerState)playerState
+- (ITMTRemotePlayerState)playerState
 {
     long result = [[ITAppleEventCenter sharedCenter] sendAEWithSendStringForNumber:@"'----':obj { form:'prop', want:type('prop'), seld:type('pPlS'), from:'null'() }" eventClass:@"core" eventID:@"getd" appPSN:iTunesPSN];
     
     return [[NSNumber numberWithLong:duration - current] stringValue];
 }
 
+- (float)currentSongRating
+{
+    return 0.00;
+}
+
+- (BOOL)setCurrentSongRating:(float)rating
+{
+    return NO;
+}
+
+- (float)volume
+{
+    return 1.00;
+}
+
+- (BOOL)setVolume:(float)volume
+{
+    return NO;
+}
+
 - (NSArray *)eqPresets;
 {
     int i;
 
 - (BOOL)switchToPlaylistAtIndex:(int)index
 {
-    [[ITAppleEventCenter sharedCenter] sendAEWithSendString:[NSString stringWithFormat:@"'----':obj { form:'name', want:type('cPly'), seld:long(%lu), from:() }",index] eventClass:@"hook" eventID:@"Play" appPSN:iTunesPSN];
-    return NO;
+    [[ITAppleEventCenter sharedCenter] sendAEWithSendString:[NSString stringWithFormat:@"'----':obj { form:'indx', want:type('cPly'), seld:long(%lu), from:() }",index] eventClass:@"hook" eventID:@"Play" appPSN:iTunesPSN];
+    return YES;
 }
 
 - (BOOL)switchToSongAtIndex:(int)index
 {
     [[ITAppleEventCenter sharedCenter] sendAEWithSendString:[NSString stringWithFormat:@"'----':obj { form:'indx', want:type('cTrk'), seld:long(%lu), from:obj { form:'prop', want:type('prop'), seld:type('pPla'), from:() } }",index] eventClass:@"hook" eventID:@"Play" appPSN:iTunesPSN];
-    return NO;
+    return YES;
 }
 
 - (BOOL)switchToEQAtIndex:(int)index
 {
-    [[ITAppleEventCenter sharedCenter] sendAEWithSendString:[NSString stringWithFormat:@"data:obj { form:'name', want:type('cEQP'), seld:long(%lu), from:'null'() }, '----':obj { form:'prop', want:type('prop'), seld:type('pEQP'), from:'null'() }",index] eventClass:@"core" eventID:@"setd" appPSN:iTunesPSN];
+    [[ITAppleEventCenter sharedCenter] sendAEWithSendString:[NSString stringWithFormat:@"data:obj { form:'indx', want:type('cEQP'), seld:long(%lu), from:'null'() }, '----':obj { form:'prop', want:type('prop'), seld:type('pEQP'), from:'null'() }",index] eventClass:@"core" eventID:@"setd" appPSN:iTunesPSN];
     [[ITAppleEventCenter sharedCenter] sendAEWithSendString:@"data:1, '----':obj { form:'prop', want:type('prop'), seld:type('pEQ '), from:'null'() }" eventClass:@"core" eventID:@"setd" appPSN:iTunesPSN];
-    return NO;
+    return YES;
 }
 
 - (ProcessSerialNumber)iTunesPSN