Enlightenment CVS committal Author : devilhorns Project : e_modules Module : mixer
Dir : e_modules/mixer Modified Files: e_mod_main.c e_mod_config.c Log Message: Allow selection of sound card that this mixer will control. If your testing, you'll need to remove old module.mixer.cfg =================================================================== RCS file: /cvs/e/e_modules/mixer/e_mod_main.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_mod_main.c 7 Sep 2006 16:07:54 -0000 1.4 +++ e_mod_main.c 7 Sep 2006 16:36:34 -0000 1.5 @@ -85,7 +85,7 @@ card = c->data; if (!card) continue; - printf("\nFound Card: %s\n\n", card->real); + printf("\nFound Card: %s\tId: %i\n\n", card->real, card->id); } alsa_free_cards(c); } @@ -262,7 +262,7 @@ ci = E_NEW(Config_Item, 1); ci->id = evas_stringshare_add(id); - ci->volume = 10; + ci->card_id = 0; mixer_config->items = evas_list_append(mixer_config->items, ci); return ci; @@ -282,7 +282,7 @@ #define T Config_Item #define D conf_item_edd E_CONFIG_VAL(D, T, id, STR); - E_CONFIG_VAL(D, T, volume, INT); + E_CONFIG_VAL(D, T, card_id, INT); conf_edd = E_CONFIG_DD_NEW("Mixer_Config", Config); #undef T @@ -300,7 +300,7 @@ ci = E_NEW(Config_Item, 1); ci->id = evas_stringshare_add("0"); - ci->volume = 10; + ci->card_id = 0; mixer_config->items = evas_list_append(mixer_config->items, ci); } =================================================================== RCS file: /cvs/e/e_modules/mixer/e_mod_config.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_mod_config.c 7 Sep 2006 16:03:29 -0000 1.2 +++ e_mod_config.c 7 Sep 2006 16:36:34 -0000 1.3 @@ -4,7 +4,9 @@ struct _E_Config_Dialog_Data { - + Evas_Object *list; + + int card_id; }; /* Protos */ @@ -44,7 +46,7 @@ static void _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata) { - + cfdata->card_id = ci->card_id; } static void * @@ -70,15 +72,19 @@ static Evas_Object * _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { - Evas_Object *o, *ol, *ot, *ob, *icon; + Evas_Object *o, *ol, *ot, *ob, *of, *icon; Evas_List *cards, *c; + Config_Item *ci; + int i = 0; + ci = cfd->data; + cards = alsa_get_cards(); - o = e_widget_list_add(evas, 0, 0); - ot = e_widget_table_add(evas, 0); - + o = e_widget_list_add(evas, 0, 1); + of = e_widget_framelist_add(evas, _("Sound Cards"), 0); ol = e_widget_ilist_add(evas, 48, 48, NULL); + cfdata->list = ol; e_widget_min_size_set(ol, 160, 200); if (cards) { @@ -87,23 +93,45 @@ Alsa_Card *card; card = c->data; - if (!c) continue; + if (!card) continue; e_widget_ilist_append(ol, NULL, card->real, NULL, NULL, NULL); + if (!ci) continue; + if (ci->card_id == card->id) + e_widget_ilist_selected_set(ol, i); + i++; } } e_widget_ilist_go(ol); - e_widget_table_object_append(ot, ol, 0, 0, 1, 1, 1, 0, 1, 0); + e_widget_framelist_object_append(of, ol); + e_widget_list_object_append(o, of, 1, 1, 0.5); + ot = e_widget_table_add(evas, 0); ob = e_widget_button_add(evas, _("Configure"), NULL, NULL, NULL, NULL); e_widget_disabled_set(ob, 1); - e_widget_table_object_append(ot, ob, 0, 1, 1, 1, 1, 0, 1, 0); + e_widget_table_object_append(ot, ob, 0, 0, 1, 1, 1, 1, 1, 0); - e_widget_list_object_append(o, ot, 1, 1, 0.5); + e_widget_list_object_append(o, ot, 1, 1, 0.0); return o; } static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { + Evas_List *cards, *c; + Alsa_Card *card; + Config_Item *ci; + + ci = cfd->data; + if (!ci) return 0; + + cards = alsa_get_cards(); + if (cards) + { + card = evas_list_nth(cards, e_widget_ilist_selected_get(cfdata->list)); + if (!card) return 0; + ci->card_id = card->id; + e_config_save_queue(); + } + return 1; } ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs