From 7499b0615f19e50f9c601514e09500f226bdf2df Mon Sep 17 00:00:00 2001 From: vspader Date: Sun, 18 Feb 2007 23:41:44 +0000 Subject: [PATCH] Volume up/down through remote, menu, and kb shortcuts. --- AppController.h | 3 ++ AppController.m | 4 +++ English.lproj/MainMenu.nib/classes.nib | 6 ++-- English.lproj/MainMenu.nib/info.nib | 14 ++++----- English.lproj/MainMenu.nib/keyedobjects.nib | Bin 63482 -> 63708 bytes PlaybackController.h | 5 +++- PlaybackController.m | 30 +++++++++++++++++++- 7 files changed, 50 insertions(+), 12 deletions(-) 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 4e8b75aa0be195ad60f00c2545c5652e57a9cef7..2da9b77cb3454724fe413baaa6d679adbcc425b7 100644 GIT binary patch delta 41322 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 delta 41084 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 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 {