More toying with network stuff. Hopefully fixed more problems without making even...
[MenuTunes.git] / StatusWindowController.h
index 826a372..a57c128 100755 (executable)
@@ -1,27 +1,53 @@
 /*
  *     MenuTunes
  *  StatusWindowController
- *    ...
+ *    Abstraction layer between MainController and StatusWindow
  *
- *  Original Author : Kent Sutherland <ksuther@ithinksw.com>
- *   Responsibility : Kent Sutherland <ksuther@ithinksw.com>
+ *  Original Author : Matthew Judy <mjudy@ithinksw.com>
+ *   Responsibility : Matthew Judy <mjudy@ithinksw.com>
  *
- *  Copyright (c) 2002 iThink Software.
+ *  Copyright (c) 2003 iThink Software.
  *  All Rights Reserved
  *
  */
 
 
 #import <Cocoa/Cocoa.h>
+#import "ITMTRemote.h"
+#import "StatusWindow.h"
 
-@class StatusWindow;
 
-@interface StatusWindowController : NSObject
-{
-    IBOutlet NSTextField *statusField;
-    IBOutlet StatusWindow *statusWindow;
+typedef enum {
+    StatusWindowRepeatNone = -1,
+    StatusWindowRepeatGroup,
+    StatusWindowRepeatTrack
+} StatusWindowRepeatMode;
+
+
+@interface StatusWindowController : NSObject {
+    StatusWindow   *_window;
+    NSUserDefaults *df;
 }
-- (void)setUpcomingSongs:(NSString *)string numSongs:(int)songs;
-- (void)setTrackInfo:(NSString *)string lines:(int)lines;
-- (void)fadeWindowOut;
+
++ (StatusWindowController *)sharedController;
+
+- (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings;
+
+- (void)showVolumeWindowWithLevel:(float)level;
+- (void)showRatingWindowWithRating:(float)rating;
+- (void)showShuffleWindow:(BOOL)shuffle;
+- (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
+- (void)showSetupQueryWindow;
+- (void)showRegistrationQueryWindow;
+- (void)showReconnectQueryWindow;
+
+- (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source
+                               title:            (NSString *)title
+                               album:            (NSString *)album
+                              artist:            (NSString *)artist
+                                time:            (NSString *)time  // FLOW: Should probably be NSDate or something.
+                               track:            (NSString *)track
+                              rating:                   (int)rating;
+
+
 @end