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