Enlightenment CVS committal

Author  : moom16
Project : e17
Module  : apps/eclair

Dir     : e17/apps/eclair/src


Modified Files:
        eclair.c eclair_callbacks.c eclair_dialogs.c eclair_playlist.c 
        eclair_playlist.h eclair_private.h 


Log Message:

* [Default theme]Improve the animation of the play/pause button
* Autoplay thing implemented
* Add few ideas and bugs to the TODO file

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- eclair.c    20 May 2005 13:50:32 -0000      1.17
+++ eclair.c    21 May 2005 12:55:23 -0000      1.18
@@ -61,6 +61,7 @@
    eclair->gui_engine = ECLAIR_SOFTWARE;
    eclair->gui_theme_file = strdup(PACKAGE_DATA_DIR "/themes/default.edj");
    eclair->gui_drop_object = ECLAIR_DROP_NONE;
+   eclair->start_playing = 0;
 
    if (!eclair_args_parse(eclair, &filenames))
       return 0;
@@ -79,12 +80,12 @@
    if ((l = filenames))
    {
       for (; l; l = l->next)
-         eclair_playlist_add_uri(&eclair->playlist, (char *)l->data, 0);
+         eclair_playlist_add_uri(&eclair->playlist, (char *)l->data, 0, 1);
       evas_list_free(filenames);
       eclair_playlist_container_update(eclair->playlist_container);
    }
    else
-      eclair_playlist_add_uri(&eclair->playlist, 
eclair->config.default_playlist_path, 0);
+      eclair_playlist_add_uri(&eclair->playlist, 
eclair->config.default_playlist_path, 0, 0);
 
    ecore_event_handler_add(ECORE_X_EVENT_XDND_POSITION, 
eclair_gui_dnd_position_cb, eclair);
        ecore_event_handler_add(ECORE_X_EVENT_XDND_DROP, 
eclair_gui_dnd_drop_cb, eclair);
@@ -275,9 +276,15 @@
 {
    int video_width, video_height;
 
-   if (!eclair || !eclair->video_object)
+   if (!eclair)
       return;
 
+   if (!eclair->video_object)
+   {
+      eclair->start_playing = 1;
+      return;
+   }
+
    if (path)
    {
       emotion_object_file_set(eclair->video_object, path);
@@ -350,12 +357,19 @@
    eclair->state = ECLAIR_PAUSE;
 }
 
+//TODO: redundant with play_current?
 //Play the current file if state is STOP or resume if state is PAUSE
 void eclair_play(Eclair *eclair)
 {
-   if (!eclair || !eclair->video_object)
+   if (!eclair)
       return;
 
+   if (!eclair->video_object)
+   {
+      eclair->start_playing = 1;
+      return;
+   }
+
    if (eclair->state == ECLAIR_PAUSE)
    {
       emotion_object_play_set(eclair->video_object, 1);
@@ -610,6 +624,9 @@
    eclair->video_object = new_video_object;
    eclair_update_current_file_info(eclair, 0);
 
+   if (eclair->start_playing)
+      eclair_play_current(eclair);
+
    return NULL; 
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_callbacks.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- eclair_callbacks.c  20 May 2005 17:03:22 -0000      1.13
+++ eclair_callbacks.c  21 May 2005 12:55:23 -0000      1.14
@@ -413,7 +413,7 @@
    if (eclair->gui_drop_object == ECLAIR_DROP_PLAYLIST)
    {
       for (i = 0; i < files->num_files; i++)
-         eclair_playlist_add_uri(&eclair->playlist, files->files[i], 0);
+         eclair_playlist_add_uri(&eclair->playlist, files->files[i], 0, 1);
       eclair_playlist_container_update(eclair->playlist_container);
    }
    else if (eclair->gui_drop_object == ECLAIR_DROP_COVER)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_dialogs.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- eclair_dialogs.c    21 May 2005 10:18:11 -0000      1.4
+++ eclair_dialogs.c    21 May 2005 12:55:23 -0000      1.5
@@ -270,7 +270,7 @@
 
 
    for (l = filenames; l; l = l->next)
-      eclair_playlist_add_uri(&eclair->playlist, (char *)l->data, 0);
+      eclair_playlist_add_uri(&eclair->playlist, (char *)l->data, 0, 1);
    eclair_playlist_container_update(eclair->playlist_container);
    g_slist_foreach(filenames, (GFunc)g_free, NULL);
    g_slist_free(filenames);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_playlist.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- eclair_playlist.c   20 May 2005 13:50:32 -0000      1.10
+++ eclair_playlist.c   21 May 2005 12:55:23 -0000      1.11
@@ -86,7 +86,7 @@
 }
 
 //Add recursively a directory
-Evas_Bool eclair_playlist_add_dir(Eclair_Playlist *playlist, char *dir, 
Evas_Bool update_container)
+Evas_Bool eclair_playlist_add_dir(Eclair_Playlist *playlist, char *dir, 
Evas_Bool update_container, Evas_Bool autoplay)
 {
    Ecore_List *files;
    Ecore_List_Node *l;
@@ -103,7 +103,7 @@
             continue;
          filepath = (char *)malloc(strlen(dir) + strlen(filename) + 2);
          sprintf(filepath, "%s/%s", dir, filename);
-         eclair_playlist_add_uri(playlist, filepath, 0);
+         eclair_playlist_add_uri(playlist, filepath, 0, autoplay);
          free(filepath);
       }
       ecore_list_destroy(files);
@@ -116,7 +116,7 @@
 }
 
 //Add files stored in the m3u file
-Evas_Bool eclair_playlist_add_m3u(Eclair_Playlist *playlist, char *m3u_path, 
Evas_Bool update_container)
+Evas_Bool eclair_playlist_add_m3u(Eclair_Playlist *playlist, char *m3u_path, 
Evas_Bool update_container, Evas_Bool autoplay)
 {
    FILE *m3u_file;
    char line[MAX_PATH_LEN], *path, *c, *m3u_dir;
@@ -135,12 +135,12 @@
          *c = 0;
    
       if (line[0] == '/')
-         eclair_playlist_add_uri(playlist, line, 0);
+         eclair_playlist_add_uri(playlist, line, 0, autoplay);
       else if (m3u_dir)
       {
          path = (char *)malloc(strlen(m3u_dir) + strlen(line) + 2);
          sprintf(path, "%s/%s", m3u_dir, line);
-         eclair_playlist_add_uri(playlist, path, 0);
+         eclair_playlist_add_uri(playlist, path, 0, autoplay);
          free(path);
       }
    }
@@ -155,13 +155,13 @@
 }
 
 //Add the media file located at the uri
-Evas_Bool eclair_playlist_add_uri(Eclair_Playlist *playlist, char *uri, 
Evas_Bool update_container)
+Evas_Bool eclair_playlist_add_uri(Eclair_Playlist *playlist, char *uri, 
Evas_Bool update_container, Evas_Bool autoplay)
 {
    Eclair_Media_File *new_media_file;
    Eclair *eclair;
    char *clean_uri, *new_path, *ext;
 
-   if (!playlist || !uri)
+   if (!playlist || !uri || !(eclair = playlist->eclair))
       return 0;
 
    if (strstr(uri, "://"))
@@ -182,14 +182,14 @@
 
    if (!strstr(new_path, "://"))
    {
-      if (eclair_playlist_add_dir(playlist, new_path, 0))
+      if (eclair_playlist_add_dir(playlist, new_path, 0, autoplay))
       {
          free(new_path);
          return 1;
       }
       if ((ext = eclair_utils_file_get_extension(new_path)) && strcmp(ext, 
"m3u") == 0)
       {
-         eclair_playlist_add_m3u(playlist, new_path, 0);
+         eclair_playlist_add_m3u(playlist, new_path, 0, autoplay);
          free(new_path);
          return 1;  
       }
@@ -199,15 +199,17 @@
    new_media_file->path = new_path;
    playlist->playlist = evas_list_append(playlist->playlist, new_media_file);
    if (!playlist->current)
-      eclair_playlist_current_set_list(playlist, playlist->playlist);
-
-   if ((eclair = playlist->eclair))
    {
-      if (update_container)
-         eclair_playlist_container_update(eclair->playlist_container);
-      if (!strstr(new_media_file->path, "://"))
-         eclair_meta_tag_add_file_to_scan(&eclair->meta_tag_manager, 
new_media_file);
+      eclair_playlist_current_set_list(playlist, playlist->playlist);
+      if (autoplay)
+         eclair_play_current(eclair);
    }
+
+   if (update_container)
+      eclair_playlist_container_update(eclair->playlist_container);
+   if (!strstr(new_media_file->path, "://"))
+      eclair_meta_tag_add_file_to_scan(&eclair->meta_tag_manager, 
new_media_file);
+
    return 1;   
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_playlist.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- eclair_playlist.h   20 May 2005 13:50:32 -0000      1.8
+++ eclair_playlist.h   21 May 2005 12:55:23 -0000      1.9
@@ -11,9 +11,9 @@
 Eclair_Media_File *eclair_playlist_prev_media_file(Eclair_Playlist *playlist);
 Eclair_Media_File *eclair_playlist_next_media_file(Eclair_Playlist *playlist);
 
-Evas_Bool eclair_playlist_add_dir(Eclair_Playlist *playlist, char *dir, 
Evas_Bool update_container);
-Evas_Bool eclair_playlist_add_m3u(Eclair_Playlist *playlist, char *m3u_path, 
Evas_Bool update_container);
-Evas_Bool eclair_playlist_add_uri(Eclair_Playlist *playlist, char *uri, 
Evas_Bool update_container);
+Evas_Bool eclair_playlist_add_dir(Eclair_Playlist *playlist, char *dir, 
Evas_Bool update_container, Evas_Bool autoplay);
+Evas_Bool eclair_playlist_add_m3u(Eclair_Playlist *playlist, char *m3u_path, 
Evas_Bool update_container, Evas_Bool autoplay);
+Evas_Bool eclair_playlist_add_uri(Eclair_Playlist *playlist, char *uri, 
Evas_Bool update_container, Evas_Bool autoplay);
 
 void eclair_playlist_remove_media_file(Eclair_Playlist *playlist, 
Eclair_Media_File *media_file, Evas_Bool update_container);
 Evas_List *eclair_playlist_remove_media_file_list(Eclair_Playlist *playlist, 
Evas_List *list, Evas_Bool update_container);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/eclair/src/eclair_private.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- eclair_private.h    21 May 2005 10:18:11 -0000      1.15
+++ eclair_private.h    21 May 2005 12:55:23 -0000      1.16
@@ -221,6 +221,7 @@
    Eclair_Meta_Tag_Manager meta_tag_manager;
    Eclair_Cover_Manager cover_manager;
    Eclair_Config config;
+   Evas_Bool start_playing;
 
    //Arguments
    int *argc;




-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to