annotate xmms-1.2.10-songpos.patch @ 957:0e60e5d56fdd

Change how the backend emulator library is initialized for libSIDPlay2 and FP, as it seems the engine configuration has some persistence despite reconfiguration between loaded files if same engine object is retained. This caused, for example, 2SID stereo tunes being played "mono" if played after a normal 1-SID tune. Duh.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 20 Nov 2012 22:13:48 +0200
parents 773885f3b723
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
155
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 diff -ur xmms-1.2.10/libxmms/xmmsctrl.c xmms-1.2.10-patched/libxmms/xmmsctrl.c
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 --- xmms-1.2.10/libxmms/xmmsctrl.c Mon Feb 23 22:31:42 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3 +++ xmms-1.2.10-patched/libxmms/xmmsctrl.c Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 @@ -422,6 +422,11 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 remote_send_guint32(session, CMD_JUMP_TO_TIME, pos);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 +void xmms_remote_seek(gint session, gint off)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 +{
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 + remote_send_guint32(session, CMD_SEEK, off);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 +}
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 +
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13 void xmms_remote_get_volume(gint session, gint * vl, gint * vr)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14 {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15 ServerPktHeader pkt_hdr;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 diff -ur xmms-1.2.10/libxmms/xmmsctrl.h xmms-1.2.10-patched/libxmms/xmmsctrl.h
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 --- xmms-1.2.10/libxmms/xmmsctrl.h Wed Jun 11 21:44:17 2003
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18 +++ xmms-1.2.10-patched/libxmms/xmmsctrl.h Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
19 @@ -42,6 +42,7 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
20 void xmms_remote_playlist_clear(gint session);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21 gint xmms_remote_get_output_time(gint session);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 void xmms_remote_jump_to_time(gint session, gint pos);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23 +void xmms_remote_seek(gint session, gint off);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 void xmms_remote_get_volume(gint session, gint * vl, gint * vr);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25 gint xmms_remote_get_main_volume(gint session);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
26 gint xmms_remote_get_balance(gint session);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
27 diff -ur xmms-1.2.10/xmms/controlsocket.c xmms-1.2.10-patched/xmms/controlsocket.c
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28 --- xmms-1.2.10/xmms/controlsocket.c Mon Feb 23 22:31:43 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 +++ xmms-1.2.10-patched/xmms/controlsocket.c Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30 @@ -502,6 +502,10 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31 num < playlist_get_current_length())
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
32 input_seek(num / 1000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
33 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
34 + case CMD_SEEK:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35 + num = *((guint32 *) data);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36 + song_seek(num);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37 + break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
38 case CMD_SET_VOLUME:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
39 v[0] = ((guint32 *) data)[0];
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
40 v[1] = ((guint32 *) data)[1];
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41 Only in xmms-1.2.10-patched/xmms: controlsocket.c.orig
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42 diff -ur xmms-1.2.10/xmms/controlsocket.h xmms-1.2.10-patched/xmms/controlsocket.h
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43 --- xmms-1.2.10/xmms/controlsocket.h Wed Jun 11 21:44:17 2003
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44 +++ xmms-1.2.10-patched/xmms/controlsocket.h Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45 @@ -33,7 +33,7 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
46 CMD_GET_VERSION, CMD_PLAYLIST_ADD, CMD_PLAY, CMD_PAUSE, CMD_STOP,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47 CMD_IS_PLAYING, CMD_IS_PAUSED, CMD_GET_PLAYLIST_POS,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
48 CMD_SET_PLAYLIST_POS, CMD_GET_PLAYLIST_LENGTH, CMD_PLAYLIST_CLEAR,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
49 - CMD_GET_OUTPUT_TIME, CMD_JUMP_TO_TIME, CMD_GET_VOLUME,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50 + CMD_GET_OUTPUT_TIME, CMD_JUMP_TO_TIME, CMD_SEEK, CMD_GET_VOLUME,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51 CMD_SET_VOLUME, CMD_GET_SKIN, CMD_SET_SKIN, CMD_GET_PLAYLIST_FILE,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52 CMD_GET_PLAYLIST_TITLE, CMD_GET_PLAYLIST_TIME, CMD_GET_INFO,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53 CMD_GET_EQ_DATA, CMD_SET_EQ_DATA, CMD_PL_WIN_TOGGLE,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
54 diff -ur xmms-1.2.10/xmms/input.c xmms-1.2.10-patched/xmms/input.c
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55 --- xmms-1.2.10/xmms/input.c Fri Aug 8 20:10:44 2003
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56 +++ xmms-1.2.10-patched/xmms/input.c Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
57 @@ -306,6 +306,7 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
58 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
59 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
60 ip_data->playing = FALSE;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
61 + set_song_position(0, 0, 0);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
62 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64 void input_pause(void)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65 diff -ur xmms-1.2.10/xmms/main.c xmms-1.2.10-patched/xmms/main.c
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
66 --- xmms-1.2.10/xmms/main.c Mon Feb 23 22:31:43 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67 +++ xmms-1.2.10-patched/xmms/main.c Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
68 @@ -678,6 +678,55 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
69 g_free(filename);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
70 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72 +/*\
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73 +|*| Separate song position stuff, for songs without a time length,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
74 +|*| but that want to be able to seek anyway.
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
75 +|*|
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
76 +|*| Have the input plugin's get_time() function call
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77 +|*| set_song_position(int pos, int first, int last)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
78 +|*| to set the slider. If the slider is dragged,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
79 +|*| the plugin's seek() is called with the position.
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
80 +|*| (If last <= first the feature is turned off)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
81 +\*/
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
82 +
405
773885f3b723 int -> gint
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
83 +static gint song_pos_cur, song_pos_first, song_pos_num = 0;
155
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
84 +
405
773885f3b723 int -> gint
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
85 +void set_song_position(gint pos, gint first, gint last)
155
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 +{
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
87 + last -= first;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
88 + song_pos_cur = pos;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
89 + song_pos_first = first;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
90 + song_pos_num = last;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
91 + if (last <= 0) return;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
92 + pos -= first;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
93 + if (pos > last) pos = last;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
94 + if (cfg.player_shaded)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
95 + show_widget(mainwin_sposition);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
96 + show_widget(mainwin_position);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
97 + hslider_set_position(mainwin_position, (pos * 219) / last);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
98 + hslider_set_position(mainwin_sposition, ((pos * 12) / last) + 1);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
99 +}
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
100 +
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
101 +void song_seek(gint off)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
102 +{
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
103 + if (!get_input_playing()) return;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
104 + if (song_pos_num > 0) {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
105 + gint newpos = 0;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
106 + if (off < 0) newpos = song_pos_cur - 1;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
107 + else if (off > 0) newpos = song_pos_cur + 1;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
108 + if (newpos < song_pos_first) newpos = song_pos_first;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
109 + if (newpos > song_pos_first + song_pos_num)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110 + newpos = song_pos_first + song_pos_num;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
111 + input_seek(newpos);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
112 + } else {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
113 + gint newpos = (input_get_time() / 1000) + (off / 1000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
114 + gint pcl = playlist_get_current_length() / 1000;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
115 + if (newpos >= pcl) newpos = pcl - 1;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
116 + if (newpos < 0) newpos = 0;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
117 + input_seek(newpos);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
118 + }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
119 +}
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
120 +
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
121 gchar *xmms_get_gentitle_format(void)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
122 {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
123 return cfg.gentitle_format;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
124 @@ -757,7 +806,9 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
125 show_widget(mainwin_stime_min);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126 show_widget(mainwin_stime_sec);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
127
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
128 - if (get_input_playing() && playlist_get_current_length() != -1)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
129 + if (get_input_playing() &&
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130 + ((playlist_get_current_length() != -1) ||
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
131 + (song_pos_num > 0)))
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
132 show_widget(mainwin_sposition);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
133
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
134 mainwin_shade->pb_ny = mainwin_shade->pb_py = 27;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
135 @@ -1079,7 +1130,7 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
136 show_widget(mainwin_sec_num);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
137 if (!get_input_paused())
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
138 playstatus_set_status(mainwin_playstatus, STATUS_PLAY);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
139 - if (playlist_get_current_length() != -1)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
140 + if ((playlist_get_current_length() != -1) || (song_pos_num > 0))
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
141 {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
142 if (cfg.player_shaded)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
143 show_widget(mainwin_sposition);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
144 @@ -1398,13 +1449,19 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
145 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
146 case GDK_Left:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
147 case GDK_KP_Left:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
148 +/*
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
149 if(playlist_get_current_length() != -1)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
150 input_seek(CLAMP(input_get_time() - 5000, 0, playlist_get_current_length()) / 1000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
151 +*/
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
152 + song_seek(-5000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
153 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
154 case GDK_Right:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
155 case GDK_KP_Right:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
156 +/*
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
157 if(playlist_get_current_length() != -1)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
158 input_seek(CLAMP(input_get_time() + 5000, 0, playlist_get_current_length()) / 1000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
159 +*/
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
160 + song_seek(+5000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
161 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
162 default:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
163 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
164 @@ -2084,6 +2141,16 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
165
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
166 pos--;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
167
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
168 + if (song_pos_num > 0) {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
169 + time = ((song_pos_num * pos + 6) / 12) + song_pos_first;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
170 + tmp = g_strdup_printf("%d", time);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
171 + textbox_set_text(mainwin_stime_min, tmp);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
172 + g_free(tmp);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
173 + tmp = g_strdup_printf("%d", song_pos_first + song_pos_num);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
174 + textbox_set_text(mainwin_stime_sec, tmp);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
175 + g_free(tmp);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
176 + return;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
177 + }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
178 time = ((playlist_get_current_length() / 1000) * pos) / 12;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
179 if (cfg.timer_mode == TIMER_REMAINING)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
180 {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
181 @@ -2105,6 +2172,10 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
182
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
183 void mainwin_spos_release_cb(gint pos)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
184 {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
185 + if (song_pos_num > 0) {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
186 + input_seek(((song_pos_num * (pos - 1) + 6) / 12) + song_pos_first);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
187 + return;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
188 + }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
189 input_seek(((playlist_get_current_length() / 1000) * (pos - 1)) / 12);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
190 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
191
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
192 @@ -2113,6 +2184,14 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
193 gint length, time;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
194 gchar *buf;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
195
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
196 + if (song_pos_num > 0) {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
197 + time = ((song_pos_num * pos + 110) / 219) + song_pos_first;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
198 + buf = g_strdup_printf("JUMP TO: %d/%d", time,
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
199 + song_pos_num + song_pos_first);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
200 + mainwin_lock_info_text(buf);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
201 + g_free(buf);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
202 + return;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
203 + }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
204 length = playlist_get_current_length() / 1000;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
205 time = (length * pos) / 219;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
206 buf = g_strdup_printf(_("SEEK TO: %d:%-2.2d/%d:%-2.2d (%d%%)"), time / 60, time % 60, length / 60, length % 60, (length != 0) ? (time * 100) / length : 0);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
207 @@ -2124,6 +2203,12 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
208 {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
209 int length, time;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
210
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
211 + if (song_pos_num > 0) {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
212 + time = ((song_pos_num * pos + 110) / 219) + song_pos_first;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
213 + input_seek(time);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
214 + mainwin_release_info_text();
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
215 + return;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
216 + }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
217 length = playlist_get_current_length() / 1000;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
218 time = (length * pos) / 219;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
219 input_seek(time);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
220 @@ -2530,12 +2615,10 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
221 case MAINWIN_GENERAL_STOPFADE:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
222 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
223 case MAINWIN_GENERAL_BACK5SEC:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
224 - if (get_input_playing() && playlist_get_current_length() != -1)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
225 - input_seek((((input_get_time() / 1000) - 5 >= 0) ? (input_get_time() / 1000) - 5 : 0));
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
226 + song_seek(-5000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
227 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
228 case MAINWIN_GENERAL_FWD5SEC:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
229 - if (get_input_playing() && playlist_get_current_length() != -1)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
230 - input_seek(((((input_get_time() / 1000) + 5) < (playlist_get_current_length() / 1000)) ? ((input_get_time() / 1000) + 5) : ((playlist_get_current_length() / 1000) - 1)));
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
231 + song_seek(+5000);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
232 break;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
233 case MAINWIN_GENERAL_START:
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
234 playlist_set_position(0);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
235 @@ -3147,7 +3230,7 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
236 hslider_set_position(mainwin_sposition, ((time * 12) / length) + 1);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
237 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
238 }
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
239 - else
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
240 + else if (song_pos_num <= 0)
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
241 {
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
242 hslider_set_position(mainwin_position, 0);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
243 hslider_set_position(mainwin_sposition, 1);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
244 Only in xmms-1.2.10-patched/xmms: main.c.orig
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
245 diff -ur xmms-1.2.10/xmms/main.h xmms-1.2.10-patched/xmms/main.h
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
246 --- xmms-1.2.10/xmms/main.h Sun Dec 7 04:06:43 2003
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
247 +++ xmms-1.2.10-patched/xmms/main.h Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
248 @@ -85,6 +85,7 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
249 void mainwin_play_pushed(void);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
250 void mainwin_stop_pushed(void);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
251 void mainwin_eject_pushed(void);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
252 +void song_seek(gint off);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
253
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
254 void mainwin_set_back_pixmap(void);
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
255
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
256 diff -ur xmms-1.2.10/xmms/plugin.h xmms-1.2.10-patched/xmms/plugin.h
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
257 --- xmms-1.2.10/xmms/plugin.h Fri Jul 6 01:35:01 2001
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
258 +++ xmms-1.2.10-patched/xmms/plugin.h Tue Mar 9 23:05:33 2004
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
259 @@ -154,4 +154,6 @@
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
260 void (*render_freq)(gint16 freq_data[2][256]); /* Render the freq data, don't do anything time consuming in here */
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
261 } VisPlugin;
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
262
405
773885f3b723 int -> gint
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
263 +void set_song_position(gint pos, gint first, gint last);
155
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
264 +
52ad7e234a2c Added songpos-patch
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
265 #endif