|
From: <enl...@li...> - 2005-05-21 12:55:31
|
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;
|