summaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authorarved <arved@FreeBSD.org>2005-04-21 16:13:54 +0000
committerarved <arved@FreeBSD.org>2005-04-21 16:13:54 +0000
commit03c98b062383af6b4468c9ecece21a6c0a685c9b (patch)
tree8a95325452a6e6622ae5868c81a40375a3f841d3 /multimedia
parent17a61b9792823fd4b91aaaaa4ba2a71298daa7cc (diff)
downloadFreeBSD-ports-03c98b062383af6b4468c9ecece21a6c0a685c9b.zip
FreeBSD-ports-03c98b062383af6b4468c9ecece21a6c0a685c9b.tar.gz
Add WITH_EXTENDED_VORBIS_FILEINFO knob.
This patch includes information about the average bitrate of the file (because vorbis uses variable bit rate encoding by default and nominal might or might not match the actual effective bitrate) as well as information about the encoder which created the file. Bump PORTREVISION. PR: 74219 Submitted by: Thomas E. Zander <riggs@rrr.de> Reviewed by: Espen Skoglund <esk@ira.uka.de>
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/xmms/Makefile6
-rw-r--r--multimedia/xmms/files/patch-Input-vorbis-fileinfo.c108
2 files changed, 113 insertions, 1 deletions
diff --git a/multimedia/xmms/Makefile b/multimedia/xmms/Makefile
index 0186b5d..f2612d4 100644
--- a/multimedia/xmms/Makefile
+++ b/multimedia/xmms/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xmms
PORTVERSION= 1.2.10
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES+= multimedia audio ipv6
MASTER_SITES= http://www.xmms.org/files/1.2.x/ \
ftp://ftp.sunet.se/pub/multimedia/xmms/1.2.x/
@@ -57,6 +57,10 @@ PLIST_SUB+= ENCODING=""
PLIST_SUB+= ENCODING="@comment "
.endif
+.if defined(WITH_EXTENDED_VORBIS_FILEINFO)
+CFLAGS+= -DALL_VORBIS_TAGS
+.endif
+
.if !defined(WITHOUT_MIKMOD)
LIB_DEPENDS+= mikmod.2:${PORTSDIR}/audio/libmikmod
INPUT_PLUGINS+= mikmod
diff --git a/multimedia/xmms/files/patch-Input-vorbis-fileinfo.c b/multimedia/xmms/files/patch-Input-vorbis-fileinfo.c
new file mode 100644
index 0000000..70d88f9
--- /dev/null
+++ b/multimedia/xmms/files/patch-Input-vorbis-fileinfo.c
@@ -0,0 +1,108 @@
+--- Input/vorbis/fileinfo.c.orig Thu Nov 20 14:35:34 2003
++++ Input/vorbis/fileinfo.c Sun Nov 21 17:35:46 2004
+@@ -429,7 +429,8 @@
+ gchar *location;
+ gchar *rg_track_gain, *rg_album_gain, *rg_track_peak, *rg_album_peak;
+
+- gint time, minutes, seconds, bitrate, rate, channels, filesize, i;
++ gint time, minutes, seconds, bitrate, avgbitrate, rate, channels, filesize, i;
++ gchar *vendor = "N/A";
+
+ OggVorbis_File vf;
+ vorbis_info *vi;
+@@ -437,10 +438,11 @@
+ FILE *fh;
+ gboolean clear_vf = FALSE;
+
+- static GtkWidget *info_frame, *info_box, *bitrate_label, *rate_label;
++ static GtkWidget *info_frame, *info_box, *bitrate_label, *avgbitrate_label, *rate_label;
+ static GtkWidget *channel_label, *length_label, *filesize_label;
+ static GtkWidget *replaygain_label, *audiophilegain_label, *peak_label;
+ static GtkWidget *filename_entry, *tag_frame;
++ static GtkWidget *vendor_label;
+
+ g_free(vte.filename);
+ vte.filename = g_strdup(fn);
+@@ -721,7 +723,14 @@
+ GTK_JUSTIFY_LEFT);
+ gtk_box_pack_start(GTK_BOX(info_box), bitrate_label, FALSE,
+ FALSE, 0);
+-
++
++ avgbitrate_label = gtk_label_new("");
++ gtk_misc_set_alignment(GTK_MISC(avgbitrate_label), 0, 0);
++ gtk_label_set_justify(GTK_LABEL(avgbitrate_label),
++ GTK_JUSTIFY_LEFT);
++ gtk_box_pack_start(GTK_BOX(info_box), avgbitrate_label, FALSE,
++ FALSE, 0);
++
+ rate_label = gtk_label_new("");
+ gtk_misc_set_alignment(GTK_MISC(rate_label), 0, 0);
+ gtk_label_set_justify(GTK_LABEL(rate_label), GTK_JUSTIFY_LEFT);
+@@ -749,6 +758,13 @@
+ gtk_box_pack_start(GTK_BOX(info_box), filesize_label, FALSE,
+ FALSE, 0);
+
++ vendor_label = gtk_label_new("");
++ gtk_misc_set_alignment(GTK_MISC(vendor_label), 0, 0);
++ gtk_label_set_justify(GTK_LABEL(vendor_label),
++ GTK_JUSTIFY_LEFT);
++ gtk_box_pack_start(GTK_BOX(info_box), vendor_label, FALSE,
++ FALSE, 0);
++
+ replaygain_label = gtk_label_new("");
+ gtk_misc_set_alignment(GTK_MISC(replaygain_label), 0, 0);
+ gtk_label_set_justify(GTK_LABEL(replaygain_label),
+@@ -780,10 +796,12 @@
+ gtk_widget_set_sensitive(tag_frame, TRUE);
+
+ gtk_label_set_text(GTK_LABEL(bitrate_label), "");
++ gtk_label_set_text(GTK_LABEL(avgbitrate_label), "");
+ gtk_label_set_text(GTK_LABEL(rate_label), "");
+ gtk_label_set_text(GTK_LABEL(channel_label), "");
+ gtk_label_set_text(GTK_LABEL(length_label), "");
+ gtk_label_set_text(GTK_LABEL(filesize_label), "");
++ gtk_label_set_text(GTK_LABEL(vendor_label), "");
+
+ if ((fh = fopen(vte.filename, "r")) != NULL)
+ {
+@@ -792,9 +810,18 @@
+ if (ov_open(fh, &vf, NULL, 0) == 0)
+ {
+ comment = ov_comment(&vf, -1);
++ if(comment)
++ {
++ vendor = comment->vendor;
++ }
++ else
++ {
++ vendor = (char*)"N/A";
++ }
+ if ((vi = ov_info(&vf, 0)) != NULL)
+ {
+ bitrate = vi->bitrate_nominal/1000;
++ avgbitrate = ov_bitrate(&vf, -1);
+ rate = vi->rate;
+ channels = vi->channels;
+ g_message("version: %d", vi->version);
+@@ -803,6 +830,7 @@
+ else
+ {
+ bitrate = 0;
++ avgbitrate = 0;
+ rate = 0;
+ channels = 0;
+ }
+@@ -814,10 +842,12 @@
+ filesize = ftell(fh);
+
+ label_set_text(bitrate_label, _("Nominal bitrate: %d kbps"), bitrate);
++ label_set_text(avgbitrate_label, _("Average bitrate: %.1f kbps"), ((float)avgbitrate)/1000);
+ label_set_text(rate_label, _("Samplerate: %d Hz"), rate);
+ label_set_text(channel_label, _("Channels: %d"), channels);
+ label_set_text(length_label, _("Length: %d:%.2d"), minutes, seconds);
+ label_set_text(filesize_label, _("File size: %d B"), filesize);
++ label_set_text(vendor_label, _("Vendor: %s"), vendor);
+
+ }
+ else
OpenPOWER on IntegriCloud