Changed versions to 1.7.
[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         StatusWindowAlbumArtType,
30         StatusWindowUpcomingSongsType,
31         StatusWindowVolumeType,
32         StatusWindowRatingType,
33         StatusWindowRepeatType,
34         StatusWindowShuffleType,
35         StatusWindowShufflabilityType,
36         StatusWindowSetupType,
37         StatusWindowRegistrationType,
38         StatusWindowNetworkType,
39         StatusWindowPreferencesType,
40         StatusWindowDebugType
41 } StatusWindowType;
42
43 @interface StatusWindowController : NSObject {
44     StatusWindow   *_window;
45     NSUserDefaults *df;
46         NSRange _timeRange;
47         StatusWindowType _currentType;
48 }
49
50 + (StatusWindowController *)sharedController;
51
52 - (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings;
53
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;
65
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
75                               rating:                   (int)rating
76                            playCount:                   (int)playCount
77                                image:             (NSImage *)art;
78
79 - (StatusWindowType)currentStatusWindowType;
80 - (void)updateTime:(NSString *)time;
81
82 @end