Enlightenment CVS committal
Author : tsauerbeck
Project : misc
Module : eplayer
Dir : misc/eplayer/src
Modified Files:
Makefile.am callbacks.c callbacks.h eplayer.c interface.c
interface.h
Log Message:
Cleaned up edje callback handling, prepared for ewl filedialog inclusion
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/Makefile.am,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- Makefile.am 1 Nov 2003 20:24:11 -0000 1.9
+++ Makefile.am 28 Dec 2003 12:53:45 -0000 1.10
@@ -1,9 +1,10 @@
-# $Id: Makefile.am,v 1.9 2003/11/01 20:24:11 tsauerbeck Exp $
+# $Id: Makefile.am,v 1.10 2003/12/28 12:53:45 tsauerbeck Exp $
SUBDIRS = input output
AM_CFLAGS = @PTHREAD_CFLAGS@ \
- @ECORE_CFLAGS@ @EVAS_CFLAGS@ @EDJE_CFLAGS@ @ESMART_CFLAGS@
+ @ECORE_CFLAGS@ @EVAS_CFLAGS@ @EDJE_CFLAGS@ @ESMART_CFLAGS@ \
+ @EWL_CFLAGS@
bin_PROGRAMS = eplayer
@@ -16,4 +17,4 @@
utils.c utils.h
eplayer_LDADD = @PTHREAD_LIBS@ @DL_LIBS@ \
- @ECORE_LIBS@ @EVAS_LIBS@ @EDJE_LIBS@ @ESMART_LIBS@
+ @ECORE_LIBS@ @EVAS_LIBS@ @EDJE_LIBS@ @ESMART_LIBS@ @EWL_LIBS@
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- callbacks.c 28 Dec 2003 09:57:14 -0000 1.23
+++ callbacks.c 28 Dec 2003 12:53:45 -0000 1.24
@@ -6,6 +6,7 @@
#include "track.h"
#include "interface.h"
#include "utils.h"
+#include "callbacks.h"
typedef enum {
PLAYBACK_STATE_STOPPED,
@@ -24,8 +25,7 @@
* @param o
* @param event
*/
-void cb_play(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(play) {
debug(DEBUG_LEVEL_INFO, "Play callback entered\n");
switch (state) {
@@ -53,8 +53,7 @@
* @param o
* @param event
*/
-void cb_stop(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(stop) {
debug(DEBUG_LEVEL_INFO, "Stop callback entered\n");
eplayer_playback_stop(player);
@@ -70,8 +69,7 @@
* @param o
* @param event
*/
-void cb_pause(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(pause) {
debug(DEBUG_LEVEL_INFO, "Pause callback entered\n");
switch (state) {
@@ -101,8 +99,7 @@
* @param o
* @param event
*/
-void cb_track_next(ePlayer *player, Evas_Object *o,
- const char *emission, const char *src) {
+EDJE_CB(track_next) {
int play = 1;
debug(DEBUG_LEVEL_INFO, "Next File Called\n");
@@ -132,8 +129,7 @@
* @param o
* @param event
*/
-void cb_track_prev(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(track_prev) {
debug(DEBUG_LEVEL_INFO, "Previous File Called\n");
/* first item on the list: do nothing */
@@ -149,8 +145,7 @@
state = PLAYBACK_STATE_PLAYING;
}
-void cb_volume_raise(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(volume_raise) {
int left = 0, right = 0;
debug(DEBUG_LEVEL_INFO, "Raising volume\n");
@@ -162,8 +157,7 @@
ui_refresh_volume(player);
}
-void cb_volume_lower(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(volume_lower) {
int left = 0, right = 0;
debug(DEBUG_LEVEL_INFO, "Lowering volume\n");
@@ -175,38 +169,28 @@
ui_refresh_volume(player);
}
-void cb_time_display_toggle(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(time_display_toggle) {
player->cfg.time_display = !player->cfg.time_display;
track_update_time(player);
}
-void cb_repeat_mode_toggle(ePlayer *player, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(repeat_mode_toggle) {
player->cfg.repeat = !player->cfg.repeat;
}
-void cb_playlist_scroll_up(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
-
+EDJE_CB(playlist_scroll_up) {
/* it's * 3 because we're scrolling 3 elements at once */
e_container_scroll(player->gui.playlist,
player->gui.playlist_font_size * 3);
}
-void cb_playlist_scroll_down(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
-
+EDJE_CB(playlist_scroll_down) {
/* it's * 3 because we're scrolling 3 elements at once */
e_container_scroll(player->gui.playlist,
player->gui.playlist_font_size * -3);
}
-void cb_playlist_item_play(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
+EDJE_CB(playlist_item_play) {
PlayListItem *pli = evas_object_data_get(obj, "PlayListItem");
eplayer_playback_stop(player);
@@ -216,10 +200,8 @@
state = PLAYBACK_STATE_PLAYING;
}
-void cb_playlist_item_remove(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(playlist_item_remove) {
int ok = 0;
- ePlayer *player = udata;
PlayListItem *pli = evas_object_data_get(obj, "PlayListItem");
e_container_element_remove(player->gui.playlist, obj);
@@ -242,9 +224,7 @@
playlist_remove_item(player->playlist, pli);
}
-void cb_playlist_item_selected(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
+EDJE_CB(playlist_item_selected) {
Evas_List *items = e_container_elements_get(player->gui.playlist);
Evas_List *l;
@@ -254,9 +234,7 @@
"PLAYLIST_ITEM_UNSELECTED", "");
}
-void cb_seek_forward(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
+EDJE_CB(seek_forward) {
PlayListItem *pli = playlist_current_item_get(player->playlist);
debug(DEBUG_LEVEL_INFO, "Seeking forward\n");
@@ -270,9 +248,7 @@
state = PLAYBACK_STATE_PLAYING;
}
-void cb_seek_backward(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
+EDJE_CB(seek_backward) {
PlayListItem *pli = playlist_current_item_get(player->playlist);
int cur_time = pli->plugin->get_current_pos();
@@ -291,22 +267,15 @@
state = PLAYBACK_STATE_PLAYING;
}
-void cb_eplayer_quit(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
+EDJE_CB(eplayer_quit) {
ecore_main_loop_quit();
}
-void cb_eplayer_raise(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
-
+EDJE_CB(eplayer_raise) {
ecore_evas_raise(player->gui.ee);
}
-void cb_switch_group(void *udata, Evas_Object *obj,
- const char *emission, const char *src) {
- ePlayer *player = udata;
-
+EDJE_CB(switch_group) {
evas_object_del(player->gui.edje);
ui_init_edje(player, src);
}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- callbacks.h 28 Dec 2003 09:57:14 -0000 1.11
+++ callbacks.h 28 Dec 2003 12:53:45 -0000 1.12
@@ -3,53 +3,36 @@
#include <Evas.h>
-void cb_play(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_pause(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_stop(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_track_next(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_track_prev(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_time_display_toggle(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_repeat_mode_toggle(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_volume_raise(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_volume_lower(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_playlist_scroll_up(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_playlist_scroll_down(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_playlist_item_play(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_playlist_item_remove(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_playlist_item_selected(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_seek_forward(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_seek_backward(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-
-void cb_eplayer_quit(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
-void cb_eplayer_raise(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
+#define EDJE_CB(name) \
+ void cb_##name(ePlayer *player, Evas_Object *obj, \
+ const char *emission, const char *src)
-void cb_switch_group(void *udata, Evas_Object *obj,
- const char *emission, const char *src);
+EDJE_CB(play);
+EDJE_CB(pause);
+EDJE_CB(stop);
+
+EDJE_CB(seek_forward);
+EDJE_CB(seek_backward);
+
+EDJE_CB(track_next);
+EDJE_CB(track_prev);
+
+EDJE_CB(time_display_toggle);
+EDJE_CB(repeat_mode_toggle);
+
+EDJE_CB(volume_raise);
+EDJE_CB(volume_lower);
+
+EDJE_CB(playlist_scroll_up);
+EDJE_CB(playlist_scroll_down);
+
+EDJE_CB(playlist_item_play);
+EDJE_CB(playlist_item_remove);
+EDJE_CB(playlist_item_selected);
+
+EDJE_CB(eplayer_quit);
+EDJE_CB(eplayer_raise);
+EDJE_CB(switch_group);
#endif
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- eplayer.c 9 Dec 2003 18:42:19 -0000 1.23
+++ eplayer.c 28 Dec 2003 12:53:45 -0000 1.24
@@ -266,8 +266,7 @@
eplayer_free(player);
- ecore_evas_shutdown();
- ecore_shutdown();
+ ui_deinit();
return 0;
}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- interface.c 28 Dec 2003 09:57:14 -0000 1.24
+++ interface.c 28 Dec 2003 12:53:45 -0000 1.25
@@ -3,12 +3,22 @@
#include "eplayer.h"
#include <Esmart/container.h>
#include <Edje.h>
+#include <Ewl.h>
#include "callbacks.h"
#include "track.h"
#include "utils.h"
#include "interface.h"
+typedef void (*EdjeCb)(void *udata, Evas_Object *o,
+ const char *emission, const char *source);
+typedef struct {
+ char *name;
+ char *src;
+ EdjeCb func;
+} EdjeCallback;
+
static void setup_playlist(ePlayer *player);
+static void register_callbacks(ePlayer *player);
static int app_signal_exit(void *data, int type, void *event) {
debug(DEBUG_LEVEL_INFO, "Exit called, shutting down\n");
@@ -44,8 +54,10 @@
ecore_init();
ecore_evas_init();
+ ewl_init(0, NULL);
ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, app_signal_exit,
NULL);
+
if (!strcasecmp(player->cfg.evas_engine, "gl"))
player->gui.ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0,
@@ -85,6 +97,12 @@
return 1;
}
+void ui_deinit() {
+ ewl_deinit();
+ ecore_evas_shutdown();
+ ecore_shutdown();
+}
+
void ui_fill_track_info(ePlayer *player) {
PlayListItem *pli;
@@ -137,59 +155,51 @@
ui_fill_playlist(player);
ui_fill_track_info(player);
ui_refresh_volume(player);
-
- /*** Edje Callbacks ***************************/
- edje_object_signal_callback_add(player->gui.edje,
- "QUIT", "quit",
- cb_eplayer_quit, player);
- edje_object_signal_callback_add(player->gui.edje,
- "RAISE", "*",
- cb_eplayer_raise, player);
-
- edje_object_signal_callback_add(player->gui.edje,
- "PLAY_PREVIOUS", "previous_button",
- cb_track_prev, player);
- edje_object_signal_callback_add(player->gui.edje,
- "PLAY_NEXT", "next_button",
- cb_track_next, player);
- edje_object_signal_callback_add(player->gui.edje,
- "SEEK_BACK", "seekback_button",
- cb_seek_backward, player);
- edje_object_signal_callback_add(player->gui.edje,
- "SEEK_FORWARD", "seekforward_button",
- cb_seek_forward, player);
- edje_object_signal_callback_add(player->gui.edje,
- "PLAY", "play_button",
- cb_play, player);
- edje_object_signal_callback_add(player->gui.edje,
- "PAUSE", "pause_button",
- cb_pause, player);
- edje_object_signal_callback_add(player->gui.edje,
- "STOP", "stop_button",
- cb_stop, player);
-
- edje_object_signal_callback_add(player->gui.edje,
- "VOL_INCR", "vol_incr_button",
- cb_volume_raise, player);
- edje_object_signal_callback_add(player->gui.edje,
- "VOL_DECR", "vol_decr_button",
- cb_volume_lower, player);
-
- edje_object_signal_callback_add(player->gui.edje,
- "TOGGLE_TIME_DISPLAY_MODE", "time_text",
- cb_time_display_toggle, player);
-
- edje_object_signal_callback_add(player->gui.edje,
- "TOGGLE_REPEAT_MODE", "repeat_mode",
- cb_repeat_mode_toggle, player);
-
- edje_object_signal_callback_add(player->gui.edje,
- "SWITCH_GROUP", "*",
- cb_switch_group, player);
+
+ register_callbacks(player);
return 1;
}
+static void register_callbacks(ePlayer *player) {
+ Evas_Object *e = player->gui.edje;
+ int i;
+ EdjeCallback cb[] = {
+ {"QUIT", "quit",
+ (EdjeCb) cb_eplayer_quit},
+ {"RAISE", "*",
+ (EdjeCb) cb_eplayer_raise},
+ {"PLAY_PREVIOUS", "previous_button",
+ (EdjeCb) cb_track_prev},
+ {"PLAY_NEXT", "next_button",
+ (EdjeCb) cb_track_next},
+ {"SEEK_BACK", "seekback_button",
+ (EdjeCb) cb_seek_backward},
+ {"SEEK_FORWARD", "seekforward_button",
+ (EdjeCb) cb_seek_forward},
+ {"PLAY", "play_button",
+ (EdjeCb) cb_play},
+ {"PAUSE", "pause_button",
+ (EdjeCb) cb_pause},
+ {"STOP", "stop_button",
+ (EdjeCb) cb_stop},
+ {"VOL_INCR", "vol_incr_button",
+ (EdjeCb) cb_volume_raise},
+ {"VOL_DECR", "vol_decr_button",
+ (EdjeCb) cb_volume_lower},
+ {"TOGGLE_TIME_DISPLAY_MODE", "time_text",
+ (EdjeCb) cb_time_display_toggle},
+ {"TOGGLE_REPEAT_MODE", "repeat_mode",
+ (EdjeCb) cb_repeat_mode_toggle},
+ {"SWITCH_GROUP", "*",
+ (EdjeCb) cb_switch_group},
+ };
+
+ for (i = 0; i < sizeof (cb) / sizeof (EdjeCallback); i++)
+ edje_object_signal_callback_add(e, cb[i].name, cb[i].src,
+ cb[i].func, player);
+}
+
static void setup_playlist(ePlayer *player) {
/* add the playlist container */
player->gui.playlist = e_container_new(player->gui.evas);
@@ -238,15 +248,15 @@
/* add playlist item callbacks */
edje_object_signal_callback_add(o, "PLAYLIST_SCROLL_UP", "",
- cb_playlist_scroll_up, player);
+ (EdjeCb) cb_playlist_scroll_up,
player);
edje_object_signal_callback_add(o, "PLAYLIST_SCROLL_DOWN", "",
- cb_playlist_scroll_down, player);
+ (EdjeCb) cb_playlist_scroll_down,
player);
edje_object_signal_callback_add(o, "PLAYLIST_ITEM_PLAY", "",
- cb_playlist_item_play, player);
+ (EdjeCb) cb_playlist_item_play,
player);
edje_object_signal_callback_add(o, "PLAYLIST_ITEM_SELECTED", "",
- cb_playlist_item_selected, player);
+ (EdjeCb) cb_playlist_item_selected, player);
edje_object_signal_callback_add(o, "PLAYLIST_ITEM_REMOVE", "",
- cb_playlist_item_remove, player);
+ (EdjeCb) cb_playlist_item_remove, player);
}
void ui_fill_playlist(ePlayer *player) {
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- interface.h 7 Dec 2003 11:53:10 -0000 1.6
+++ interface.h 28 Dec 2003 12:53:45 -0000 1.7
@@ -5,6 +5,7 @@
int ui_init(ePlayer *player);
int ui_init_edje(ePlayer *player, const char *name);
+void ui_deinit();
void ui_fill_track_info(ePlayer *player);
void ui_fill_playlist(ePlayer *player);
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs