Enlightenment CVS committal

Author  : devilhorns
Project : e_modules
Module  : mixer

Dir     : e_modules/mixer


Modified Files:
        e_mod_main.c 


Log Message:
If the mixer is muted, keep the icon matching.
Fix formatting & whitespace removal.

===================================================================
RCS file: /cvs/e/e_modules/mixer/e_mod_main.c,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -3 -r1.78 -r1.79
--- e_mod_main.c        22 Dec 2007 21:00:25 -0000      1.78
+++ e_mod_main.c        22 Dec 2007 21:29:33 -0000      1.79
@@ -28,9 +28,9 @@
 
 /* Module Protos */
 static void         _mixer_simple_volume_change (Mixer *mixer, Config_Item 
*ci, double val);
-static void         _mixer_volume_change        (Mixer *mixer, Config_Item 
*ci, int channel_id, double val);
+static void         _mixer_volume_change        (Mixer *mixer, Config_Item 
*ci, double val);
 static void         _mixer_simple_mute_toggle   (Mixer *mixer, Config_Item 
*ci);
-static void         _mixer_mute_toggle          (Mixer *mixer, Config_Item 
*ci, int channel_id);
+static void         _mixer_mute_toggle          (Mixer *mixer, Config_Item 
*ci);
 
 static Config_Item *_mixer_config_item_get   (void *data, const char *id);
 static void         _mixer_menu_cb_post      (void *data, E_Menu *m);
@@ -77,14 +77,14 @@
 static E_Gadcon_Client *
 _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
 {
-   Instance        *inst;
-   Mixer           *mixer;
+   Instance *inst;
+   Mixer *mixer;
    E_Gadcon_Client *gcc;
-   char             buf[4096];
-   
+   char buf[4096];
+
    inst = E_NEW(Instance, 1);
    if (!inst) return NULL;
-   
+
    mixer = E_NEW(Mixer, 1);
    if (!mixer) return NULL;
    mixer->inst = inst;
@@ -106,20 +106,20 @@
    /* Defer this until after the mixer system has been setup */
    inst->ci = _mixer_config_item_get(mixer, id);
 
-   if ((mixer->mix_sys->get_volume) && (inst->ci->card_id != 0) && 
(inst->ci->channel_id != 0))
+   if ((mixer->mix_sys->get_volume) && (inst->ci->channel_id != 0))
      {
        int ret;
        
        ret = mixer->mix_sys->get_volume(inst->ci->card_id, 
inst->ci->channel_id);
        if (ret < 33)
          edje_object_signal_emit(mixer->base, "low", "");
-       else if ((ret >= 34) && (ret < 66))
+       else if ((ret >= 33) && (ret < 66))
          edje_object_signal_emit(mixer->base, "medium", "");
-       else if (ret > 66)
+       else if (ret >= 66)
          edje_object_signal_emit(mixer->base, "high", ""); 
      }
 
-   if ((mixer->mix_sys->get_mute) && (inst->ci->card_id != 0) && 
(inst->ci->channel_id != 0))
+   if ((mixer->mix_sys->get_mute) && (inst->ci->channel_id != 0))
      {
         int m;
 
@@ -148,8 +148,8 @@
 _gc_shutdown(E_Gadcon_Client *gcc)
 {
    Instance *inst;
-   Mixer    *mixer;
-   
+   Mixer *mixer;
+
    inst = gcc->data;
    if (!inst) return;
    mixer = inst->mixer;
@@ -158,7 +158,7 @@
    if (mixer->mix_sys) _mixer_system_shutdown(mixer->mix_sys);
    if (mixer->base) evas_object_del(mixer->base);
    if (mixer->gauge_win) _mixer_window_gauge_free(mixer->gauge_win);
-   
+
    mixer_config->instances = evas_list_remove(mixer_config->instances, inst);
    E_FREE(mixer);
    E_FREE(inst);
@@ -194,7 +194,7 @@
 static const char *
 _gc_id_new(void)
 {
-   int  num = 0;
+   int num = 0;
    char buf[128];
    Config_Item *ci;
 
@@ -218,7 +218,7 @@
 
    _mixer_window_gauge_pop_up(inst);
 
-   if (!inst || !inst->mixer) return;
+   if ((!inst) || (!inst->mixer)) return;
 
    win = inst->mixer->gauge_win;
    _mixer_volume_increase(inst->mixer, inst->ci);
@@ -229,7 +229,7 @@
 void
 mixer_vol_decrease(Instance *inst)
 {
-   Mixer_Win_Gauge  *win;
+   Mixer_Win_Gauge *win;
 
    _mixer_window_gauge_pop_up(inst);
 
@@ -245,7 +245,6 @@
 mixer_mute_toggle(Instance *inst)
 {
    if ((!inst) || (!inst->mixer)) return;
-
    _mixer_simple_mute_toggle(inst->mixer, inst->ci);
 }
 
@@ -265,7 +264,7 @@
    if ((ev->button == 3) && (!mixer_config->menu))
      {
        zone = e_util_zone_current_get(e_manager_current_get());
-       
+
        mn = e_menu_new();
        e_menu_post_deactivate_callback_set(mn, _mixer_menu_cb_post, inst);
        mixer_config->menu = mn;
@@ -301,8 +300,7 @@
 {
    Evas_Event_Mouse_Wheel *ev;
    Mixer *mixer;
-   int vol;
-   int dir = 0;
+   int vol, dir = 0;
    int step = 4;
    double val;
 
@@ -415,13 +413,13 @@
 {
    Mixer *mixer;
    Mixer_System *sys;
-   
+
    if (!(mixer = data)) return;
 
    sys = E_NEW(Mixer_System, 1);
    if (!sys) return;
    mixer->mix_sys = sys;
-   
+
 #if defined(HAVE_ALSA)
    sys->get_cards = alsa_get_cards;
    sys->get_card = alsa_get_card;
@@ -527,7 +525,7 @@
      }
    mixer_register_module_actions();
    mixer_register_module_keybindings();
-   
+
    mixer_config->module = m;
 
    e_gadcon_provider_register(&_gc_class);
@@ -584,13 +582,12 @@
 {
    if (!mixer) return;
    if (!ci) return;
-
-   _mixer_volume_change(mixer, ci, ci->channel_id, val);
+   _mixer_volume_change(mixer, ci, val);
 }
 
 /* Changes the volume of the given channel*/
 static void 
-_mixer_volume_change(Mixer *mixer, Config_Item *ci, int channel_id, double val)
+_mixer_volume_change(Mixer *mixer, Config_Item *ci, double val)
 {
    int m, ret;
 
@@ -599,11 +596,20 @@
    if (!mixer->mix_sys->set_volume) return;
    if (!ci) return;
 
-   if (channel_id != 0) 
+   if (ci->channel_id != 0) 
      {
-       ret = mixer->mix_sys->set_volume(ci->card_id, channel_id, val);
+       ret = mixer->mix_sys->set_volume(ci->card_id, ci->channel_id, val);
        if (ret)
          {
+            m = mixer->mix_sys->get_mute(ci->card_id, ci->channel_id);
+            if (m) 
+              {
+                 edje_object_signal_emit(mixer->base, "muted", "");
+                 return;
+              }
+            else 
+              edje_object_signal_emit(mixer->base, "unmuted", "");
+
             if (val < 33)
               edje_object_signal_emit(mixer->base, "low", "");
             else if ((val >= 33) && (val < 66))
@@ -620,13 +626,12 @@
 {
    if (!mixer) return;
    if (!ci) return;
-
-   _mixer_mute_toggle(mixer, ci, ci->channel_id);
+   _mixer_mute_toggle(mixer, ci);
 }
 
 /* Mute the given channel */
 static void         
-_mixer_mute_toggle(Mixer *mixer, Config_Item *ci, int channel_id)
+_mixer_mute_toggle(Mixer *mixer, Config_Item *ci)
 {
    int m;
    Mixer_Win_Simple *win;
@@ -639,7 +644,7 @@
    if (!mixer->mix_sys->get_volume) return;
 
    win = mixer->simple_win;
-   m = mixer->mix_sys->get_mute(ci->card_id, channel_id);
+   m = mixer->mix_sys->get_mute(ci->card_id, ci->channel_id);
    m = m ? 0 : 1;
    mixer->mix_sys->set_mute(ci->card_id, ci->channel_id, m);
    if (m) 
@@ -657,19 +662,19 @@
    Evas_Coord ox, oy, ow, oh;
    Evas_Coord mw, mh;
    int cx, cy, cw, ch;
-   
+
    if ((!inst) || (!inst->mixer)) return;
    if (!(con = e_container_current_get(e_manager_current_get()))) return;
-   
+
    evas_object_geometry_get(inst->mixer->base, &ox, &oy, &ow, &oh); 
-   
+
    if (!(win = inst->mixer->simple_win))
      {
         win = E_NEW(Mixer_Win_Simple, 1);
         inst->mixer->simple_win = win;
         win->mixer = inst->mixer;
         win->window = e_popup_new(e_zone_current_get(con), 0, 0, 0, 0);
-       
+
         win->bg_obj = edje_object_add(win->window->evas);
         e_theme_edje_object_set(win->bg_obj, "base/theme/menus",
                                "e/widgets/menu/default/background");
@@ -677,11 +682,11 @@
        edje_object_signal_emit(win->bg_obj, "e,action,show,title", "e");
         edje_object_message_signal_process(win->bg_obj);
         evas_object_show(win->bg_obj);
-        
+
         win->vbox = e_box_add(win->window->evas);
         e_box_freeze(win->vbox);
         e_box_orientation_set(win->vbox, 0);
-        
+
         win->slider = e_slider_add(win->window->evas);
         e_slider_value_range_set(win->slider, 0.0, 100.0);
         e_slider_orientation_set(win->slider, 0);
@@ -694,7 +699,7 @@
                                mw, mh, 9999, 9999);
         evas_object_smart_callback_add(win->slider, "changed",
                                        _mixer_window_simple_changed_cb, win);
-        
+
         win->check = e_widget_check_add(win->window->evas, D_("Mute"), 
&win->mute);
         evas_object_show(win->check);
         e_widget_min_size_get(win->check, &mw, &mh);
@@ -702,13 +707,12 @@
         e_box_pack_options_set(win->check, 0, 0, 0, 0, 0.5, 0.5, mw, mh, mw, 
mh);
         evas_object_smart_callback_add(win->check, "changed",
                                        _mixer_window_simple_mute_cb, win);
-       
+
         e_box_min_size_get(win->vbox, &mw, &mh);
         if (mw < ow)  mw = ow;
         if (mh < 150) mh = 150;
         edje_extern_object_min_size_set(win->vbox, mw, mh);
         edje_object_part_swallow(win->bg_obj, "e.swallow.content", win->vbox);
-       
         edje_object_size_min_calc(win->bg_obj, &win->w, &win->h);
         evas_object_move(win->bg_obj, 0, 0);
         evas_object_resize(win->bg_obj, win->w, win->h);
@@ -718,29 +722,33 @@
      {
         Ecore_X_Window root, parent;
         int root_x, root_y, root_w, root_h;
-        
+
         root = win->window->evas_win;
         while ((parent = ecore_x_window_parent_get(root)) != 0)
          root = parent;
-        
+
         ecore_x_window_geometry_get(root, &root_x, &root_y, &root_w, &root_h);
         win->input_window = ecore_x_window_input_new(root, root_x, root_y, 
root_w, root_h);
         ecore_x_window_show(win->input_window);
         /* TODO: Fixme... */
         //ecore_x_pointer_confine_grab(win->input_window);
         ecore_x_keyboard_grab(win->input_window);
-        
-        win->mouse_move_handler = 
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_MOVE,
-                                                        
_mixer_window_simple_mouse_move_cb, win);
-        win->mouse_down_handler = 
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_DOWN,
-                                                        
_mixer_window_simple_mouse_down_cb, win);
-        win->mouse_up_handler = 
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_UP,
-                                                        
_mixer_window_simple_mouse_up_cb, win);
-        win->mouse_wheel_handler = 
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_WHEEL,
-                                                        
_mixer_window_simple_mouse_wheel_cb, win);
-        
+
+        win->mouse_move_handler = 
+         ecore_event_handler_add(ECORE_X_EVENT_MOUSE_MOVE,
+                                 _mixer_window_simple_mouse_move_cb, win);
+        win->mouse_down_handler = 
+         ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_DOWN,
+                                 _mixer_window_simple_mouse_down_cb, win);
+        win->mouse_up_handler = 
+         ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_UP,
+                                 _mixer_window_simple_mouse_up_cb, win);
+        win->mouse_wheel_handler = 
+         ecore_event_handler_add(ECORE_X_EVENT_MOUSE_WHEEL,
+                                 _mixer_window_simple_mouse_wheel_cb, win);
+
         win->first_mouse_up = 1;
-        
+
         evas_event_feed_mouse_move(win->window->evas,
                                    -100000, -100000, ecore_time_get(), NULL);
         evas_event_feed_mouse_in(win->window->evas,
@@ -750,14 +758,12 @@
    if (inst->mixer->mix_sys->get_volume) 
      {
         int vol;
-//        double v;
 
        if (inst->ci->channel_id != 0) 
          {
             edje_object_signal_emit(e_slider_edje_object_get(win->slider), 
                                     "e,state,enabled", "e");
             vol = inst->mixer->mix_sys->get_volume(inst->ci->card_id, 
inst->ci->channel_id);
-//          v = (1.0 - ((double)vol / 100));
             e_slider_value_set(win->slider, vol);
             if (vol < 33)
               edje_object_signal_emit(inst->mixer->base, "low", "");
@@ -781,12 +787,12 @@
    e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, &cw, &ch);
    win->x = cx + ox;
    win->y = cy + oy;
-   
+
    if ((win->y - con->y) < (con->h / 2))
      win->to_top = 0;
    else
      win->to_top = 1;
-   
+
    switch (inst->gcc->gadcon->orient)
      {
       case E_GADCON_ORIENT_LEFT:
@@ -816,10 +822,10 @@
        if (!win->to_top) win->y += (cy + ch);
        break;
      }
-   
+
    e_popup_move_resize(win->window, win->x, win->y, win->w, 0);
    e_popup_show(win->window);
-   
+
    win->start_time = ecore_time_get();
    if (win->slide_timer) ecore_timer_del(win->slide_timer);
    win->slide_timer = ecore_timer_add(SLIDE_FRAMERATE,
@@ -832,9 +838,9 @@
 _mixer_window_simple_pop_down(Instance *inst)
 {
    Mixer_Win_Simple *win;
-   
+
    if (!(win = inst->mixer->simple_win) || (!win->popped_up)) return;
-   
+
    if (win->input_window != 0)
      {
         /* TODO: Fixme... */
@@ -848,7 +854,7 @@
         win->input_window = 0;
         win->mouse_up_handler = NULL;
      }
-   
+
    win->start_time = ecore_time_get();
    if (win->slide_timer) ecore_timer_del(win->slide_timer);
    win->slide_timer = ecore_timer_add(SLIDE_FRAMERATE,
@@ -863,15 +869,15 @@
    Mixer_Win_Simple *win;
    double progress;
    int prev_h, h;
-   
+
    if (!(win = data)) return 1;
-   
+
    progress = (ecore_time_get() - win->start_time) / SLIDE_LENGTH;
    progress = E_CLAMP(progress, 0.0, 1.0);
    progress = 1.0 - (1.0 - progress) * (1.0 - progress);
    h = progress * win->h;
    prev_h = win->window->h;
-   
+
    if (win->to_top)
      {
         e_popup_move_resize(win->window, win->x, win->y - h, win->w, h);
@@ -882,7 +888,7 @@
         e_popup_resize(win->window, win->w, h);
         evas_object_move(win->bg_obj, 0, h - win->h);
      }
-   
+
    if (h >= win->h)
      {
         win->slide_timer = NULL;
@@ -899,14 +905,14 @@
    Mixer_Win_Simple *win;
    double progress;
    int prev_h, h;
-   
+
    if (!(win = data)) return 1;
-   
+
    progress = (ecore_time_get() - win->start_time) / SLIDE_LENGTH;
    progress = E_CLAMP(progress, 0.0, 1.0);
    h = (1.0 - progress) * (1.0 - progress) * win->h;
    prev_h = win->window->h;
-   
+
    if (win->to_top)
      {
         e_popup_move_resize(win->window, win->x, win->y - h, win->w, h);
@@ -917,7 +923,7 @@
         e_popup_resize(win->window, win->w, h);
         evas_object_move(win->bg_obj, 0, h - win->h);
      }
-   
+
    if (h <= 0)
      {
         e_object_del(E_OBJECT(win->window));
@@ -938,7 +944,6 @@
    double val;
 
    if (!(win = data)) return;
-
    if (!(mixer = win->mixer)) return;
    if (!mixer->mix_sys) return;
    if (!mixer->mix_sys->set_volume) return;
@@ -955,7 +960,6 @@
    Mixer *mixer;
 
    if (!(win = data)) return;
-
    mixer = win->mixer;
    _mixer_simple_mute_toggle(mixer, mixer->inst->ci);
 }
@@ -966,9 +970,9 @@
 {
    Mixer_Win_Simple *win;
    Ecore_X_Event_Mouse_Move *xev = event;
-   
+
    if (!(win = data) || (win->slide_timer)) return 1;
-   
+
    evas_event_feed_mouse_move(win->window->evas,
                               xev->x - win->window->x, xev->y - win->window->y,
                               xev->time, NULL);
@@ -981,9 +985,9 @@
 {
    Mixer_Win_Simple *win;
    Ecore_X_Event_Mouse_Button_Down *xev = event;
-   
+
    if (!(win = data) || (win->slide_timer)) return 1;
-   
+
    evas_event_feed_mouse_down(win->window->evas,
                               xev->button, EVAS_BUTTON_NONE,
                               xev->time, NULL);
@@ -997,20 +1001,20 @@
    Mixer_Win_Simple *win;
    Ecore_X_Event_Mouse_Button_Up *xev = event;
    int inside;
-   
+
    if (!(win = data) || (win->slide_timer)) return 1;
-      
+
    evas_event_feed_mouse_up(win->window->evas,
                             xev->button, EVAS_BUTTON_NONE,
                             xev->time, NULL);
-   
+
    inside = E_INSIDE(xev->x, xev->y, win->window->x, win->window->y,
                      win->window->w, win->window->h);
    
-   if ((xev->button == 1) && !inside)
+   if ((xev->button == 1) && (!inside))
      _mixer_window_simple_pop_down(win->mixer->inst);
-   
-   if ((xev->button == 1) && win->first_mouse_up)
+
+   if ((xev->button == 1) && (win->first_mouse_up))
      win->first_mouse_up = 0;
    
    return 1;
@@ -1022,9 +1026,9 @@
 {
    Mixer_Win_Simple *win;
    Ecore_X_Event_Mouse_Wheel *xev = event;
-   
+
    if (!(win = data) || (win->slide_timer)) return 1;
-   
+
    evas_event_feed_mouse_wheel(win->window->evas,
                               xev->direction, xev->z, xev->time, NULL);
    return 1;
@@ -1039,11 +1043,8 @@
    evas_object_del(win->bg_obj);
    evas_object_del(win->pulsar);
    win->mixer->gauge_win = NULL;
-   if (win->timer) 
-     {
-       ecore_timer_del(win->timer);
-       win->timer = NULL;
-     }
+   if (win->timer) ecore_timer_del(win->timer);
+   win->timer = NULL;
    E_FREE(win);
 }
 
@@ -1108,9 +1109,8 @@
 
    e_popup_move(win->window, (con->w/2.0)-150, (con->h/2.0)-45);
    e_popup_show(win->window);
-   
-   if (win->timer) ecore_timer_del(win->timer);
 
+   if (win->timer) ecore_timer_del(win->timer);
    win->timer = ecore_timer_add(inst->ci->popup_speed, 
                                _mixer_window_gauge_visible_cb, win);
 }
@@ -1126,7 +1126,6 @@
    msg = malloc(sizeof(Edje_Message_Int));
    vol = (int)mixer->mix_sys->get_volume(ci->card_id, ci->channel_id);
    msg->val = vol;
-
    edje_object_message_send(win->pulsar, EDJE_MESSAGE_INT, 0, msg);
    free(msg);
 }
@@ -1137,7 +1136,7 @@
 {
    int m;
    double vol;
-   
+
    if (!mixer) return;
    if (!mixer->mix_sys) return;
    if (!mixer->mix_sys->get_volume) return;
@@ -1157,7 +1156,7 @@
 {
    int m;
    double vol;
-   
+
    if (!mixer) return;
    if (!mixer->mix_sys) return;
    if (!mixer->mix_sys->set_volume) return;
@@ -1166,7 +1165,7 @@
    if (ci->channel_id != 0) 
      {
        vol = mixer->mix_sys->get_volume(ci->card_id, ci->channel_id);
-       vol = vol-VOL_STEP < 0 ? 0 : vol-VOL_STEP;
+       vol = vol - VOL_STEP < 0 ? 0 : vol - VOL_STEP;
        mixer->mix_sys->set_volume(ci->card_id, ci->channel_id, vol);
      }
 }



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to