Eliminated a small warning.
[MenuTunes.git] / StatusWindowController.h
1 /*
2  *      MenuTunes
3  *  StatusWindowController
4  *    Abstraction layer between MainController and StatusWindow
5  *
6  *  Original Author : Matthew Judy <mjudy@ithinksw.com>
7  *   Responsibility : Matthew Judy <mjudy@ithinksw.com>
8  *
9  *  Copyright (c) 2003 iThink Software.
10  *  All Rights Reserved
11  *
12  */
13
14
15 #import <Cocoa/Cocoa.h>
16 #import "ITMTRemote.h"
17 #import "StatusWindow.h"
18
19
20 typedef enum {
21     StatusWindowRepeatNone = -1,
22     StatusWindowRepeatGroup,
23     StatusWindowRepeatTrack
24 } StatusWindowRepeatMode;
25
26 typedef enum {
27         StatusWindowNoType = -1,
28         StatusWindowTrackInfoType,
29         StatusWindowUpcomingSongsType,
30         StatusWindowVolumeType,
31         StatusWindowRatingType,
32         StatusWindowRepeatType,
33         StatusWindowShuffleType,
34         StatusWindowShufflabilityType,
35         StatusWindowSetupType,
36         StatusWindowRegistrationType,
37         StatusWindowNetworkType,
38         StatusWindowPreferencesType,
39         StatusWindowDebugType
40 } StatusWindowType;
41
42 @interface StatusWindowController : NSObject {
43     StatusWindow   *_window;
44     NSUserDefaults *df;
45         NSRange _timeRange;
46         StatusWindowType _currentType;
47 }
48
49 + (StatusWindowController *)sharedController;
50
51 - (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings;
52
53 - (void)showVolumeWindowWithLevel:(float)level;
54 - (void)showRatingWindowWithRating:(float)rating;
55 - (void)showShuffleWindow:(BOOL)shuffle;
56 - (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
57 - (void)showSongShufflabilityWindow:(BOOL)shufflable;
58 - (void)showSetupQueryWindow;
59 - (void)showRegistrationQueryWindow;
60 - (void)showReconnectQueryWindow;
61 - (void)showNetworkErrorQueryWindow;
62 - (void)showPreferencesUpdateWindow;
63 - (void)showDebugModeEnabledWindow;
64
65 - (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source
66                                title:            (NSString *)title
67                                album:            (NSString *)album
68                               artist:            (NSString *)artist
69                             composer:            (NSString *)composer
70                                 time:            (NSString *)time  // FLOW: Should probably be NSDate or something.
71                                track:            (NSString *)track
72                               rating:                   (int)rating
73                            playCount:                   (int)playCount
74                                image:             (NSImage *)art;
75
76 - (StatusWindowType)currentStatusWindowType;
77 - (void)updateTime:(NSString *)time;
78
79 @end