rpms/xmms/devel xmms-1.2.11-is_quitting.patch, NONE, 1.1 xmms.spec, 1.42, 1.43 xmms-1.2.10-crossfade-0.3.9.patch, 1.1, NONE
Matthias Saou
thias at fedoraproject.org
Mon Sep 14 21:32:53 UTC 2009
Author: thias
Update of /cvs/extras/rpms/xmms/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8663
Modified Files:
xmms.spec
Added Files:
xmms-1.2.11-is_quitting.patch
Removed Files:
xmms-1.2.10-crossfade-0.3.9.patch
Log Message:
Update crossfade patch to the latest version (#518176).
xmms-1.2.11-is_quitting.patch:
input.c | 8 ++++++++
input.h | 1 +
main.c | 5 ++++-
playlist.c | 33 ++++++++++++++++++++++++---------
4 files changed, 37 insertions(+), 10 deletions(-)
--- NEW FILE xmms-1.2.11-is_quitting.patch ---
diff -Naupr xmms-1.2.11.orig/xmms/input.c xmms-1.2.11/xmms/input.c
--- xmms-1.2.11.orig/xmms/input.c 2005-05-15 02:01:21.000000000 +0200
+++ xmms-1.2.11/xmms/input.c 2009-09-14 22:17:57.756115021 +0200
@@ -286,6 +286,14 @@ void input_seek(int time)
}
}
+gboolean input_stopped_for_restart = FALSE; /* crossfade */
+void input_stop_for_restart() /* crossfade */
+{
+ input_stopped_for_restart = TRUE;
+ input_stop();
+ input_stopped_for_restart = FALSE;
+}
+
void input_stop(void)
{
if (ip_data->playing && get_current_input_plugin())
diff -Naupr xmms-1.2.11.orig/xmms/input.h xmms-1.2.11/xmms/input.h
--- xmms-1.2.11.orig/xmms/input.h 2000-02-16 22:05:57.000000000 +0100
+++ xmms-1.2.11/xmms/input.h 2009-09-14 22:17:57.757114619 +0200
@@ -34,6 +34,7 @@ InputVisType input_get_vis_type();
gboolean input_check_file(gchar * filename);
void input_play(char *filename);
void input_stop(void);
+void input_stop_for_restart(void);
void input_pause(void);
int input_get_time(void);
void input_set_eq(int on, float preamp, float *bands);
diff -Naupr xmms-1.2.11.orig/xmms/main.c xmms-1.2.11/xmms/main.c
--- xmms-1.2.11.orig/xmms/main.c 2006-07-16 15:40:04.000000000 +0200
+++ xmms-1.2.11/xmms/main.c 2009-09-14 22:17:57.759114418 +0200
@@ -888,8 +888,10 @@ void mainwin_shade_toggle(void)
mainwin_set_shade(!cfg.player_shaded);
}
+gboolean is_quitting = FALSE; /* crossfade */
void mainwin_quit_cb(void)
{
+ is_quitting = TRUE; /* crossfade */
input_stop();
gtk_widget_hide(equalizerwin);
gtk_widget_hide(playlistwin);
@@ -1540,7 +1542,8 @@ static void mainwin_jump_to_file_real_cb
int *pos;
if (get_input_playing())
- input_stop();
+ input_stop_for_restart();
+
pos = gtk_clist_get_row_data(clist, GPOINTER_TO_INT(clist->selection->data));
playlist_set_position(*pos);
playlist_play();
diff -Naupr xmms-1.2.11.orig/xmms/playlist.c xmms-1.2.11/xmms/playlist.c
--- xmms-1.2.11.orig/xmms/playlist.c 2007-11-16 22:51:30.000000000 +0100
+++ xmms-1.2.11/xmms/playlist.c 2009-09-14 22:17:57.763114547 +0200
@@ -78,9 +78,10 @@ void playlist_clear(void)
{
GList *node;
PlaylistEntry *entry;
-
+
+ /* always assume that there is another song comming up */
if (get_input_playing())
- input_stop();
+ input_stop_for_restart();
PL_LOCK();
if (playlist)
@@ -142,7 +143,7 @@ void playlist_delete_node(GList *node, g
if (get_input_playing())
{
PL_UNLOCK();
- input_stop();
+ input_stop_for_restart();
PL_LOCK();
*restart_playing = TRUE;
}
@@ -583,7 +584,7 @@ void playlist_play(void)
}
if (get_input_playing())
- input_stop();
+ input_stop_for_restart();
vis_clear_data(mainwin_vis);
vis_clear_data(playlistwin_vis);
@@ -681,7 +682,7 @@ void playlist_next(void)
{
/* We need to stop before changing playlist_position */
PL_UNLOCK();
- input_stop();
+ input_stop_for_restart();
PL_LOCK();
restart_playing = TRUE;
}
@@ -736,7 +737,7 @@ void playlist_prev(void)
{
/* We need to stop before changing playlist_position */
PL_UNLOCK();
- input_stop();
+ input_stop_for_restart();
PL_LOCK();
restart_playing = TRUE;
}
@@ -924,7 +925,7 @@ void playlist_set_position(int pos)
{
/* We need to stop before changing playlist_position */
PL_UNLOCK();
- input_stop();
+ input_stop_for_restart();
PL_LOCK();
restart_playing = TRUE;
}
@@ -951,11 +952,25 @@ void playlist_set_position(int pos)
void playlist_eof_reached(void)
{
GList *plist_pos_list;
-
- input_stop();
+ gboolean stop_for_restart = TRUE;
PL_LOCK();
+
+ /*
+ * First, determine if we are going to play another song after
+ * this one and call input_stop() / input_stop_for_restart()
+ * accordingly.
+ */
plist_pos_list = find_playlist_position_list();
+ if (!queued_list && !g_list_next(plist_pos_list) && !cfg.repeat)
+ stop_for_restart = FALSE;
+
+ PL_UNLOCK();
+ if (stop_for_restart)
+ input_stop_for_restart();
+ else
+ input_stop();
+ PL_LOCK();
if (cfg.no_playlist_advance)
{
Index: xmms.spec
===================================================================
RCS file: /cvs/extras/rpms/xmms/devel/xmms.spec,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -p -r1.42 -r1.43
--- xmms.spec 2 Sep 2009 13:42:45 -0000 1.42
+++ xmms.spec 14 Sep 2009 21:32:52 -0000 1.43
@@ -1,6 +1,6 @@
Name: xmms
Version: 1.2.11
-Release: 7.20071117cvs%{?dist}
+Release: 8.20071117cvs%{?dist}
Epoch: 1
Summary: The X MultiMedia System, a media player
@@ -27,7 +27,8 @@ Patch7: %{name}-cd-mountpoint.pa
Patch8: %{name}-1.2.11-multilib.patch
Patch9: %{name}-play.patch
Patch11: %{name}-1.2.10-gcc4.patch
-Patch12: %{name}-1.2.10-crossfade-0.3.9.patch
+# From xmms-crossfade-0.3.14/patches/ adapted from 1.2.10 to 1.2.11
+Patch12: %{name}-1.2.11-is_quitting.patch
Patch14: %{name}-1.2.10-configfile-safe-write.patch
Patch15: %{name}-1.2.10-reposition.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -103,7 +104,7 @@ Files needed for building plug-ins for t
%patch7 -p0 -b .cd-mountpoint
# Avoid multilib devel conflicts
%patch8 -p1 -b .multidevel
-# Fix for crossfade >= 0.3.9 to work properly
+# Fix for crossfade >= 0.3.14 to work properly
%patch12 -p1 -b .crossfade
# Randomize playlists better
%patch14 -p1
@@ -220,6 +221,9 @@ update-desktop-database -q || :
%changelog
+* Mon Sep 14 2009 Matthias Saou <http://freshrpms.net/> 1:1.2.11-8.20071117cvs
+- Update crossfade patch to the latest version (#518176).
+
* Wed Sep 02 2009 Paul F. Johnson <paul at all-the-johnsons.co.uk> 1:1.2.11-7.20071117cvs
- Fix play on click bug (BZ434692)
--- xmms-1.2.10-crossfade-0.3.9.patch DELETED ---
More information about the fedora-extras-commits
mailing list