3 MenuTunes SDK BETA (SUBJECT TO CHANGE)
6 Copyright 2003 by iThink Software, All Rights Reserved.
7 This is under Non-Disclosure
11 Remotes need to include an Info.plist in their
12 bundle/wrapper. It needs to have the following keys
22 It also needs to have an icon file who's filename (Relative)
23 is indicated in the ITMTRemoteIconFile value.
27 #import <Cocoa/Cocoa.h>
35 } ITMTRemoteInformationString;
38 ITMTRemotePlayerStopped = -1,
39 ITMTRemotePlayerPaused,
40 ITMTRemotePlayerPlaying,
41 ITMTRemotePlayerRewinding,
42 ITMTRemotePlayerForwarding
43 } ITMTRemoteControlState;
50 ITMTRemoteFastForward,
51 ITMTRemotePreviousTrack,
53 } ITMTRemoteControlAction;
56 ITMTRemoteSinglePlaylist,
57 ITMTRemoteLibraryAndPlaylists,
58 ITMTRemoteSeperatePlaylists
59 } ITMTRemotePlaylistMode;
63 ITMTRemoteTrackArtist,
65 ITMTRemoteTrackComposer,
66 ITMTRemoteTrackNumber,
68 ITMTRemoteTrackComment,
71 ITMTRemoteTrackRating,
73 } ITMTRemoteTrackProperty;
79 } ITMTRemoteRepeatMode;
82 ITMTRemoteCustomPreset = -1;
87 - (NSString*)informationString:(ITMTRemoteInformationString)string;
93 - (BOOL)supportsControlAction:(ITMTRemoteControlAction)action;
94 - (BOOL)sendControlAction:(ITMTRemoteControlAction)action;
95 - (ITMTRemoteControlState)controlState;
97 - (ITMTRemotePlaylistMode)playlistMode;
98 - (NSArray*)playlistNames;
99 - (BOOL)switchToPlaylist:(int)playlistIndex;
100 - (BOOL)switchToTrackAtIndex:(int)index;
101 - (int)indexForTrack:(int)identifier inPlaylist:(int)playlistIndex;
102 - (int)identifierForTrackAtIndex:(int)index inPlaylist:(int)playlistIndex;
104 - (BOOL)supportsTrackProperty:(ITMTRemoteTrackProperty)property;
105 - (id)trackProperty:(ITMTRemoteTrackProperty)property atIndex:(int)index;
106 - (BOOL)setTrackProperty:(ITMTRemoteTrackProperty)property toValue:(id)value atIndex:(int)index;
107 /* currently only used to set Ratings... someday, we might provide a full frontend? well, it is possible that other apps could use MT remotes, as such, they might want to set other values. For Rating, send in an NSNumber from a float 0.0 - 1.0. For Art, send in an NSImage... this is also what you'll recieve when using the accessor */
110 - (BOOL)supportsShuffle;
111 - (BOOL)setShuffle:(BOOL)toggle;
114 - (BOOL)supportsRepeatMode:(ITMTRemoteRepeatMode)repeatMode;
115 - (BOOL)setRepeatMode:(ITMTRemoteRepeatMode)repeatMode;
116 - (ITMTRemoteRepeatMode)repeatMode;
118 - (BOOL)supportsVolume;
119 - (BOOL)setVolume:(float)volume;
122 - (BOOL)supportsCustomEqualizer;
123 - (BOOL)showEqualizerWindow;
125 - (BOOL)supportsEqualizerPresets;
126 - (NSArray*)equalizerPresetNames;
127 - (BOOL)switchToEqualizerPreset:(int)index; // ITMTRemoteCustomPreset = Custom
129 - (BOOL)supportsExternalWindow;
130 - (NSString*)externalWindowName;
131 - (BOOL)showExternalWindow;
135 @interface ITMTRemote : NSObject <ITMTRemote>