Bug 181596 - [PATCH] multimedia/vlc: Add subtitle, video, and audio track scrolling to VLC's ncurses.c module
Summary: [PATCH] multimedia/vlc: Add subtitle, video, and audio track scrolling to VLC...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-multimedia (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-28 02:10 UTC by Cam Karnes
Modified: 2013-09-09 19:13 UTC (History)
0 users

See Also:


Attachments
file.txt (1.85 KB, text/plain)
2013-08-28 02:10 UTC, Cam Karnes
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cam Karnes 2013-08-28 02:10:00 UTC
A recent patch to the ncurses interface module (ncurses.c) enables
scrolling through subtitle, audio, and video tracks. While I realize
VLC 2.0.8 is already out, and the VLC port team is probably working
to get it up to the most recent version, the patch was not implemented
in the latest module. I find the patch significantly useful, as will
others who enjoy both foreign film and the console interface.

A link to the original commit from Rafaël Carré <funman@videolan.org>:
http://git.videolan.org/gitweb.cgi/vlc.git/?p=vlc.git;a=commit;h=e6c890d1f9db3517645e5bb23a9f6c4c6c88a66c

Fix: Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-08-28 03:05:03 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-multimedia

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-09-09 19:05:49 UTC
Author: nox
Date: Mon Sep  9 18:05:40 2013
New Revision: 326824
URL: http://svnweb.freebsd.org/changeset/ports/326824

Log:
  - Update to 2.0.8 .
  - Add subtitle, video, and audio track scrolling to VLC's ncurses.c
    module. [1]
  - Add GME knob. (audio/libgme dependency) [2]
  - Fix build with clang+libc++. [3]
  
  PR:		ports/181596 [1], ports/181909 [3]
  Submitted by:	Cam Karnes <karnes.cameron@gmail.com> [1]
  Submitted by:	pawel (on -multimedia) [2]
  Submitted by:	"O. Hartmann" <ohartman@zedat.fu-berlin.de>, bapt via pb2 [3]
  Obtained from:	vlc upstream git [1]

Added:
  head/multimedia/vlc/files/patch-modules-gui-ncurses.c   (contents, props changed)
  head/multimedia/vlc/files/patch-modules-gui-qt4-Makefile.in   (contents, props changed)
  head/multimedia/vlc/files/patch-modules-stream_filter-dash-mpd-SegmentInfoCommon.h   (contents, props changed)
  head/multimedia/vlc/files/patch-share-Makefile.in   (contents, props changed)
Deleted:
  head/multimedia/vlc/files/patch-modules-codec-avcodec-vaapi.c
  head/multimedia/vlc/files/patch-modules-codec-flac.c
Modified:
  head/multimedia/vlc/Makefile
  head/multimedia/vlc/distinfo

Modified: head/multimedia/vlc/Makefile
==============================================================================
--- head/multimedia/vlc/Makefile	Mon Sep  9 17:31:07 2013	(r326823)
+++ head/multimedia/vlc/Makefile	Mon Sep  9 18:05:40 2013	(r326824)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	vlc
-DISTVERSION=	2.0.7
+DISTVERSION=	2.0.8
 PORTEPOCH=	3
 CATEGORIES=	multimedia audio ipv6 net www
 MASTER_SITES=	http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/p/-pre/}/ \
@@ -29,7 +29,7 @@ OPTIONS_DEFINE=	A52 AALIB ASS AVAHI CACA
 		SAMBA SCHROED SDL SHOUTCAST SKINS STREAM SPEEX SQLITE SVG \
 		TAGLIB THEORA TWOLAME UPNP V4L VAAPI VCD VORBIS \
 		X11 X264 XCB XOSD XVIDEO ZVBI SERVER_ONLY DEBUG \
-		NO_DVD LIBBLURAY SAMPLERATE SIDPLAY
+		GME NO_DVD LIBBLURAY SAMPLERATE SIDPLAY
 OPTIONS_DEFAULT=A52 AVAHI DBUS DTS DVDREAD DVDNAV FAAD FLAC GLX GNUTLS \
 		HTTPD LUA MAD MATROSKA MPEG2 OGG OPUS PNG QT4 REALAUDIO \
 		SDL SKINS STREAM SPEEX TAGLIB THEORA TWOLAME V4L \
@@ -39,6 +39,7 @@ DTS_DESC=	DTS DVD audio decoder
 DVDREAD_DESC=	DVD Playback support
 DVDNAV_DESC=	DVD menu navigation
 FLUID_DESC=	Fluidsynth MIDI support
+GME_DESC=	Game_Music_Emu (libgme) support
 GNOMEVFS_DESC=	Gnome VFS support
 GOOM_DESC=	the Goom visual effect library
 NCURSES_DESC=	ncurses (console) interface
@@ -64,7 +65,7 @@ NO_DVD_DESC=	disable DVD specific featur
 USE_XZ=		yes
 USES=		iconv perl5 gmake pkgconfig
 USE_PERL5=	build
-USE_GL=yes
+USE_GL=		yes
 USE_CSTD=	gnu99
 WANT_GNOME=	yes
 
@@ -273,6 +274,13 @@ IGNORE=	GLX option requires XCB option
 CONFIGURE_ARGS+=--disable-glx
 .endif
 
+.if ${PORT_OPTIONS:MGME}
+LIB_DEPENDS+=	gme:${PORTSDIR}/audio/libgme
+CONFIGURE_ARGS+=--enable-gme
+.else
+CONFIGURE_ARGS+=--disable-gme
+.endif
+
 .if ${PORT_OPTIONS:MGNOMEVFS}
 USE_GNOME+=	gnomevfs2
 CONFIGURE_ARGS+=--enable-gnomevfs
@@ -800,7 +808,7 @@ pre-install:
 .if ${PORT_OPTIONS:MNLS}
 	cd ${FAKEDIR}/share/locale && ${FIND} -s * -type f -o -type l | \
 		${SED} -e 's|^|share/locale/|' >> ${PLIST}
-.for locale in ach an az cgg bn_IN ckb co ff fur gd ia kk km kmr ky lg my oc or_IN ps tet tl zu
+.for locale in ach an az cgg bn_IN ckb co ff fur gd ia kk km kmr kn ky lg my oc or_IN ps tet tl zu
 	${ECHO_CMD} "@dirrmtry share/locale/${locale}/LC_MESSAGES" >> ${PLIST}
 	${ECHO_CMD} "@dirrmtry share/locale/${locale}" >> ${PLIST}
 .endfor

Modified: head/multimedia/vlc/distinfo
==============================================================================
--- head/multimedia/vlc/distinfo	Mon Sep  9 17:31:07 2013	(r326823)
+++ head/multimedia/vlc/distinfo	Mon Sep  9 18:05:40 2013	(r326824)
@@ -1,2 +1,2 @@
-SHA256 (vlc-2.0.7.tar.xz) = 243107d59e4bd0b942cb4ce10292eab8233394f8109ff4fde44e64d0ee745314
-SIZE (vlc-2.0.7.tar.xz) = 18538256
+SHA256 (vlc-2.0.8.tar.xz) = a02af28345d4560e718066623f881b6eaf29ddce3b778fbf839e08b2415d1702
+SIZE (vlc-2.0.8.tar.xz) = 18858236

Added: head/multimedia/vlc/files/patch-modules-gui-ncurses.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vlc/files/patch-modules-gui-ncurses.c	Mon Sep  9 18:05:40 2013	(r326824)
@@ -0,0 +1,54 @@
+--- modules/gui/ncurses.c.orig
++++ modules/gui/ncurses.c
+@@ -880,6 +880,9 @@ static int DrawHelp(intf_thread_t *intf)
+     H(_(" s                      Stop"));
+     H(_(" <space>                Pause/Play"));
+     H(_(" f                      Toggle Fullscreen"));
++    H(_(" c                      Cycle through audio tracks"));
++    H(_(" v                      Cycle through subtitles tracks"));
++    H(_(" b                      Cycle through video tracks"));
+     H(_(" n, p                   Next/Previous playlist item"));
+     H(_(" [, ]                   Next/Previous title"));
+     H(_(" <, >                   Next/Previous chapter"));
+@@ -1543,6 +1546,30 @@ static void InputNavigate(input_thread_t* p_input, const char *var)
+         var_TriggerCallback(p_input, var);
+ }
+ 
++static void CycleESTrack(intf_sys_t *sys, const char *var)
++{
++    input_thread_t *input = sys->p_input;
++
++    if (!input)
++        return;
++
++    vlc_value_t val;
++    if (var_Change(input, var, VLC_VAR_GETLIST, &val, NULL) < 0)
++        return;
++
++    vlc_list_t *list = val.p_list;
++    int64_t current = var_GetInteger(input, var);
++
++    int i;
++    for (i = 0; i < list->i_count; i++)
++        if (list->p_values[i].i_int == current)
++            break;
++
++    if (++i >= list->i_count)
++        i = 0;
++    var_SetInteger(input, var, list->p_values[i].i_int);
++}
++
+ static void HandleCommonKey(intf_thread_t *intf, int key)
+ {
+     intf_sys_t *sys = intf->p_sys;
+@@ -1611,6 +1638,10 @@ static void HandleCommonKey(intf_thread_t *intf, int key)
+     case 'z': playlist_VolumeDown(p_playlist, 1, NULL); break;
+     case 'm': playlist_MuteToggle(p_playlist); break;
+ 
++    case 'c': CycleESTrack(sys, "audio-es"); break;
++    case 'v': CycleESTrack(sys, "spu-es");   break;
++    case 'b': CycleESTrack(sys, "video-es"); break;
++
+     case 0x0c:  /* ^l */
+     case KEY_CLEAR:
+         break;

Added: head/multimedia/vlc/files/patch-modules-gui-qt4-Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vlc/files/patch-modules-gui-qt4-Makefile.in	Mon Sep  9 18:05:40 2013	(r326824)
@@ -0,0 +1,11 @@
+--- modules/gui/qt4/Makefile.in.orig
++++ modules/gui/qt4/Makefile.in
+@@ -3499,7 +3499,7 @@ uninstall-am: uninstall-libvlcLTLIBRARIE
+ 
+ 
+ resources.cpp: vlc.qrc $(DEPS_res)
+-	$(AM_V_GEN)$(RCC) -name vlc -o $@ $<
++	$(AM_V_GEN)$(RCC) -name vlc -o $@ vlc.qrc
+ 
+ .hpp.moc.cpp:
+ @HAVE_DARWIN_TRUE@	$(moc_verbose)$(MOC) -DQ_WS_MAC $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $<

Added: head/multimedia/vlc/files/patch-modules-stream_filter-dash-mpd-SegmentInfoCommon.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vlc/files/patch-modules-stream_filter-dash-mpd-SegmentInfoCommon.h	Mon Sep  9 18:05:40 2013	(r326824)
@@ -0,0 +1,10 @@
+--- modules/stream_filter/dash/mpd/SegmentInfoCommon.h.orig
++++ modules/stream_filter/dash/mpd/SegmentInfoCommon.h
+@@ -27,6 +27,7 @@
+ 
+ #include <string>
+ #include <list>
++#include <ctime>
+ 
+ namespace dash
+ {

Added: head/multimedia/vlc/files/patch-share-Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vlc/files/patch-share-Makefile.in	Mon Sep  9 18:05:40 2013	(r326824)
@@ -0,0 +1,25 @@
+--- share/Makefile.in.orig
++++ share/Makefile.in
+@@ -1734,19 +1734,19 @@ uninstall-am: uninstall-appdataDATA unin
+ 
+ 
+ vlc.desktop: vlc.desktop.in $(top_builddir)/config.status
+-	$(AM_V_GEN)sed -e 's,\@bindir\@,$(bindir),g' < "$<" > tmp-$@
++	$(AM_V_GEN)sed -e 's,\@bindir\@,$(bindir),g' < vlc.desktop.in > tmp-$@
+ 	$(AM_V_at)$(DESKTOP_FILE_VALIDATE) tmp-$@
+ 	$(AM_V_at)mv -f tmp-$@ $@
+ 
+ osdmenu/default.cfg: osdmenu/default.cfg.in $(top_builddir)/config.status
+ 	$(AM_V_GEN)mkdir -p osdmenu; \
+-	  	   sed -e 's,\@vlcdatadir\@,$(vlcdatadir),g' < "$<" > $@
++	  	   sed -e 's,\@vlcdatadir\@,$(vlcdatadir),g' < osdmenu/default.cfg.in > $@
+ 
+ skins2/default.vlt: $(skins2_default_vlt_FILES)
+ 	mkdir -p skins2
+ 	(cd "$(srcdir)/skins2"; find default -print0 | \
+ 		LC_ALL=C sort -z | \
+-		tar cvv --exclude .svn --no-recursion --null -T -) | \
++		tar cvvf - --exclude .svn --no-recursion --null -T -) | \
+ 	gzip -n > skins2/default.vlt
+ 
+ .lua.luac:
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Juergen Lock freebsd_committer freebsd_triage 2013-09-09 19:13:05 UTC
State Changed
From-To: open->closed

Committed. Thanks!