]> git.vomp.tv Git - vompclient.git/commitdiff
New audio structures
authorChris Tallon <chris@vomp.tv>
Sat, 22 Apr 2006 12:33:57 +0000 (12:33 +0000)
committerChris Tallon <chris@vomp.tv>
Sat, 22 Apr 2006 12:33:57 +0000 (12:33 +0000)
audio.cc
audio.h
audiomvp.cc

index 0066afa0736a2dddbf41d0b3028416fbb71eb737..0ce36dcc49b69e451c46a86652ae18e0d287206e 100644 (file)
--- a/audio.cc
+++ b/audio.cc
@@ -26,6 +26,7 @@ Audio::Audio()
 {
   if (instance) return;
   instance = this;
+  memset(&Aoffset, 0, sizeof(Aoffset));
 }
 
 Audio::~Audio()
diff --git a/audio.h b/audio.h
index 44ee779a21f193665c550ec14bb2093b71bbe18b..8144d97fe061eedaa01867516dc13b23e334c248 100644 (file)
--- a/audio.h
+++ b/audio.h
 #include "defines.h"
 #include "log.h"
 
+typedef struct
+{
+    unsigned char frontleft;
+    unsigned char frontright;
+    unsigned char rearleft;
+    unsigned char rearright;
+    unsigned char center;
+    unsigned char lfe;
+} audio_volume;
+
 class Audio
 {
   public:
@@ -72,6 +82,8 @@ class Audio
     UCHAR systemMute;
     UCHAR muted;
     int volume;
+
+    audio_volume Aoffset;
 };
 
 #endif
index dbd5110f298a14595f030ea7b35197076875ac1e..9ab525355d467571603a577b2e102ddd552775a4 100644 (file)
@@ -200,12 +200,22 @@ int AudioMVP::setVolume(int tvolume)
 
   tvolume = 20 - tvolume;
 
-  unsigned long vol = (tvolume << 24) | (tvolume << 16);
-
-  Log::getInstance()->log("Audio", Log::DEBUG, "%lx", vol);
-  Log::getInstance()->log("Audio", Log::DEBUG, "%i", tvolume);
-
-  if (ioctl(fdAudio, AV_SET_AUD_VOLUME, &vol) != 0) return 0;
+  audio_volume Avolume;
+  Avolume.frontleft = tvolume + Aoffset.frontleft;
+  Avolume.frontright = tvolume + Aoffset.frontright;
+  Avolume.rearleft = tvolume + Aoffset.rearleft;
+  Avolume.rearright = tvolume + Aoffset.rearright;
+  Avolume.center = tvolume + Aoffset.center;
+  Avolume.lfe = tvolume + Aoffset.lfe;
+
+  if (ioctl(fdAudio, AV_SET_AUD_VOLUME, &Avolume) != 0) return 0;
+
+//  unsigned long vol = (tvolume << 24) | (tvolume << 16);
+//
+//  Log::getInstance()->log("Audio", Log::DEBUG, "%lx", vol);
+//  Log::getInstance()->log("Audio", Log::DEBUG, "%i", tvolume);
+
+//  if (ioctl(fdAudio, AV_SET_AUD_VOLUME, &vol) != 0) return 0;
   return 1;
 }