]> git.sesse.net Git - vlc/commitdiff
osx/framework: added convience methods for volume up/down
authorFelix Paul Kühne <fkuehne@videolan.org>
Sat, 10 Oct 2009 10:44:41 +0000 (12:44 +0200)
committerFelix Paul Kühne <fkuehne@videolan.org>
Sat, 10 Oct 2009 10:45:05 +0000 (12:45 +0200)
projects/macosx/framework/Headers/Public/VLCAudio.h
projects/macosx/framework/Sources/VLCAudio.m

index b31dd453490222e0b9b5e7698c437dca965427c9..0df81ca55bfcf1c36abdd6456af13a9addf56db6 100644 (file)
@@ -45,4 +45,7 @@ extern NSString * VLCMediaPlayerVolumeChanged;
 
 @property (setter=setMute:) BOOL isMuted;
 @property (assign) int volume;
+
+- (void)volumeDown;
+- (void)volumeUp;
 @end
index a5690af7b878686a3a256eca341d691ea56b6f75..4affd0f6342be5a1510bf49f1493fe42f6cda0ba 100644 (file)
 #import "VLCAudio.h"
 #import "VLCLibVLCBridging.h"
 
+#define VOLUME_STEP                6
+#define VOLUME_MAX                 200
+#define VOLUME_MIN                 0
+
 /* Notification Messages */
 NSString * VLCMediaPlayerVolumeChanged = @"VLCMediaPlayerVolumeChanged"; 
 
@@ -60,13 +64,33 @@ NSString * VLCMediaPlayerVolumeChanged = @"VLCMediaPlayerVolumeChanged";
 
 - (void)setVolume:(int)value
 {
-    if (value < 0)
-        value = 0;
-    else if (value > 200)
-        value = 200;
+    if (value < VOLUME_MIN)
+        value = VOLUME_MIN;
+    else if (value > VOLUME_MAX)
+        value = VOLUME_MAX;
     libvlc_audio_set_volume([library instance], value, NULL);
 }
 
+- (void)volumeUp
+{
+    int tempVolume = [self volume] + VOLUME_STEP;
+    if (tempVolume > VOLUME_MAX)
+        tempVolume = VOLUME_MAX;
+    else if (tempVolume < VOLUME_MIN)
+        tempVolume = VOLUME_MIN;
+    [self setVolume: tempVolume];
+}
+
+- (void)volumeDown
+{
+    int tempVolume = [self volume] - VOLUME_STEP;
+    if (tempVolume > VOLUME_MAX)
+        tempVolume = VOLUME_MAX;
+    else if (tempVolume < VOLUME_MIN)
+        tempVolume = VOLUME_MIN;
+    [self setVolume: tempVolume];
+}
+
 - (int)volume
 {
     return libvlc_audio_get_volume([library instance]);