ITMTRemotePlayerForwarding
} ITMTRemotePlayerPlayingState;
+/*!
+ * @enum ITMTRemotePlayerPlaylistClass
+ * @abstract Possible playlist classes used by a remote's player
+ * @discussion Used in functions that report the class of a playlist to MenuTunes. While we borrow the terms/descriptions from iTunes, these should work fine with any other player. If your player doesn't support a given type of playlist, then just return ITMTRemotePlayerPlaylist.
+ * @constant ITMTRemotePlayerLibraryPlaylist For players that have one playlist that contains all of a user's music, or for players that don't have the concept of multiple playlists, this is the class for that "Master" list.
+ * @constant ITMTRemotePlayerPlaylist The generic playlist. Created and maintained by the user.
+ * @constant ITMTRemotePlayerSmartPlaylist A smart playlist is a playlist who's contents are dynamic, based on a set of criteria or updated by a script. These are usually not edited directly by the user, but instead maintained by the player.
+ * @constant ITMTRemotePlayerRadioPlaylist This is for when playing tracks off of (online) radio stations.
+ */
+typedef enum {
+ ITMTRemotePlayerLibraryPlaylist = -1,
+ ITMTRemotePlayerPlaylist,
+ ITMTRemotePlayerSmartPlaylist,
+ ITMTRemotePlayerRadioPlaylist
+} ITMTRemotePlayerPlaylistClass;
+
/*!
* @enum ITMTRemotePlayerRepeatMode
* @abstract Possible repeat modes for the remote's player.
/*!
* @method classOfPlaylistAtIndex:
*/
-- (NSString *)classOfPlaylistAtIndex:(int)index;
+- (ITMTRemotePlayerPlaylistClass)classOfPlaylistAtIndex:(int)index;
/*!
* @method currentPlaylistIndex
return [[ITAppleEventCenter sharedCenter] sendAEWithSendStringForNumber:[NSString stringWithFormat:@"kocl:type('cTrk'), '----':obj { form:'indx', want:type('cPly'), seld:long(%lu), from:'null'() }",index] eventClass:@"core" eventID:@"cnte" appPSN:iTunesPSN];
}
-- (NSString *)classOfPlaylistAtIndex:(int)index
+- (ITMTRemotePlayerPlaylistClass)classOfPlaylistAtIndex:(int)index
{
int realResult = [[ITAppleEventCenter sharedCenter] sendTwoTierAEWithRequestedKeyForNumber:@"pcls" fromObjectByKey:@"pPla" eventClass:@"core" eventID:@"getd" appPSN:iTunesPSN];
+ // ADD SUPPORT FOR RETURNING A ITMTRemotePlayerLibraryPlaylist WHEN PLAYLIST IS LIBRARY.
+
switch (realResult)
{
case 'cRTP':
- return @"radio tuner playlist";
+ return ITMTRemotePlayerRadioPlaylist;
break;
default:
- return @"playlist";
+ return ITMTRemotePlayerPlaylist;
}
}