git.ithinksw.org
/
MenuTunes.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reverting
[MenuTunes.git]
/
MainController.m
diff --git
a/MainController.m
b/MainController.m
index
600d8df
..
6d7fe08
100755
(executable)
--- a/
MainController.m
+++ b/
MainController.m
@@
-1,4
+1,4
@@
-#import "
New
MainController.h"
+#import "MainController.h"
#import "MenuController.h"
#import "PreferencesController.h"
#import "HotKeyCenter.h"
#import "MenuController.h"
#import "PreferencesController.h"
#import "HotKeyCenter.h"
@@
-7,11
+7,9
@@
@interface MainController(Private)
- (ITMTRemote *)loadRemote;
@interface MainController(Private)
- (ITMTRemote *)loadRemote;
-- (void)setupHotKeys;
- (void)timerUpdate;
- (void)setLatestSongIdentifier:(NSString *)newIdentifier;
- (void)showCurrentTrackInfo;
- (void)timerUpdate;
- (void)setLatestSongIdentifier:(NSString *)newIdentifier;
- (void)showCurrentTrackInfo;
-
- (void)applicationLaunched:(NSNotification *)note;
- (void)applicationTerminated:(NSNotification *)note;
@end
- (void)applicationLaunched:(NSNotification *)note;
- (void)applicationTerminated:(NSNotification *)note;
@end
@@
-73,7
+71,14
@@
static MainController *sharedController;
if ([currentRemote playerRunningState] == ITMTRemotePlayerRunning) {
[self applicationLaunched:nil];
} else {
if ([currentRemote playerRunningState] == ITMTRemotePlayerRunning) {
[self applicationLaunched:nil];
} else {
- [self applicationTerminated:nil];
+ if ([df boolForKey:@"LaunchPlayerWithMT"])
+ {
+ [self showPlayer];
+ }
+ else
+ {
+ [self applicationTerminated:nil];
+ }
}
[statusItem setImage:[NSImage imageNamed:@"menu"]];
}
[statusItem setImage:[NSImage imageNamed:@"menu"]];
@@
-161,9
+166,12
@@
static MainController *sharedController;
- (void)timerUpdate
{
- (void)timerUpdate
{
- if ( ( [self songChanged] ) ||
+ //This huge if statement is being nasty
+ /*if ( ( [self songChanged] ) ||
( ([self radioIsPlaying]) && (latestPlaylistClass != ITMTRemotePlayerRadioPlaylist) ) ||
( ([self radioIsPlaying]) && (latestPlaylistClass != ITMTRemotePlayerRadioPlaylist) ) ||
- ( (! [self radioIsPlaying]) && (latestPlaylistClass == ITMTRemotePlayerRadioPlaylist) ) ) {
+ ( (! [self radioIsPlaying]) && (latestPlaylistClass == ITMTRemotePlayerRadioPlaylist) ) )*/
+
+ if ([self songChanged]) {
[self setLatestSongIdentifier:[currentRemote currentSongUniqueIdentifier]];
latestPlaylistClass = [currentRemote currentPlaylistClass];
[menuController rebuildSubmenus];
[self setLatestSongIdentifier:[currentRemote currentSongUniqueIdentifier]];
latestPlaylistClass = [currentRemote currentPlaylistClass];
[menuController rebuildSubmenus];
@@
-249,7
+257,7
@@
static MainController *sharedController;
[currentRemote showPrimaryInterface];
} else {
if (![[NSWorkspace sharedWorkspace] launchApplication:[currentRemote playerFullName]]) {
[currentRemote showPrimaryInterface];
} else {
if (![[NSWorkspace sharedWorkspace] launchApplication:[currentRemote playerFullName]]) {
- NSLog(@"Error Launching Player");
+ NSLog(@"
MenuTunes:
Error Launching Player");
}
}
}
}
}
}
@@
-292,6
+300,7
@@
static MainController *sharedController;
[[HotKeyCenter sharedCenter] removeHotKey:@"NextTrack"];
[[HotKeyCenter sharedCenter] removeHotKey:@"PrevTrack"];
[[HotKeyCenter sharedCenter] removeHotKey:@"TrackInfo"];
[[HotKeyCenter sharedCenter] removeHotKey:@"NextTrack"];
[[HotKeyCenter sharedCenter] removeHotKey:@"PrevTrack"];
[[HotKeyCenter sharedCenter] removeHotKey:@"TrackInfo"];
+ [[HotKeyCenter sharedCenter] removeHotKey:@"ShowPlayer"];
[[HotKeyCenter sharedCenter] removeHotKey:@"UpcomingSongs"];
[[HotKeyCenter sharedCenter] removeHotKey:@"ToggleLoop"];
[[HotKeyCenter sharedCenter] removeHotKey:@"ToggleShuffle"];
[[HotKeyCenter sharedCenter] removeHotKey:@"UpcomingSongs"];
[[HotKeyCenter sharedCenter] removeHotKey:@"ToggleLoop"];
[[HotKeyCenter sharedCenter] removeHotKey:@"ToggleShuffle"];
@@
-321,6
+330,12
@@
static MainController *sharedController;
target:self action:@selector(prevSong)];
}
target:self action:@selector(prevSong)];
}
+ if ([df objectForKey:@"ShowPlayer"] != nil) {
+ [[HotKeyCenter sharedCenter] addHotKey:@"ShowPlayer"
+ combo:[df keyComboForKey:@"ShowPlayer"]
+ target:self action:@selector(showPlayer)];
+ }
+
if ([df objectForKey:@"TrackInfo"] != nil) {
[[HotKeyCenter sharedCenter] addHotKey:@"TrackInfo"
combo:[df keyComboForKey:@"TrackInfo"]
if ([df objectForKey:@"TrackInfo"] != nil) {
[[HotKeyCenter sharedCenter] addHotKey:@"TrackInfo"
combo:[df keyComboForKey:@"TrackInfo"]
@@
-411,7
+426,7
@@
static MainController *sharedController;
trackTotal:trackTotal
rating:rating];
} else {
trackTotal:trackTotal
rating:rating];
} else {
- title =
@"No song is playing."
;
+ title =
NSLocalizedString(@"noSongPlaying", @"No song is playing.")
;
[statusWindowController showSongWindowWithTitle:title
album:nil
artist:nil
[statusWindowController showSongWindowWithTitle:title
album:nil
artist:nil
@@
-442,7
+457,7
@@
static MainController *sharedController;
[statusWindowController showUpcomingSongsWithTitles:songList];
} else {
[statusWindowController showUpcomingSongsWithTitles:songList];
} else {
- [statusWindowController showUpcomingSongsWithTitles:[NSArray arrayWithObject:
@"No upcoming songs."
]];
+ [statusWindowController showUpcomingSongsWithTitles:[NSArray arrayWithObject:
NSLocalizedString(@"noUpcomingSongs", @"No upcoming songs.")
]];
}
}
}
}
@@
-456,6
+471,7
@@
static MainController *sharedController;
[currentRemote setVolume:volume];
//Show volume status window
[currentRemote setVolume:volume];
//Show volume status window
+ [statusWindowController showVolumeWindowWithLevel:volume];
}
- (void)decrementVolume
}
- (void)decrementVolume
@@
-468,6
+484,7
@@
static MainController *sharedController;
[currentRemote setVolume:volume];
//Show volume status window
[currentRemote setVolume:volume];
//Show volume status window
+ [statusWindowController showVolumeWindowWithLevel:volume];
}
- (void)incrementRating
}
- (void)incrementRating
@@
-480,6
+497,7
@@
static MainController *sharedController;
[currentRemote setCurrentSongRating:rating];
//Show rating status window
[currentRemote setCurrentSongRating:rating];
//Show rating status window
+ [statusWindowController showRatingWindowWithLevel:rating];
}
- (void)decrementRating
}
- (void)decrementRating
@@
-492,6
+510,7
@@
static MainController *sharedController;
[currentRemote setCurrentSongRating:rating];
//Show rating status window
[currentRemote setCurrentSongRating:rating];
//Show rating status window
+ [statusWindowController showRatingWindowWithLevel:rating];
}
- (void)toggleLoop
}
- (void)toggleLoop
@@
-512,12
+531,15
@@
static MainController *sharedController;
[currentRemote setRepeatMode:repeatMode];
//Show loop status window
[currentRemote setRepeatMode:repeatMode];
//Show loop status window
+ [statusWindowController showLoopWindowWithMode:repeatMode];
}
- (void)toggleShuffle
{
}
- (void)toggleShuffle
{
- [currentRemote setShuffleEnabled:![currentRemote shuffleEnabled]];
+ bool newShuffleEnabled = ![currentRemote shuffleEnabled];
+ [currentRemote setShuffleEnabled:newShuffleEnabled];
//Show shuffle status window
//Show shuffle status window
+ [statusWindowController showLoopWindowWithMode:newShuffleEnabled];
}
/*************************************************************************/
}
/*************************************************************************/
@@
-528,9
+550,15
@@
static MainController *sharedController;
- (void)applicationLaunched:(NSNotification *)note
{
if (!note || [[[note userInfo] objectForKey:@"NSApplicationName"] isEqualToString:[currentRemote playerFullName]]) {
- (void)applicationLaunched:(NSNotification *)note
{
if (!note || [[[note userInfo] objectForKey:@"NSApplicationName"] isEqualToString:[currentRemote playerFullName]]) {
+ [currentRemote begin];
[self setLatestSongIdentifier:@""];
[self timerUpdate];
[self setLatestSongIdentifier:@""];
[self timerUpdate];
- [NSThread detachNewThreadSelector:@selector(startTimerInNewThread) toTarget:self withObject:nil];
+ refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:0.5
+ target:self
+ selector:@selector(timerUpdate)
+ userInfo:nil
+ repeats:YES] retain];
+ //[NSThread detachNewThreadSelector:@selector(startTimerInNewThread) toTarget:self withObject:nil];
[self setupHotKeys];
playerRunningState = ITMTRemotePlayerRunning;
}
[self setupHotKeys];
playerRunningState = ITMTRemotePlayerRunning;
}
@@
-539,11
+567,12
@@
static MainController *sharedController;
- (void)applicationTerminated:(NSNotification *)note
{
if (!note || [[[note userInfo] objectForKey:@"NSApplicationName"] isEqualToString:[currentRemote playerFullName]]) {
- (void)applicationTerminated:(NSNotification *)note
{
if (!note || [[[note userInfo] objectForKey:@"NSApplicationName"] isEqualToString:[currentRemote playerFullName]]) {
- [refreshTimer invalidate];
- [refreshTimer release];
- refreshTimer = nil;
- [self clearHotKeys];
- playerRunningState = ITMTRemotePlayerNotRunning;
+ [currentRemote halt];
+ [refreshTimer invalidate];
+ [refreshTimer release];
+ refreshTimer = nil;
+ [self clearHotKeys];
+ playerRunningState = ITMTRemotePlayerNotRunning;
}
}
}
}
@@
-567,13
+596,7
@@
static MainController *sharedController;
- (void)dealloc
{
- (void)dealloc
{
- if (refreshTimer) {
- [refreshTimer invalidate];
- [refreshTimer release];
- refreshTimer = nil;
- }
-
- [currentRemote halt];
+ [self applicationTerminated:nil];
[statusItem release];
[statusWindowController release];
[menuController release];
[statusItem release];
[statusWindowController release];
[menuController release];