Enlightenment CVS committal
Author : rephorm
Project : misc
Module : eplayer
Dir : misc/eplayer/src
Modified Files:
callbacks.c interface.c
Log Message:
get that seeker seeking
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- callbacks.c 28 Dec 2003 12:53:45 -0000 1.24
+++ callbacks.c 16 Jan 2004 03:12:23 -0000 1.25
@@ -1,6 +1,7 @@
#include <config.h>
#include <Edje.h>
#include <Esmart/container.h>
+#include <Ecore_X.h>
#include <assert.h>
#include "eplayer.h"
#include "track.h"
@@ -279,3 +280,52 @@
evas_object_del(player->gui.edje);
ui_init_edje(player, src);
}
+
+EDJE_CB(update_seeker) {
+ if (!strcmp(emission, "SEEKER_START"))
+ {
+ player->gui.seeking = 1;
+ }
+ else if (!strcmp(emission, "SEEKER_STOP"))
+ {
+ player->gui.seeking = 0;
+ }
+
+ if (player->gui.seeking)
+ {
+ Evas_Coord x, y, w, h;
+ int ex, ey;
+ PlayListItem *pli = playlist_current_item_get(player->playlist);
+ double pos;
+
+ if (ecore_event_current_type_get() == ECORE_X_EVENT_MOUSE_MOVE)
+ {
+ Ecore_X_Event_Mouse_Move *event;
+
+ event = ecore_event_current_event_get();
+ ex = event->x; ey = event->y;
+ }
+ else if (ecore_event_current_type_get() == ECORE_X_EVENT_MOUSE_BUTTON_DOWN)
+ {
+ Ecore_X_Event_Mouse_Button_Down *event;
+
+ event = ecore_event_current_event_get();
+ ex = event->x; ey = event->y;
+ }
+
+ edje_object_part_geometry_get(player->gui.edje, "seeker_grabber",
+ &x, &y, &w, &h);
+
+ pos = ((double)(ex - x)) / ((double)w);
+ if (pos < 0) pos = 0;
+ if (pos > 1) pos = 1;
+
+ eplayer_playback_stop(player);
+ pli->plugin->set_current_pos(pli->plugin->get_duration() * pos);
+
+ pli->current_pos = pli->duration * pos;
+ track_update_time(player);
+
+ eplayer_playback_start(player, 0);
+ }
+}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- interface.c 16 Jan 2004 01:37:10 -0000 1.30
+++ interface.c 16 Jan 2004 03:12:23 -0000 1.31
@@ -214,7 +214,8 @@
(EdjeCb) cb_repeat_mode_toggle},
{"SWITCH_GROUP", "*",
(EdjeCb) cb_switch_group},
- {"*", "*", (EdjeCb) debug}
+ {"SEEKER*", "*",
+ (EdjeCb) cb_update_seeker}
};
for (i = 0; i < sizeof (cb) / sizeof (EdjeCallback); i++)
@@ -321,6 +322,7 @@
int ui_refresh_seeker(ePlayer *player, double song_pos) {
edje_object_part_drag_value_set(player->gui.edje, "seeker",
song_pos, song_pos);
+ edje_object_thaw(player->gui.edje);
evas_render(player->gui.evas);
return 1;
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs