set hint for mixer gadgets that user is using the default card so that if it changes, pulseaudio can adjust appropriately

SVN revision: 76586
This commit is contained in:
Mike Blumenkrantz 2012-09-13 07:43:33 +00:00
parent d62d619774
commit b51bf4a6c7
3 changed files with 7 additions and 2 deletions

View File

@ -157,6 +157,7 @@ _basic_apply(E_Config_Dialog *dialog, E_Config_Dialog_Data *cfdata)
conf->lock_sliders = cfdata->lock_sliders;
conf->show_locked = cfdata->show_locked;
conf->keybindings_popup = cfdata->keybindings_popup;
conf->using_default = EINA_FALSE;
card = eina_list_nth(cfdata->cards, cfdata->card_num);
if (card)

View File

@ -881,8 +881,8 @@ _mixer_sys_setup_default_card(E_Mixer_Instance *inst)
const char *card;
conf = inst->conf;
if (conf->card)
eina_stringshare_del(conf->card);
conf->using_default = EINA_TRUE;
eina_stringshare_del(conf->card);
card = e_mod_mixer_card_default_get();
if (!card)
@ -980,6 +980,8 @@ e_mod_mixer_pulse_update(void)
ctxt = mixer_mod->data;
EINA_LIST_FOREACH(ctxt->instances, l, inst)
{
if (inst->conf->using_default)
_mixer_sys_setup_default_card(inst);
e_mod_mixer_state_get(inst->sys, inst->channel, &inst->mixer_state);
_mixer_gadget_update(inst);
}
@ -1288,6 +1290,7 @@ _mixer_gadget_configuration_descriptor_new(void)
E_CONFIG_VAL(conf_edd, E_Mixer_Gadget_Config, keybindings_popup, INT);
E_CONFIG_VAL(conf_edd, E_Mixer_Gadget_Config, card, STR);
E_CONFIG_VAL(conf_edd, E_Mixer_Gadget_Config, channel_name, STR);
E_CONFIG_VAL(conf_edd, E_Mixer_Gadget_Config, using_default, UCHAR);
return conf_edd;
}

View File

@ -18,6 +18,7 @@ typedef struct E_Mixer_Gadget_Config
const char *card;
const char *channel_name;
const char *id;
Eina_Bool using_default;
E_Config_Dialog *dialog;
struct E_Mixer_Instance *instance;
} E_Mixer_Gadget_Config;