~cairo-dock-team/ubuntu/quantal/cairo-dock-plug-ins/3.0.2

« back to all changes in this revision

Viewing changes to alsaMixer/src/applet-mixer.c

Tags: upstream-2.2.0~0beta4
ImportĀ upstreamĀ versionĀ 2.2.0~0beta4

Show diffs side-by-side

added added

removed removed

Lines of Context:
116
116
        for (elem = snd_mixer_first_elem(myData.mixer_handle); elem; elem = snd_mixer_elem_next(elem))
117
117
        {
118
118
                if (snd_mixer_selem_is_active (elem) && snd_mixer_selem_has_playback_volume (elem))
119
 
                        pList = g_list_prepend (pList, snd_mixer_selem_get_name (elem));
 
119
                        pList = g_list_prepend (pList, (gpointer)snd_mixer_selem_get_name (elem));  // la liste ne contiendra que des const, on ne supprimera pas ses elements lors du g_list_free.
120
120
        }
121
121
        return pList;
122
122
}
123
123
 
124
124
 
125
 
static snd_mixer_elem_t *_mixer_get_element_by_name (gchar *cName)
 
125
static snd_mixer_elem_t *_mixer_get_element_by_name (const gchar *cName)
126
126
{
127
127
        if (myData.mixer_handle == NULL)
128
128
                return NULL;
129
129
        g_return_val_if_fail (cName != NULL, NULL);
130
130
        
 
131
        int i = 0;
131
132
        snd_mixer_elem_t *elem;
132
133
        for (elem = snd_mixer_first_elem(myData.mixer_handle); elem; elem = snd_mixer_elem_next(elem))
133
134
        {
165
166
        long iVolumeLeft=0, iVolumeRight=0;
166
167
        gboolean bHasLeft = snd_mixer_selem_has_playback_channel (myData.pControledElement, SND_MIXER_SCHN_FRONT_LEFT);
167
168
        gboolean bHasRight = snd_mixer_selem_has_playback_channel (myData.pControledElement, SND_MIXER_SCHN_FRONT_RIGHT);
168
 
                
 
169
        g_return_val_if_fail (bHasLeft || bHasRight, 0);
 
170
        
169
171
        if (bHasLeft)
170
172
                snd_mixer_selem_get_playback_volume (myData.pControledElement, SND_MIXER_SCHN_FRONT_LEFT, &iVolumeLeft);
171
173
        if (bHasRight)
172
174
                snd_mixer_selem_get_playback_volume (myData.pControledElement, SND_MIXER_SCHN_FRONT_RIGHT, &iVolumeRight);
173
175
        cd_debug ("volume : %d;%d", iVolumeLeft, iVolumeRight);
174
176
        
175
 
        g_return_val_if_fail (bHasLeft || bHasRight, 0);
176
 
        
177
177
        int iMeanVolume = (iVolumeLeft + iVolumeRight) / (bHasLeft + bHasRight);
178
178
        
179
179
        cd_debug ("myData.iVolumeMin : %d ; myData.iVolumeMax : %d ; iMeanVolume : %d", myData.iVolumeMin, myData.iVolumeMax, iMeanVolume);
183
183
void mixer_set_volume (int iNewVolume)
184
184
{
185
185
        g_return_if_fail (myData.pControledElement != NULL);
 
186
        cd_debug ("%s (%d)", __func__, iNewVolume);
186
187
        int iVolume = ceil (myData.iVolumeMin + (myData.iVolumeMax - myData.iVolumeMin) * iNewVolume / 100.);
187
188
        snd_mixer_selem_set_playback_volume_all (myData.pControledElement, iVolume);
188
189
        if (myData.pControledElement2 != NULL)
285
286
                        cMessage = myData.cErrorMessage;
286
287
                else
287
288
                {
288
 
                        cMessage = D_("Set up volume :");
 
289
                        cMessage = D_("Set up volume:");
289
290
                        pScale = mixer_build_widget (TRUE);
290
291
                }
291
292