volume control: cosmetic updates for ALSA support
authorMirakels <mirakels@openpli.org>
Fri, 4 Dec 2015 23:45:51 +0000 (00:45 +0100)
committerMirakels <mirakels@openpli.org>
Fri, 4 Dec 2015 23:45:51 +0000 (00:45 +0100)
Added few eDebugs()
Define alsa mixer and card in #define variables to allow
possible setup during build configure time

lib/dvb/volume.cpp

index 648c878..380751c 100644 (file)
 #include <linux/dvb/video.h>
 #endif
 
+#ifdef HAVE_ALSA
+# ifndef ALSA_VOLUME_MIXER
+#  define ALSA_VOLUME_MIXER "Master"
+# endif
+# ifndef ALSA_CARD
+#  define ALSA_CARD "default"
+# endif
+#endif
+
 eDVBVolumecontrol* eDVBVolumecontrol::instance = NULL;
 
 eDVBVolumecontrol* eDVBVolumecontrol::getInstance()
@@ -44,8 +53,9 @@ int eDVBVolumecontrol::openMixer()
        if (!mainVolume)
        {
                int err;
-               char *card = "default";
+               char *card = ALSA_CARD;
 
+               eDebug("[eDVBVolumecontrol] Setup ALSA Mixer %s - %s", ALSA_CARD, ALSA_VOLUME_MIXER);
                /* Perform the necessary pre-amble to start up ALSA Mixer */
                err = snd_mixer_open(&alsaMixerHandle, 0);
                if (err < 0)
@@ -126,7 +136,9 @@ void eDVBVolumecontrol::setVolume(int left, int right)
        rightVol = checkVolume(right);
 
 #ifdef HAVE_ALSA
-       if (mainVolume) snd_mixer_selem_set_playback_volume_all(mainVolume, muted ? 0 : leftVol);
+       eDebug("[eDVBVolumecontrol] Setvolume: ALSA leftVol=%d", leftVol);
+       if (mainVolume)
+               snd_mixer_selem_set_playback_volume_all(mainVolume, muted ? 0 : leftVol);
 #else
                /* convert to -1dB steps */
        left = 63 - leftVol * 63 / 100;
@@ -174,7 +186,9 @@ bool eDVBVolumecontrol::isMuted()
 void eDVBVolumecontrol::volumeMute()
 {
 #ifdef HAVE_ALSA
-       if (mainVolume) snd_mixer_selem_set_playback_volume_all(mainVolume, 0);
+       eDebug("[eDVBVolumecontrol] Setvolume: ALSA Mute");
+       if (mainVolume)
+               snd_mixer_selem_set_playback_volume_all(mainVolume, 0);
        muted = true;
 #else
        int fd = openMixer();
@@ -195,6 +209,7 @@ void eDVBVolumecontrol::volumeMute()
 void eDVBVolumecontrol::volumeUnMute()
 {
 #ifdef HAVE_ALSA
+       eDebug("[eDVBVolumecontrol] Setvolume: ALSA unMute to %d", leftVol);
        if (mainVolume)
                snd_mixer_selem_set_playback_volume_all(mainVolume, leftVol);
        muted = false;