diff --git a/AppController.h b/AppController.h index 8a7ffc397..01dff6879 100644 --- a/AppController.h +++ b/AppController.h @@ -2,6 +2,8 @@ #import +#import "PlaybackController.h" + #import "PlaylistController.h" #import "PlaylistView.h" @@ -15,6 +17,7 @@ @interface AppController : NSObject { IBOutlet PlaylistController *playlistController; + IBOutlet PlaybackController *playbackController; IBOutlet NSPanel *mainWindow; diff --git a/AppController.m b/AppController.m index 526ea8ac8..3c5d99d49 100644 --- a/AppController.m +++ b/AppController.m @@ -48,9 +48,11 @@ increase/decrease as long as the user holds the left/right, plus/minus button */ break; case kRemoteButtonVolume_Plus_Hold: //Volume Up + [playbackController volumeUp: self]; break; case kRemoteButtonVolume_Minus_Hold: //Volume Down + [playbackController volumeDown: self]; break; } if (remoteButtonHeld) @@ -75,8 +77,10 @@ increase/decrease as long as the user holds the left/right, plus/minus button */ break; case kRemoteButtonVolume_Plus: + [playbackController volumeUp: self]; break; case kRemoteButtonVolume_Minus: + [playbackController volumeDown: self]; break; case kRemoteButtonRight: [self clickNext]; diff --git a/English.lproj/MainMenu.nib/classes.nib b/English.lproj/MainMenu.nib/classes.nib index c4829c8c3..2516d698e 100644 --- a/English.lproj/MainMenu.nib/classes.nib +++ b/English.lproj/MainMenu.nib/classes.nib @@ -14,7 +14,6 @@ }, { ACTIONS = { - addFiles = id; delEntries = id; donate = id; loadPlaylist = id; @@ -27,7 +26,6 @@ CLASS = AppController; LANGUAGE = ObjC; OUTLETS = { - addButton = NSButton; fileButton = NSButton; fileDrawer = NSDrawer; fileOutlineView = FileOutlineView; @@ -37,10 +35,10 @@ mainWindow = NSPanel; nextButton = NSButton; playButton = NSButton; + playbackController = PlaybackController; playlistController = PlaylistController; playlistView = PlaylistView; prevButton = NSButton; - remButton = NSButton; repeatButton = NSButton; showAlbumColumn = NSMenuItem; showArtistColumn = NSMenuItem; @@ -105,6 +103,8 @@ seek = id; stop = id; toggleShowTimeRemaining = id; + volumeDown = id; + volumeUp = id; }; CLASS = PlaybackController; LANGUAGE = ObjC; diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index 0858c2017..b2f23bda0 100644 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -3,19 +3,19 @@ IBDocumentLocation - 56 66 639 388 0 0 1024 746 + 104 34 639 388 0 0 1680 1028 IBEditorPositions 1063 0 228 136 49 0 0 1024 746 1156 - 391 336 241 366 0 0 1024 746 + 719 527 241 366 0 0 1680 1028 29 - -3 695 383 44 0 0 1024 746 + -3 974 383 44 0 0 1680 1028 463 - 341 447 341 145 0 0 1024 746 + 669 637 341 145 0 0 1680 1028 513 - 639 190 125 137 0 0 1024 746 + 1105 278 125 137 0 0 1680 1028 IBFramework Version 446.1 @@ -33,12 +33,12 @@ IBOpenObjects 513 - 21 29 + 21 1156 463 IBSystem Version - 8L127 + 8L2127 diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index 4e8b75aa0..2da9b77cb 100644 Binary files a/English.lproj/MainMenu.nib/keyedobjects.nib and b/English.lproj/MainMenu.nib/keyedobjects.nib differ diff --git a/PlaybackController.h b/PlaybackController.h index 6870f25d7..c94b7cebd 100644 --- a/PlaybackController.h +++ b/PlaybackController.h @@ -28,7 +28,7 @@ int playbackStatus; - float currentVolume; + double currentVolume; BOOL showTimeRemaining; } @@ -36,6 +36,9 @@ - (IBAction)toggleShowTimeRemaining:(id)sender; - (IBAction)changeVolume:(id)sender; +- (IBAction)volumeDown:(id)sender; +- (IBAction)volumeUp:(id)sender; + - (IBAction)playPauseResume:(id)sender; - (IBAction)pauseResume:(id)sender; diff --git a/PlaybackController.m b/PlaybackController.m index 9fd12de4a..f567d2550 100644 --- a/PlaybackController.m +++ b/PlaybackController.m @@ -156,7 +156,7 @@ - (IBAction)changeVolume:(id)sender { - float percent; + double percent; //Approximated log percent = (float)[sender doubleValue]/[sender maxValue]; @@ -176,6 +176,34 @@ [soundController setVolume:currentVolume]; } +- (IBAction)volumeDown:(id)sender +{ + double percent; + + [volumeSlider setDoubleValue:([volumeSlider doubleValue] - 5)]; + + percent = (float)[volumeSlider doubleValue]/[volumeSlider maxValue]; + percent = percent * percent * percent * percent; + + currentVolume = percent * [volumeSlider maxValue]; + + [soundController setVolume:currentVolume]; +} + +- (IBAction)volumeUp:(id)sender +{ + double percent; + + [volumeSlider setDoubleValue:([volumeSlider doubleValue] + 5)]; + + percent = (float)[volumeSlider doubleValue]/[volumeSlider maxValue]; + percent = percent * percent * percent * percent; + + currentVolume = percent * [volumeSlider maxValue]; + + [soundController setVolume:currentVolume]; +} + - (void)updateTimeField:(double)pos {