diff options
Diffstat (limited to 'meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch')
| -rw-r--r-- | meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch b/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch deleted file mode 100644 index 09624503b3..0000000000 --- a/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch +++ /dev/null | |||
| @@ -1,133 +0,0 @@ | |||
| 1 | From 751505501e0db31cf766ec0ae95a6968b4d1eb93 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alban Browaeys <prahal@yahoo.com> | ||
| 3 | Date: Wed, 5 Sep 2012 02:58:26 +0000 | ||
| 4 | Subject: [PATCH] always use position as percent and define a 1 seconds | ||
| 5 | tolerance. | ||
| 6 | |||
| 7 | Fix "reverb" effect: ie loop between setting the slider to match | ||
| 8 | the position and handling slider to position (seek). | ||
| 9 | --- | ||
| 10 | data/themes/default.edc | 8 +++----- | ||
| 11 | src/bin/win.c | 28 ++++++++++++++++++++++------ | ||
| 12 | 2 files changed, 25 insertions(+), 11 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/data/themes/default.edc b/data/themes/default.edc | ||
| 15 | index ebf8ba4..7a906b1 100644 | ||
| 16 | --- a/data/themes/default.edc | ||
| 17 | +++ b/data/themes/default.edc | ||
| 18 | @@ -186,7 +186,6 @@ collections { | ||
| 19 | group { | ||
| 20 | name: "nowplaying"; | ||
| 21 | script { | ||
| 22 | - public cur_length; | ||
| 23 | public mute; | ||
| 24 | |||
| 25 | public get_time_str(Float:time, time_str[6]) | ||
| 26 | @@ -201,16 +200,15 @@ collections { | ||
| 27 | new Float:position = getfarg(2); | ||
| 28 | new Float:length = getfarg(3); | ||
| 29 | if (length > 0) | ||
| 30 | - external_param_set_float(PART:"progress.slider", "value", position / length * 100); | ||
| 31 | + external_param_set_float(PART:"progress.slider", "value", position * 100); | ||
| 32 | else | ||
| 33 | external_param_set_float(PART:"progress.slider", "value", 0); | ||
| 34 | |||
| 35 | new time_str[6]; | ||
| 36 | - get_time_str(position, time_str); | ||
| 37 | + get_time_str(position * length, time_str); | ||
| 38 | set_text(PART:"ejy.text.current_time", time_str); | ||
| 39 | get_time_str(length, time_str); | ||
| 40 | set_text(PART:"ejy.text.total_time", time_str); | ||
| 41 | - set_float(cur_length, length); | ||
| 42 | } else if (type == MSG_INT && id == MSG_SHUFFLE) { | ||
| 43 | external_param_set_bool(PART:"buttons.shuffle", "state", getarg(2)); | ||
| 44 | } else if (type == MSG_INT && id == MSG_LOOP) { | ||
| 45 | @@ -689,7 +687,7 @@ collections { | ||
| 46 | source: "progress.slider"; | ||
| 47 | signal: "changed"; | ||
| 48 | script { | ||
| 49 | - send_message(MSG_FLOAT, MSG_POSITION, (external_param_get_float(PART:"progress.slider", "value") * get_float(cur_length) / 100)); | ||
| 50 | + send_message(MSG_FLOAT, MSG_POSITION, (external_param_get_float(PART:"progress.slider", "value") / 100)); | ||
| 51 | } | ||
| 52 | } | ||
| 53 | program { | ||
| 54 | diff --git a/src/bin/win.c b/src/bin/win.c | ||
| 55 | index 2f65953..428e268 100644 | ||
| 56 | --- a/src/bin/win.c | ||
| 57 | +++ b/src/bin/win.c | ||
| 58 | @@ -194,8 +194,8 @@ _win_play_eval(Win *w) | ||
| 59 | { | ||
| 60 | Edje_Message_Float_Set *mf; | ||
| 61 | |||
| 62 | - w->play.position = emotion_object_position_get(w->emotion); | ||
| 63 | w->play.length = emotion_object_play_length_get(w->emotion); | ||
| 64 | + w->play.position = emotion_object_position_get(w->emotion) / w->play.length; | ||
| 65 | |||
| 66 | if ((w->song) && (w->song->length != (int)w->play.length)) | ||
| 67 | db_song_length_set(w->db, w->song, w->play.length); | ||
| 68 | @@ -542,8 +542,14 @@ _win_edje_msg(void *data, Evas_Object *o __UNUSED__, Edje_Message_Type type, int | ||
| 69 | else | ||
| 70 | { | ||
| 71 | Edje_Message_Float *m = msg; | ||
| 72 | + | ||
| 73 | + if ((((m->val - w->play.position) * w->play.length) < 1.0) | ||
| 74 | + && (((w->play.position - m->val) * w->play.length) < 1.0)) | ||
| 75 | + return; | ||
| 76 | + | ||
| 77 | w->play.position = m->val; | ||
| 78 | - emotion_object_position_set(w->emotion, w->play.position); | ||
| 79 | + emotion_object_position_set(w->emotion, w->play.position | ||
| 80 | + * w->play.length); | ||
| 81 | ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL); | ||
| 82 | } | ||
| 83 | break; | ||
| 84 | @@ -617,16 +623,21 @@ enjoy_control_seek(uint64_t position) | ||
| 85 | { | ||
| 86 | Win *w = &_win; | ||
| 87 | double seek_to; | ||
| 88 | + double new_pos = w->play.length / ((double)position / 1e6); | ||
| 89 | |||
| 90 | if (!w->db) return; | ||
| 91 | - seek_to = w->play.position + w->play.length / ((double)position / 1e6); | ||
| 92 | + | ||
| 93 | + if ((((new_pos - w->play.position) * w->play.length) < 1.0) | ||
| 94 | + && (((w->play.position - new_pos) * w->play.length) < 1.0)) return; | ||
| 95 | + | ||
| 96 | + seek_to = w->play.position + new_pos; | ||
| 97 | if (seek_to <= 0.0) | ||
| 98 | seek_to = 0.0; | ||
| 99 | else if (seek_to >= 1.0) | ||
| 100 | seek_to = 1.0; | ||
| 101 | |||
| 102 | w->play.position = seek_to; | ||
| 103 | - emotion_object_position_set(w->emotion, w->play.position); | ||
| 104 | + emotion_object_position_set(w->emotion, w->play.position * w->play.length); | ||
| 105 | ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL); | ||
| 106 | } | ||
| 107 | |||
| 108 | @@ -692,15 +703,20 @@ EAPI void | ||
| 109 | enjoy_position_set(int32_t position) | ||
| 110 | { | ||
| 111 | Win *w = &_win; | ||
| 112 | + double new_pos = w->play.length / ((double)position / 1e6); | ||
| 113 | |||
| 114 | if (!w->db) return; | ||
| 115 | - w->play.position = w->play.length / ((double)position / 1e6); | ||
| 116 | + | ||
| 117 | + if ((((new_pos - w->play.position) * w->play.length) < 1.0) | ||
| 118 | + && (((w->play.position - new_pos) * w->play.length) < 1.0)) return; | ||
| 119 | + | ||
| 120 | + w->play.position = new_pos; | ||
| 121 | if (w->play.position < 0.0) | ||
| 122 | w->play.position = 0.0; | ||
| 123 | else if (w->play.position > 1.0) | ||
| 124 | w->play.position = 1.0; | ||
| 125 | |||
| 126 | - emotion_object_position_set(w->emotion, w->play.position); | ||
| 127 | + emotion_object_position_set(w->emotion, w->play.position * w->play.length); | ||
| 128 | ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL); | ||
| 129 | } | ||
| 130 | |||
| 131 | -- | ||
| 132 | 1.8.5.2 | ||
| 133 | |||
