numberzap accepts a maximum of 4 digits
[enigma2.git] / lib / dvb / volume.cpp
index bc3d657..78b9bde 100644 (file)
@@ -68,8 +68,8 @@ void eDVBVolumecontrol::setVolume(int left, int right)
        leftVol = checkVolume(left);
        rightVol = checkVolume(right);
        
-       left = 63 - leftVol / 100.0 * 63.0;
-       right = 63 - rightVol / 100.0 * 63.0;
+       left = 63 - leftVol * 63 / 100;
+       right = 63 - rightVol * 63 / 100;
        
 #if HAVE_DVB_API_VERSION < 3   
                audioMixer_t mixer;
@@ -90,6 +90,17 @@ void eDVBVolumecontrol::setVolume(int left, int right)
                
                printf("Setvolume: %d %d\n", leftVol, rightVol);
                printf("Setvolume: %d %d\n", left, right);              
+               
+       //HACK?
+       FILE *f;
+       if((f = fopen("/proc/stb/avs/0/volume", "wb")) == NULL) {
+               printf("cannot open /proc/stb/avs/0/volume\n");
+               return;
+       }
+       
+       fprintf(f, "%d", left);
+
+       fclose(f);
 }
 
 int eDVBVolumecontrol::getVolume()