/*
* MenuTunes
- * StatusWindowController
- * Abstraction layer between MainController and StatusWindow
+ * StatusWindowController.h
*
- * Original Author : Matthew Judy <mjudy@ithinksw.com>
- * Responsibility : Matthew Judy <mjudy@ithinksw.com>
+ * Abstraction layer between MainController and StatusWindow.
*
- * Copyright (c) 2003 iThink Software.
- * All Rights Reserved
+ * Copyright (c) 2003 iThink Software
*
*/
-
#import <Cocoa/Cocoa.h>
#import "ITMTRemote.h"
-
-
-@class StatusWindow;
+#import "StatusWindow.h"
typedef enum {
- MTStatusWindowLoopModeLoopNone,
- MTStatusWindowLoopModeLoopOne,
- MTStatusWindowLoopModeLoopAll
-} MTStatusWindowLoopMode;
+ StatusWindowRepeatNone = -1,
+ StatusWindowRepeatGroup,
+ StatusWindowRepeatTrack
+} StatusWindowRepeatMode;
typedef enum {
- MTStatusWindowShuffleModeOn,
- MTStatusWindowShuffleModeOff
-} MTStatusWindowShuffleMode;
-
+ StatusWindowNoType = -1,
+ StatusWindowTrackInfoType,
+ StatusWindowAlbumArtType,
+ StatusWindowUpcomingSongsType,
+ StatusWindowVolumeType,
+ StatusWindowRatingType,
+ StatusWindowRepeatType,
+ StatusWindowShuffleType,
+ StatusWindowShufflabilityType,
+ StatusWindowSetupType,
+ StatusWindowNetworkType,
+ StatusWindowPreferencesType,
+ StatusWindowDebugType
+} StatusWindowType;
@interface StatusWindowController : NSObject {
- StatusWindow *_window;
+ StatusWindow *_window;
NSUserDefaults *df;
+ NSRange _timeRange;
+ StatusWindowType _currentType;
}
-- (void)showSongWindowWithTitle: (NSString *)title
- album: (NSString *)album
- artist: (NSString *)artist
- time: (NSString *)time // FLOW: Should probably be NSDate or something.
- trackNumber: (int)trackNumber
- trackTotal: (int)trackTotal
- rating: (int)rating
- source:(ITMTRemotePlayerSource)source;
-
-- (void)showUpcomingSongsWithTitles:(NSArray *)titleStrings;
-
-- (void)showVolumeWindowWithLevel:(int)level;
-- (void)showRatingWindowWithLevel:(int)level;
-- (void)showShuffleWindowWithMode:(MTStatusWindowShuffleMode)mode;
-- (void)showLoopWindowWithMode:(MTStatusWindowLoopMode)mode;
++ (StatusWindowController *)sharedController;
+
+- (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings;
+
+- (void)showVolumeWindowWithLevel:(float)level;
+- (void)showRatingWindowWithRating:(float)rating;
+- (void)showShuffleWindow:(BOOL)shuffle;
+- (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
+- (void)showSongShufflabilityWindow:(BOOL)shufflable;
+- (void)showSetupQueryWindow;
+- (void)showReconnectQueryWindow;
+- (void)showNetworkErrorQueryWindow;
+- (void)showPreferencesUpdateWindow;
+- (void)showDebugModeEnabledWindow;
+
+- (void)showAlbumArtWindowWithImage:(NSImage *)image;
+- (void)showAlbumArtWindowWithErrorText:(NSString *)string;
+- (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source
+ title: (NSString *)title
+ album: (NSString *)album
+ artist: (NSString *)artist
+ composer: (NSString *)composer
+ time: (NSString *)time // FLOW: Should probably be NSDate or something.
+ track: (NSString *)track
+ rating: (int)rating
+ playCount: (int)playCount
+ image: (NSImage *)art;
+
+- (StatusWindowType)currentStatusWindowType;
+- (void)updateTime:(NSString *)time;
@end