3 * StatusWindowController
4 * Abstraction layer between MainController and StatusWindow
6 * Original Author : Matthew Judy <mjudy@ithinksw.com>
7 * Responsibility : Matthew Judy <mjudy@ithinksw.com>
9 * Copyright (c) 2003 iThink Software.
15 #import <Cocoa/Cocoa.h>
16 #import "ITMTRemote.h"
17 #import "StatusWindow.h"
21 StatusWindowRepeatNone = -1,
22 StatusWindowRepeatGroup,
23 StatusWindowRepeatTrack
24 } StatusWindowRepeatMode;
27 StatusWindowNoType = -1,
28 StatusWindowTrackInfoType,
29 StatusWindowAlbumArtType,
30 StatusWindowUpcomingSongsType,
31 StatusWindowVolumeType,
32 StatusWindowRatingType,
33 StatusWindowRepeatType,
34 StatusWindowShuffleType,
35 StatusWindowShufflabilityType,
36 StatusWindowSetupType,
37 StatusWindowRegistrationType,
38 StatusWindowNetworkType,
39 StatusWindowPreferencesType,
43 @interface StatusWindowController : NSObject {
44 StatusWindow *_window;
47 StatusWindowType _currentType;
50 + (StatusWindowController *)sharedController;
52 - (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings;
54 - (void)showVolumeWindowWithLevel:(float)level;
55 - (void)showRatingWindowWithRating:(float)rating;
56 - (void)showShuffleWindow:(BOOL)shuffle;
57 - (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
58 - (void)showSongShufflabilityWindow:(BOOL)shufflable;
59 - (void)showSetupQueryWindow;
60 - (void)showRegistrationQueryWindow;
61 - (void)showReconnectQueryWindow;
62 - (void)showNetworkErrorQueryWindow;
63 - (void)showPreferencesUpdateWindow;
64 - (void)showDebugModeEnabledWindow;
66 - (void)showAlbumArtWindowWithImage:(NSImage *)image;
67 - (void)showAlbumArtWindowWithErrorText:(NSString *)string;
68 - (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source
69 title: (NSString *)title
70 album: (NSString *)album
71 artist: (NSString *)artist
72 composer: (NSString *)composer
73 time: (NSString *)time // FLOW: Should probably be NSDate or something.
74 track: (NSString *)track
76 playCount: (int)playCount
77 image: (NSImage *)art;
79 - (StatusWindowType)currentStatusWindowType;
80 - (void)updateTime:(NSString *)time;