multimedia/gnome-mplayer: Updated for version 1.0.6.

Added the new dependency gmtk

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
Phillip Warner 2012-09-10 21:40:42 +02:00 committed by Robby Workman
parent 21fd97ccb6
commit 56ae28c430
6 changed files with 31 additions and 251 deletions

View file

@ -1,18 +1,25 @@
A GTK2 interface to MPlayer. The power of MPlayer combined with a
friendly interface for your desktop; You can play all your multimedia
(audio, video, CD, DVDs, and VCDs, streams etc.), organize, sort and
create playlists, take screenshots while playing videos, be notified
about media changes. Full DVD and MKV chapter support, when supported by
Mplayer. Subtitle support with the ability to specify preferred audio
and subtitle languages if the media supports it. Support for cover art
retrieval from Amazon.com for audio media files with artist and/or album
A GTK2/GTK3 interface to MPlayer. The power of MPlayer combined with a
friendly interface for your desktop; You can play all your multimedia
(audio, video, CD, DVDs, and VCDs, streams etc.), organize, sort and
create playlists, take screenshots while playing videos, be notified
about media changes. Full DVD and MKV chapter support, when supported by
Mplayer. Subtitle support with the ability to specify preferred audio
and subtitle languages if the media supports it. Support for cover art
retrieval from Amazon.com for audio media files with artist and/or album
information contained in the file.
Gnome MPlayer has a rich API that is exposed via DBus. Using DBus you
can control a single or multiple instances of GNOME MPlayer from a
single command. Gnome MPlayer is not dependent on any Gnome libraries.
However, the look and feel of the application is based on the Gnome HIG.
The player can be used to play media on websites from your browser when
used with Gecko Mediaplayer and is the modern replacement for the
mplayerplug-in application.
Either dconf or gconf is required for the program to save settings; they
are no longer stored in a flat text .conf file. If you plan to use gconf,
pass "GCONF=YES" to the script. libmusicbrainz3 is an optional dependency.
Gnome MPlayer has a rich API that is exposed via DBus. Using DBus you
can control a single or multiple instances of GNOME MPlayer from a
single command.
Gnome MPlayer is not dependent on any Gnome libraries. However, the look
and feel of the application is based on the Gnome HIG.
If you plan to use dconf (to save settings), pass
DCONF="yes" to the script.
libmusicbrainz3 is an optional dependency.

View file

@ -11,7 +11,3 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
/usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
fi
fi
if [ -x /usr/bin/glib-compile-schemas ]; then
/usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas/ >/dev/null 2>&1
fi

View file

@ -1,210 +0,0 @@
diff -ru gnome-mplayer-1.0.4-orig/ChangeLog gnome-mplayer-1.0.4/ChangeLog
--- gnome-mplayer-1.0.4-orig/ChangeLog 2011-07-01 12:37:25.000000000 -0400
+++ gnome-mplayer-1.0.4/ChangeLog 2011-07-09 21:02:50.000000000 -0400
@@ -1,3 +1,6 @@
+Development
+ Raise event on incomplete QuickTime file, and mark it for retry
+ Fix compile issue with alsa is not being used
1.0.4
Remove vdpau failure detection as it doesn't work
Quit mplayer on vdpau restart, mplayer doesn't want to die
diff -ru gnome-mplayer-1.0.4-orig/src/gui.c gnome-mplayer-1.0.4/src/gui.c
--- gnome-mplayer-1.0.4-orig/src/gui.c 2011-06-27 10:59:45.000000000 -0400
+++ gnome-mplayer-1.0.4/src/gui.c 2011-07-09 21:04:12.000000000 -0400
@@ -5073,7 +5073,7 @@
gtk_spin_button_set_value(GTK_SPIN_BUTTON(config_volume), gm_pref_store_get_int(gm_store, VOLUME));
gm_pref_store_free(gm_store);
gtk_entry_set_width_chars(GTK_ENTRY(config_volume), 6);
- gtk_entry_set_editable(GTK_ENTRY(config_volume), FALSE);
+ gtk_editable_set_editable(GTK_EDITABLE(config_volume), FALSE);
gtk_entry_set_alignment(GTK_ENTRY(config_volume), 1);
gtk_widget_show(config_volume);
i++;
@@ -6052,6 +6052,11 @@
g_strlcpy(idledata->media_info, text, 1024);
g_thread_create(get_cover_art, metadata, FALSE, NULL);
break;
+
+ case ATTRIBUTE_RETRY_ON_FULL_CACHE:
+ idledata->retry_on_full_cache = gmtk_media_player_get_attribute_boolean (GMTK_MEDIA_PLAYER(media), ATTRIBUTE_RETRY_ON_FULL_CACHE);
+ break;
+
default:
if (verbose) {
printf("Unhandled attribute change %i\n", attribute);
diff -ru gnome-mplayer-1.0.4-orig/src/libgmtk/gmtk_media_player.c gnome-mplayer-1.0.4/src/libgmtk/gmtk_media_player.c
--- gnome-mplayer-1.0.4-orig/src/libgmtk/gmtk_media_player.c 2011-06-28 12:19:18.000000000 -0400
+++ gnome-mplayer-1.0.4/src/libgmtk/gmtk_media_player.c 2011-07-09 21:04:50.000000000 -0400
@@ -69,15 +69,27 @@
if (event && event->event_name != NULL
&& (event->player->restart == FALSE || event->event_data_int == ATTRIBUTE_AF_EXPORT_FILENAME)) {
- if (g_strcasecmp(event->event_name, "position-changed") == 0 ||
- g_strcasecmp(event->event_name, "cache-percent-changed") == 0) {
- g_signal_emit_by_name(event->player, event->event_name, event->event_data_double);
- } else if (g_strcasecmp(event->event_name, "size_allocate") == 0) {
- g_signal_emit_by_name(event->player, event->event_name, event->event_allocation);
- } else {
- g_signal_emit_by_name(event->player, event->event_name, event->event_data_int);
- }
+ switch (event->type) {
+ case EVENT_TYPE_INT:
+ g_signal_emit_by_name(event->player, event->event_name, event->event_data_int);
+ break;
+
+ case EVENT_TYPE_DOUBLE:
+ g_signal_emit_by_name(event->player, event->event_name, event->event_data_double);
+ break;
+
+ case EVENT_TYPE_BOOLEAN:
+ g_signal_emit_by_name(event->player, event->event_name, event->event_data_boolean);
+ break;
+
+ case EVENT_TYPE_ALLOCATION:
+ g_signal_emit_by_name(event->player, event->event_name, event->event_allocation);
+ break;
+
+ default:
+ printf("undefined event %s\n", event->event_name);
+ }
g_free(event->event_name);
}
if (event)
@@ -93,6 +105,7 @@
event = g_new0(GmtkMediaPlayerEvent, 1);
event->player = player;
+ event->type = EVENT_TYPE_INT;
event->event_name = g_strdup(name);
event->event_data_int = value;
g_idle_add(signal_event, event);
@@ -104,17 +117,31 @@
event = g_new0(GmtkMediaPlayerEvent, 1);
event->player = player;
+ event->type = EVENT_TYPE_DOUBLE;
event->event_name = g_strdup(name);
event->event_data_double = value;
g_idle_add(signal_event, event);
}
+void create_event_boolean(GmtkMediaPlayer * player, const gchar * name, gboolean value)
+{
+ GmtkMediaPlayerEvent *event;
+
+ event = g_new0(GmtkMediaPlayerEvent, 1);
+ event->player = player;
+ event->type = EVENT_TYPE_BOOLEAN;
+ event->event_name = g_strdup(name);
+ event->event_data_boolean = value;
+ g_idle_add(signal_event, event);
+}
+
void create_event_allocation(GmtkMediaPlayer * player, const gchar * name, GtkAllocation * allocation)
{
GmtkMediaPlayerEvent *event;
event = g_new0(GmtkMediaPlayerEvent, 1);
event->player = player;
+ event->type = EVENT_TYPE_ALLOCATION;
event->event_name = g_strdup(name);
event->event_allocation = allocation;
g_idle_add(signal_event, event);
@@ -300,6 +327,7 @@
player->channel_in = NULL;
player->channel_out = NULL;
player->channel_err = NULL;
+ player->retry_on_full_cache = FALSE;
}
static void gmtk_media_player_dispose(GObject * object)
@@ -993,6 +1021,10 @@
ret = player->hardware_ac3;
break;
+ case ATTRIBUTE_RETRY_ON_FULL_CACHE:
+ ret = player->retry_on_full_cache;
+ break;
+
default:
if (player->debug)
printf("Unsupported Attribute\n");
@@ -1788,6 +1820,7 @@
player->title_is_menu = FALSE;
player->enable_divx = TRUE;
player->disable_xvmc = FALSE;
+ player->retry_on_full_cache = FALSE;
g_mutex_lock(player->thread_running);
@@ -2477,6 +2510,11 @@
error_msg = g_strdup_printf(_("Compressed SWF format not supported"));
}
+ if (strstr(mplayer_output->str, "MOV: missing header (moov/cmov) chunk") != NULL) {
+ player->retry_on_full_cache = TRUE;
+ create_event_boolean(player, "attribute-changed", ATTRIBUTE_RETRY_ON_FULL_CACHE);
+ }
+
if (strstr(mplayer_output->str, "Title: ") != 0) {
buf = strstr(mplayer_output->str, "Title:");
buf = strstr(mplayer_output->str, "Title: ") + strlen("Title: ");
diff -ru gnome-mplayer-1.0.4-orig/src/libgmtk/gmtk_media_player.h gnome-mplayer-1.0.4/src/libgmtk/gmtk_media_player.h
--- gnome-mplayer-1.0.4-orig/src/libgmtk/gmtk_media_player.h 2011-06-28 09:29:18.000000000 -0400
+++ gnome-mplayer-1.0.4/src/libgmtk/gmtk_media_player.h 2011-07-09 21:04:50.000000000 -0400
@@ -170,7 +170,8 @@
ATTRIBUTE_ENABLE_FRAME_DROP,
ATTRIBUTE_TITLE,
ATTRIBUTE_ARTIST,
- ATTRIBUTE_ALBUM
+ ATTRIBUTE_ALBUM,
+ ATTRIBUTE_RETRY_ON_FULL_CACHE
} GmtkMediaPlayerMediaAttributes;
typedef enum {
@@ -201,6 +202,13 @@
COMMAND_SWITCH_FRAME_DROP
} GmtkMediaPlayerCommand;
+typedef enum {
+ EVENT_TYPE_INT,
+ EVENT_TYPE_DOUBLE,
+ EVENT_TYPE_BOOLEAN,
+ EVENT_TYPE_ALLOCATION
+} GmtkMediaPlayerEventType;
+
typedef struct _GmtkMediaPlayer GmtkMediaPlayer;
typedef struct _GmtkMediaPlayerClass GmtkMediaPlayerClass;
@@ -222,9 +230,11 @@
typedef struct _GmtkMediaPlayerEvent {
GmtkMediaPlayer *player;
+ GmtkMediaPlayerEventType type;
gchar *event_name;
gint event_data_int;
gdouble event_data_double;
+ gboolean event_data_boolean;
GtkAllocation *event_allocation;
} GmtkMediaPlayerEvent;
@@ -304,6 +314,7 @@
gchar *album;
gboolean enable_divx;
gboolean disable_xvmc;
+ gboolean retry_on_full_cache;
gboolean deinterlace;
gboolean frame_drop;
diff -ru gnome-mplayer-1.0.4-orig/src/main.c gnome-mplayer-1.0.4/src/main.c
--- gnome-mplayer-1.0.4-orig/src/main.c 2011-06-27 10:59:45.000000000 -0400
+++ gnome-mplayer-1.0.4/src/main.c 2011-07-09 21:04:12.000000000 -0400
@@ -534,6 +534,7 @@
idledata->width = width;
idledata->height = height;
+ idledata->retry_on_full_cache = FALSE;
idledata->cachepercent = -1.0;
g_strlcpy(idledata->info, uri, 1024);
set_media_info(idledata);

View file

@ -4,8 +4,8 @@
# Written by Phillip Warner <pc_warner@yahoo.com>
PRGNAM=gnome-mplayer
VERSION=${VERSION:-1.0.4}
BUILD=${BUILD:-2}
VERSION=${VERSION:-1.0.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -21,9 +21,6 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# Assume we're using dconf unless otherwise specified
GCONF=${GCONF:-NO}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
@ -53,16 +50,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 \
-o -perm 400 \) -exec chmod 644 {} \;
# Misc fixes that did not make it into 1.0.4
patch -p1 < $CWD/gnome-mplayer-fixes.diff
# If GCONF=YES above, then enable gconf; otherwise, disable it.
if [ "$GCONF" = "YES" ]; then
do_gconf="with"
else
do_gconf="without"
fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@ -70,7 +57,7 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--disable-nautilus \
--${do_gconf}-gconf \
--disable-gtk3 \
--disable-schemas-install \
--build=$ARCH-slackware-linux

View file

@ -1,10 +1,10 @@
PRGNAM="gnome-mplayer"
VERSION="1.0.4"
VERSION="1.0.6"
HOMEPAGE="http://sites.google.com/site/kdekorte2/gnomemplayer"
DOWNLOAD="http://gnome-mplayer.googlecode.com/files/gnome-mplayer-1.0.4.tar.gz"
MD5SUM="c97dcf12d6a6b5543d701944f95e850e"
DOWNLOAD="http://gnome-mplayer.googlecode.com/files/gnome-mplayer-1.0.6.tar.gz"
MD5SUM="c1fc23faf70f3bbc23daf60f9b34832d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="dconf"
REQUIRES="gmtk"
MAINTAINER="Phillip Warner"
EMAIL="pc_warner@yahoo.com"

View file

@ -6,9 +6,9 @@
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
gnome-mplayer: gnome-mplayer (GTK2 MPlayer frontend)
gnome-mplayer: gnome-mplayer (GTK2/GTK3 MPlayer frontend)
gnome-mplayer:
gnome-mplayer: A GTK2 interface to MPlayer.
gnome-mplayer: A GTK2/GTK3 interface to MPlayer.
gnome-mplayer:
gnome-mplayer: Homepage: http://sites.google.com/site/kdekorte2/gnomemplayer
gnome-mplayer: