Enlightenment CVS committal

Author  : lok
Project : e17
Module  : apps/emphasis

Dir     : e17/apps/emphasis/src/bin


Modified Files:
        emphasis_callbacks.c emphasis_callbacks.h 
        emphasis_config_gui.c emphasis_cover_db.c emphasis_gui.c 
        emphasis_media.c emphasis_mpc.c emphasis_mpc.h 
        emphasis_player.c emphasis_player.h 


Log Message:
Another aji's patch :
Shuffle added.
A change in the config doesn't require to relaunch emphasis anymore.
Keybinding added on 'c' to clear the playlist.
Keybinding added on 's' to shuffle the playlist.
textblock bug solved.

===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- emphasis_callbacks.c        10 Jan 2007 01:12:53 -0000      1.15
+++ emphasis_callbacks.c        14 Jan 2007 19:27:43 -0000      1.16
@@ -784,7 +784,7 @@
 cb_pls_contextual_menu(Etk_Object *object, Etk_Event_Mouse_Down *event,
                        void *data)
 {
-  UNUSED(object)
+  UNUSED(object);
   Emphasis_Gui *gui;
 
   gui = data;
@@ -802,21 +802,32 @@
 cb_playlist_clear(Etk_Object *object, Etk_Event_Mouse_Down *event,
                   void *data)
 {
-  UNUSED(object)
-  UNUSED(event)
-  UNUSED(data)
+  UNUSED(object);
+  UNUSED(event);
+  UNUSED(data);
 
   mpc_playlist_clear();
 }
 
 /**
+ * * @brief Shuffle the playlist
+ */
+void
+cb_playlist_shuffle(Etk_Object *object, void *data)
+{
+  UNUSED_CLICKED_PARAM;
+  
+  mpc_playlist_shuffle();
+}
+
+/**
  * @brief Callback function of bindings key on the playlist
  */
 void
 cb_pls_bindings_key(Etk_Object *object, Etk_Event_Key_Down *event, 
                     void *data)
 {
-  UNUSED(object)
+  UNUSED(object);
   Emphasis_Player_Gui *player;
   Evas_List *rowlist;
   Evas_List *list;
@@ -832,6 +843,20 @@
           mpc_playlist_delete(list);
         }
     }
+  else if(!strcmp(event->key, "c"))
+    {
+      cb_playlist_clear(NULL,NULL,NULL);
+    }
+  else if(!strcmp(event->key, "s"))
+    {
+      cb_playlist_shuffle(NULL,NULL);
+    }
+  /*
+  else if(!strcmp(event->key, "u"))
+    {
+      cb_database_update(NULL, data);
+    }
+  */
 }
 
 /**
@@ -840,7 +865,7 @@
 void
 cb_playlist_delete(Etk_Object *object, void *data)
 {
-  UNUSED(object)
+  UNUSED(object);
   Emphasis_Player_Gui *player;
   Evas_List *rowlist;
   Evas_List *list;
@@ -859,7 +884,7 @@
 void
 cb_database_update(Etk_Object *object, void *data)
 {
-  UNUSED(object)
+  UNUSED(object);
   Emphasis_Player_Gui *player;
   player = data;
 
@@ -896,7 +921,6 @@
 cb_switch_full(Etk_Object *object, void *data)
 {
   UNUSED(object);
-//  int x, y, w, h;
 
   Emphasis_Player_Gui *player;
   player = data;
@@ -907,7 +931,6 @@
     }
   player->state = EMPHASIS_FULL;
 
-//  etk_window_geometry_get(ETK_WINDOW(player->small.window), &x, &y, &w, &h);
   etk_widget_hide(player->small.window);
   etk_widget_hide(player->media.window);
   
@@ -920,14 +943,12 @@
   emphasis_player_toggle_full(player, ETK_TRUE);
 
   etk_widget_show(player->full.window);
-//  etk_window_move(ETK_WINDOW(player->full.window), x, y);
 }
 
 void
 cb_switch_small(Etk_Object *object, void *data)
 {
   UNUSED(object);
-//  int x, y, w, h;
 
   Emphasis_Player_Gui *player;
   player = data;
@@ -938,7 +959,6 @@
     }
   player->state = EMPHASIS_SMALL;
 
-//  etk_window_geometry_get(ETK_WINDOW(player->full.window), &x, &y, &w, &h);
   etk_widget_hide(player->full.window);
 
   etk_container_add(ETK_CONTAINER(player->media.window), player->media.root);
@@ -949,7 +969,6 @@
       etk_widget_show(player->media.window);
     }
   etk_widget_show(player->small.window);
-//  etk_window_move(ETK_WINDOW(player->small.window), x, y);
 }
 
 void
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- emphasis_callbacks.h        30 Dec 2006 13:46:38 -0000      1.7
+++ emphasis_callbacks.h        14 Jan 2007 19:27:43 -0000      1.8
@@ -50,6 +50,7 @@
 void cb_pls_bindings_key(Etk_Object *object, Etk_Event_Key_Down *event,
                          void *data);
 void cb_playlist_delete(Etk_Object *object, void *data);
+void cb_playlist_shuffle(Etk_Object *object, void *data);
 void cb_database_update(Etk_Object *object, void *data);
 
 void cb_small_resize(Etk_Object *object, void *data);
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_config_gui.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- emphasis_config_gui.c       30 Dec 2006 13:46:38 -0000      1.5
+++ emphasis_config_gui.c       14 Jan 2007 19:27:43 -0000      1.6
@@ -89,18 +89,33 @@
 emphasis_configgui_save(Emphasis_Config_Gui *configgui)
 {
   Emphasis_Config *config;
+  char *key = NULL, *value = NULL;
+  int reconnect = 0;
 
   config = config_load();
 
-  if(config->hostname) { free(config->hostname); }
-  if(config->password) { free(config->password); }
-      
-  config->hostname =
-   strdup(etk_entry_text_get(ETK_ENTRY(configgui->hostname)));
-  config->password =
-   strdup(etk_entry_text_get(ETK_ENTRY(configgui->password)));
-  config->port      =
-   etk_range_value_get(ETK_RANGE(configgui->port));
+  if((key = config->hostname))
+    {
+      value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->hostname)));
+      if(strcmp(key,value)) { reconnect = 1; }
+      free(config->hostname);
+    }
+  config->hostname = value;
+
+  if((key = config->password))
+    {
+      value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->password)));
+      if(!reconnect && strcmp(key,value)) { reconnect = 1; }
+      free(config->password);
+    }
+  config->password = value;
+  
+  if(!reconnect && config->port != 
etk_range_value_get(ETK_RANGE(configgui->port)))
+    {
+      reconnect = 1;
+    }
+  config->port = etk_range_value_get(ETK_RANGE(configgui->port));
+
 
   config->crossfade    =
    etk_range_value_get(ETK_RANGE(configgui->xfade));
@@ -122,5 +137,13 @@
 
   config_save(config);
   config_free(config);
+
+  if(reconnect)
+    {
+      Emphasis_Gui *gui = configgui->data;
+      emphasis_player_cover_set(gui->player, NULL);
+      emphasis_player_progress_set(gui->player, 0.0, 0.001);
+      mpc_disconnect();
+    }
 }
 
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_cover_db.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- emphasis_cover_db.c 30 Dec 2006 13:46:38 -0000      1.3
+++ emphasis_cover_db.c 14 Jan 2007 19:27:43 -0000      1.4
@@ -27,22 +27,14 @@
           ci = gui->cover_queue;
 
           artist = ci->artist;
-          album = ci->album;
+          album  = ci->album;
           strescape(artist);
           strescape(album);
           gui->cover_queue = NULL;
           
           cover_path = emphasis_cover_db_search(artist, album);
-          if (cover_path == NULL)
-            {
-              emphasis_player_cover_set(gui->player,
-                                        emphasis_cover_haricotmagique());
-            }
-          else
-            {
-              emphasis_player_cover_set(gui->player, cover_path);
-              free(cover_path);
-            }
+          emphasis_player_cover_set(gui->player, cover_path);
+          if (cover_path != NULL) { free(cover_path); }
           emphasis_player_cover_size_update(gui->player);
 
           free(artist);
@@ -51,7 +43,7 @@
         }
       else
         {
-          usleep(500);
+          usleep(200);
         }
     }
 }
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_gui.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- emphasis_gui.c      30 Dec 2006 13:46:38 -0000      1.9
+++ emphasis_gui.c      14 Jan 2007 19:27:43 -0000      1.10
@@ -52,13 +52,15 @@
        
   emphasis_menu_append(gui->menu,
                        "clear",
-                       ETK_STOCK_EDIT_CLEAR, cb_playlist_clear, NULL,
+                       ETK_STOCK_EDIT_CLEAR        , cb_playlist_clear , NULL,
+                       "shuffle",
+                       ETK_STOCK_APPLICATIONS_GAMES, cb_playlist_shuffle, NULL,
                        "delete",
-                       ETK_STOCK_EDIT_DELETE, cb_playlist_delete, player,
+                       ETK_STOCK_EDIT_DELETE       , cb_playlist_delete, 
player,
                        "update",
-                       ETK_STOCK_VIEW_REFRESH, cb_database_update, player,
+                       ETK_STOCK_VIEW_REFRESH      , cb_database_update, 
player,
                        "config",
-                       ETK_STOCK_PREFERENCES_SYSTEM, cb_config_show, gui,
+                       ETK_STOCK_PREFERENCES_SYSTEM, cb_config_show    , gui,
                        NULL);
        
   /* Do we need all this connect ? */
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- emphasis_media.c    30 Dec 2006 13:46:38 -0000      1.3
+++ emphasis_media.c    14 Jan 2007 19:27:43 -0000      1.4
@@ -254,10 +254,15 @@
   Etk_Tree *pls_list;
 
   pls_list = ETK_TREE(player->media.pls_list);
-  etk_tree_clear(pls_list); 
+  etk_tree_clear(pls_list);
+#if defined(LIBMPD_0_12_4)
   emphasis_tree_mlib_append(pls_list, 
                             (mpc_list_playlists()),
                             MPD_DATA_TYPE_PLAYLIST,
                             NULL);
+#else
+  etk_tree_append(pls_list, etk_tree_nth_col_get(pls_list, 0),
+                  "You need libmpd 0.12.4 in order to use mpd playlists", 
NULL);
+#endif
 }
 
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- emphasis_mpc.c      30 Dec 2006 13:46:38 -0000      1.11
+++ emphasis_mpc.c      14 Jan 2007 19:27:43 -0000      1.12
@@ -18,7 +18,6 @@
     {
       mpd_send_password(mo);
       mpc_signal_connect_status_changed(data);
-      /* TODO: Destroy this time if not needed anymore */
       timer = ecore_timer_add(0.2, mpc_update, NULL);
     }
   else
@@ -130,6 +129,7 @@
 void
 status_changed_callback(MpdObj * mo, ChangedStatusType what, void *data)
 {
+  static int refresh_info = 1;
   Emphasis_Player_Gui *player;
   Emphasis_Song *song = NULL;
   MpdState state;
@@ -149,11 +149,12 @@
       total_time = mpd_status_get_total_song_time(mo);
       emphasis_player_progress_set(player, (float) elapsed_time, total_time);
       /* dirty hack */ 
-      if(!mpd_status_db_is_updating(mo))
+      if(!mpd_status_db_is_updating(mo) && refresh_info)
         {
           song = mpc_playlist_get_current_song();
           emphasis_player_info_set(player, song, NULL);
           emphasis_song_free(song);
+          refresh_info = 0;
         }
     }
   if (what & MPD_CST_UPDATING)
@@ -226,6 +227,7 @@
           emphasis_player_info_set(player, song, NULL);
           emphasis_pls_mark_current(ETK_TREE(player->media.pls), song->id);
           emphasis_song_free(song);
+          refresh_info = 1;
           break;
         case MPD_STATUS_STATE_UNKNOWN:
           emphasis_player_info_set(player, NULL, "wtf is that ?");
@@ -447,6 +449,15 @@
 }
 
 /**
+ * @brief Shuffle current mpd playlist
+ */
+void
+mpc_playlist_shuffle(void)
+{
+  mpd_playlist_shuffle(mo);
+}
+
+/**
  * @brief Play the song with id @e id
  * @param id An id of one of the songs in the playlist
  */
@@ -664,6 +675,7 @@
 void
 mpc_save_playlist(char *playlist_name)
 {
+#if defined(LIBMPD_0_12_4)
   int mpd_error;
 
   mpd_error = mpd_database_save_playlist(mo, playlist_name);
@@ -674,6 +686,9 @@
           fprintf(stderr, "A playlist with the same name already exist.\n");
         }
     }
+#else
+  UNUSED(playlist_name);
+#endif
 }
 
 void
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- emphasis_mpc.h      30 Dec 2006 13:46:38 -0000      1.8
+++ emphasis_mpc.h      14 Jan 2007 19:27:43 -0000      1.9
@@ -33,6 +33,7 @@
 void mpc_playlist_delete(Evas_List *list);
 void mpc_playlist_clear(void);
 void mpc_playlist_commit(void);
+void mpc_playlist_shuffle(void);
 
 void mpc_play_id(int id);
 void mpc_play(void);
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- emphasis_player.c   30 Dec 2006 13:46:38 -0000      1.5
+++ emphasis_player.c   14 Jan 2007 19:27:43 -0000      1.6
@@ -76,9 +76,8 @@
   player->media.search_tree  = enhance_var_get(en, "search_page_tree");
 
 
-  player->media.pls_list    = enhance_var_get(en, "media_pls_list");
-  player->media.pls_content = enhance_var_get(en, "media_pls_content");
-
+  player->media.pls_list       = enhance_var_get(en, "media_pls_list");
+  player->media.pls_content    = enhance_var_get(en, "media_pls_content");
   player->media.pls_entry_save = enhance_var_get(en, "media_pls_entry_save");
 
   /* Mediabox buttons init */
@@ -88,16 +87,6 @@
   player->media.button_playlists = enhance_var_get(en, "media_button_pls");
   player->media.button_stats     = enhance_var_get(en, "media_button_stats");
 
-  /* TODO : finish the special theme  
-  etk_widget_theme_file_set(ETK_WIDGET(player->media.button_lib),
-                            PACKAGE_DATA_DIR "/widgets/media_tab_button.edj");
-  etk_widget_theme_file_set(ETK_WIDGET(player->media.button_search),
-                            PACKAGE_DATA_DIR "/widgets/media_tab_button.edj");
-  etk_widget_theme_file_set(ETK_WIDGET(player->media.button_playlists),
-                            PACKAGE_DATA_DIR "/widgets/media_tab_button.edj");
-  etk_widget_theme_file_set(ETK_WIDGET(player->media.button_stats),
-                            PACKAGE_DATA_DIR "/widgets/media_tab_button.edj");
-  */
   /* enhance completion : col def */
   etk_tree_multiple_select_set(ETK_TREE(player->media.artist), ETK_TRUE);
   etk_tree_multiple_select_set(ETK_TREE(player->media.album) , ETK_TRUE);
@@ -203,8 +192,7 @@
                       (void*)EMPHASIS_TRACK);
 
   /* enhance complection : images */
-  /* TODO : use cover_haricotmagique() */
-  emphasis_player_cover_set(player, PACKAGE_DATA_DIR EMPHASIS_LOGO);
+  emphasis_player_cover_set(player, NULL);
 
   emphasis_player_vol_image_set(player, 0, PACKAGE_DATA_DIR EMPHASIS_SOUNDL);
   emphasis_player_vol_image_set(player, 1, PACKAGE_DATA_DIR EMPHASIS_SOUNDR);
@@ -290,8 +278,8 @@
   enhance_callback_data_set(en, "cb_media_pls_save_clicked"        , player);
   enhance_callback_data_set(en, "cb_media_pls_load_clicked"        , player);
   enhance_callback_data_set(en, "cb_media_pls_del_clicked"         , player);
-
   enhance_callback_data_set(en, "cb_media_pls_list_row_clicked"    , player);
+  
   enhance_callback_data_set(en, "cb_tree_mlib_clicked"             , player);
   enhance_callback_data_set(en, "cb_media_pls_save_key_down"       , player);
 
@@ -301,6 +289,8 @@
 void
 emphasis_player_cover_set(Emphasis_Player_Gui *player, const char *path)
 {
+  if(!path) { path = emphasis_cover_haricotmagique(); }
+
   etk_image_set_from_file(ETK_IMAGE(player->full.cover) , path, NULL);
   etk_image_set_from_file(ETK_IMAGE(player->small.cover), path, NULL);
 }
@@ -426,7 +416,7 @@
     }
   
   etk_textblock_object_cursor_visible_set
-   (ETK_TEXT_VIEW(player->small.info)->textblock->evas_objects->data,
+   (evas_list_data(ETK_TEXT_VIEW(player->small.info)->textblock->evas_objects),
     ETK_FALSE);
 }
 
@@ -543,10 +533,10 @@
 /* TODO : doc */
 void
 emphasis_player_vol_image_set(Emphasis_Player_Gui *player,
-                              int right,
+                              int high,
                               const char *path)
 {
-  switch(right)
+  switch(high)
     {
      case 0:
        etk_image_set_from_file(ETK_IMAGE(player->small.sound_low), path, NULL);
===================================================================
RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- emphasis_player.h   30 Dec 2006 13:46:38 -0000      1.3
+++ emphasis_player.h   14 Jan 2007 19:27:43 -0000      1.4
@@ -143,7 +143,7 @@
 void emphasis_player_vol_slider_set(Emphasis_Player_Gui *player, int value);
 
 void emphasis_player_vol_image_set(Emphasis_Player_Gui *player,
-                                   int right,
+                                   int high,
                                    const char *path);
 void emphasis_player_mode_set(Emphasis_Player_Gui *player,
                               Emphasis_Mode state);



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to