Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Nov 2018 21:11:52 +0000 (UTC)
From:      Jose Alonso Cardenas Marquez <acm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r484942 - in head/audio/mixxx: . files
Message-ID:  <201811142111.wAELBqPB052225@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: acm
Date: Wed Nov 14 21:11:51 2018
New Revision: 484942
URL: https://svnweb.freebsd.org/changeset/ports/484942

Log:
  - Update to 2.1.5

Added:
  head/audio/mixxx/files/patch-src-util_screensaver.cpp   (contents, props changed)
  head/audio/mixxx/files/patch-vamp-plugins_SConscript   (contents, props changed)
Deleted:
  head/audio/mixxx/files/patch-src_musicbrainz_chromaprinter.cpp
  head/audio/mixxx/files/patch-src_upgrade.cpp
Modified:
  head/audio/mixxx/Makefile
  head/audio/mixxx/distinfo
  head/audio/mixxx/files/patch-build_depends.py
  head/audio/mixxx/files/patch-build_features.py
  head/audio/mixxx/files/patch-build_mixxx.py
  head/audio/mixxx/files/patch-src_controllers_controllermanager.cpp
  head/audio/mixxx/pkg-descr
  head/audio/mixxx/pkg-plist

Modified: head/audio/mixxx/Makefile
==============================================================================
--- head/audio/mixxx/Makefile	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/Makefile	Wed Nov 14 21:11:51 2018	(r484942)
@@ -2,11 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	mixxx
-PORTVERSION=	2.0.0
-DISTVERSIONSUFFIX=	-src
-PORTREVISION=	9
+DISTVERSION=	2.1.5
+DISTVERSIONPREFIX=	release-
 CATEGORIES=	audio
-MASTER_SITES=	http://downloads.mixxx.org/${PORTNAME}-${PORTVERSION}/
 
 MAINTAINER=	acm@FreeBSD.org
 COMMENT=	DJ mixing application
@@ -16,31 +14,41 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BROKEN_aarch64=		fails to compile: Exception("invalid machine type")
 BROKEN_powerpc64=	fails to configure: unmet dependencies: Could not find libprotobuf, libchromaprint, libmp4, and libwavpack
-IGNORE=		it will be updated to mixxx 2.1.0. FLAVOR needs portmgr approval
 
 LIB_DEPENDS=	libchromaprint.so:audio/chromaprint \
 		libFLAC.so:audio/flac \
+		libfftw3.so:math/fftw3 \
 		libid3tag.so:audio/libid3tag \
 		libmad.so:audio/libmad \
+		libmodplug.so:audio/libmodplug \
 		libportaudio.so:audio/portaudio \
+		libSoundTouch.so:audio/soundtouch \
+		libebur128.so:audio/libebur128 \
 		librubberband.so:audio/rubberband \
 		libsndfile.so:audio/libsndfile \
 		libvamp-sdk.so:audio/vamp-plugin-sdk \
+		libogg.so:audio/libogg \
 		libvorbisfile.so:audio/libvorbis \
 		libtag.so:audio/taglib \
 		libprotobuf.so:devel/protobuf
 
-WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
-USES=		qt:4 scons iconv pkgconfig
-USE_QT=		corelib gui network opengl script scripttools sql sql-sqlite3 \
-		svg testlib xml xmlpatterns linguisttools_build moc_build \
-		qmake_build rcc_build uic_build
+USES=		compiler:c++11-lang iconv qt:5 pkgconfig scons
+USE_XORG=	x11
 USE_GL=		gl glu
+USE_GITHUB=	yes
+GH_ACCOUNT=	mixxxdj
+USE_QT=		buildtools concurrent core dbus gui network opengl script scripttools \
+		sql sql-sqlite3 svg testlib xml xmlpatterns linguisttools_build \
+		qmake_build widgets
+
+CONFLICTS=	mixxx20*
+
 MAKE_ARGS=	qtdir="${PREFIX}" install_root="${PREFIX}" \
-		build=release optimize=native
+		build=release optimize=native ${GUI} battery=0 vamp=1 modplug=1
 LATE_INSTALL_ARGS=	--install-sandbox=${STAGEDIR}
 
+GUI=		qt5=1
+
 PORTDATA=	*
 PORTDOCS=	*
 
@@ -81,7 +89,9 @@ post-patch:
 	@${REINPLACE_CMD} -e "s|^Exec=.*|Exec=mixxx| ; \
 		 s|^Icon=.*|Icon=${PREFIX}/share/pixmaps/mixxx-icon.png|" \
 		${WRKSRC}/res/linux/mixxx.desktop
-.for i in midi/midimessage.h qtscript-bytearray/bytearrayclass.h
+	@${REINPLACE_CMD} -e "s,(Q_OS_LINUX),(Q_OS_LINUX) || defined(Q_OS_FREEBSD),g" \
+		${WRKSRC}/src/util/screensaver.h
+.for i in midi/midimessage.h
 	@${ECHO_CMD} >> ${WRKSRC}/src/controllers/${i}
 .endfor
 
@@ -94,10 +104,8 @@ post-install:
 	(cd ${WRKSRC} && ${INSTALL_DATA} ${i} \
 		${STAGEDIR}${DOCSDIR})
 .endfor
-	@${MKDIR} ${STAGEDIR}${DOCSDIR}/doc/HID
-.for i in *.odt *.pdf
-	(cd ${WRKSRC}/doc/HID && ${INSTALL_DATA} ${i} \
-		${STAGEDIR}${DOCSDIR}/doc/HID)
-.endfor
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC} && ${INSTALL_DATA} Mixxx-Manual.pdf \
+		${STAGEDIR}${DOCSDIR}
 
 .include <bsd.port.mk>

Modified: head/audio/mixxx/distinfo
==============================================================================
--- head/audio/mixxx/distinfo	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/distinfo	Wed Nov 14 21:11:51 2018	(r484942)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1483555438
-SHA256 (mixxx-2.0.0-src.tar.gz) = e1b8f33bba35046608578095ed3209967034579252d84c99e6bc03ec030f676d
-SIZE (mixxx-2.0.0-src.tar.gz) = 25300881
+TIMESTAMP = 1541529337
+SHA256 (mixxxdj-mixxx-release-2.1.5_GH0.tar.gz) = 09ef59c1f8ba9fb5d7c31880f5989b8ef198ca026ffeffda7523e94ee068122f
+SIZE (mixxxdj-mixxx-release-2.1.5_GH0.tar.gz) = 34474975

Modified: head/audio/mixxx/files/patch-build_depends.py
==============================================================================
--- head/audio/mixxx/files/patch-build_depends.py	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/files/patch-build_depends.py	Wed Nov 14 21:11:51 2018	(r484942)
@@ -1,50 +1,152 @@
---- build/depends.py.orig	2015-12-29 16:10:41 UTC
-+++ build/depends.py
-@@ -262,7 +262,7 @@ class Qt(Dependence):
+--- build/depends.py	2018-09-05 15:20:52.000000000 -0500
++++ build/depends.py	2018-10-30 14:47:39.928944000 -0500
+@@ -12,7 +12,7 @@
+         if not conf.CheckLib('portaudio'):
+             raise Exception(
+                 'Did not find libportaudio.a, portaudio.lib, or the PortAudio-v19 development header files.')
+-        elif build.platform_is_linux:
++        elif build.platform_is_linux or build.platform_is_bsd:
+             build.env.ParseConfig('pkg-config portaudio-2.0 --silence-errors --cflags --libs')
  
+         # Turn on PortAudio support in Mixxx
+@@ -74,7 +74,8 @@
+ 
+         if (not conf.CheckLib('GLU') and
+                 not conf.CheckLib('glu32') and
+-                not conf.CheckCHeader('OpenGL/glu.h')):
++                not conf.CheckCHeader('OpenGL/glu.h') and
++                not conf.CheckCHeader('GL/glu.h')):
+             raise Exception('Did not find GLU development files')
+ 
+ 
+@@ -106,7 +107,7 @@
+ class UPower(Dependence):
+     """UPower is used to get battery measurements on Linux."""
+     def configure(self, build, conf):
+-        if not build.platform_is_linux:
++        if not build.platform_is_linux or not build.platform_is_bsd:
+             return
+         build.env.ParseConfig(
+                 'pkg-config upower-glib --silence-errors --cflags --libs')
+@@ -185,15 +186,17 @@
+ 
+ class Qt(Dependence):
+     DEFAULT_QT4DIRS = {'linux': '/usr/share/qt4',
+-                       'bsd': '/usr/local/lib/qt4',
++                       'bsd': '%%LOCALBASE%%/share/qt4',
+                        'osx': '/Library/Frameworks',
+                        'windows': 'C:\\qt\\4.6.0'}
+ 
+     DEFAULT_QT5DIRS64 = {'linux': '/usr/lib/x86_64-linux-gnu/qt5',
++                         'bsd': '%%LOCALBASE%%/lib/qt5',
+                          'osx': '/Library/Frameworks',
+                          'windows': 'C:\\qt\\5.0.1'}
+ 
+     DEFAULT_QT5DIRS32 = {'linux': '/usr/lib/i386-linux-gnu/qt5',
++                         'bsd': '%%LOCALBASE%%/lib/qt5',
+                          'osx': '/Library/Frameworks',
+                          'windows': 'C:\\qt\\5.0.1'}
+ 
+@@ -319,9 +322,17 @@
+                 build.env.Append(CCFLAGS='-fPIC')
+ 
          elif build.platform_is_bsd:
-             build.env.Append(LIBS=qt_modules)
+-            build.env.Append(LIBS=qt_modules)
 -            include_paths = ['$QTDIR/include/%s' % module
-+            include_paths = ['%%LOCALBASE%%/include/qt4/%s' % module
-                              for module in qt_modules]
+-                             for module in qt_modules]
++	    qt_modules.extend(['QtDBus'])
++	    if qt5:
++		qt5_modules = [w.replace('Qt', 'Qt5') for w in qt_modules]
++		build.env.Append(LIBS = qt5_modules)
++		build.env.Append(CCFLAGS='-fPIC')
++                include_paths = ['%%LOCALBASE%%/include/qt5/%s' % module
++                                for module in qt_modules]
++            else:
++		build.env.Append(LIBS = qt_modules)
++                include_paths = ['%%LOCALBASE%%/include/qt4/%s' % module
++                                for module in qt_modules]
              build.env.Append(CPPPATH=include_paths)
          elif build.platform_is_osx:
-@@ -358,7 +358,7 @@ class Qt(Dependence):
+             qtdir = build.env['QTDIR']
+@@ -487,7 +498,7 @@
          if not build.platform_is_windows and not (using_104_sdk or compiling_on_104):
              qtdir = build.env['QTDIR']
              framework_path = Qt.find_framework_libdir(qtdir, qt5)
 -            if os.path.isdir(framework_path):
-+            if framework_path and os.path.isdir(framework_path):
-                 build.env.Append(LINKFLAGS="-Wl,-rpath," + framework_path)
++	    if framework_path and os.path.isdir(framework_path):
                  build.env.Append(LINKFLAGS="-L" + framework_path)
  
-@@ -1045,7 +1045,6 @@ class MixxxCore(Feature):
+         # Mixxx requires C++11 support. Windows enables C++11 features by
+@@ -581,7 +592,7 @@
+         if env is None:
+             env = build.env
  
+-        if build.platform_is_linux:
++        if build.platform_is_linux or build.platform_is_bsd:
+             # Try using system lib
+             if conf.CheckForPKG('soundtouch', '2.0.0'):
+                 # System Lib found
+@@ -625,7 +636,7 @@
+         # the files correctly. Adding this folder ot the include path should fix
+         # it, though might cause issues. This is safe to remove once we
+         # deprecate Karmic support. rryan 2/2011
+-        build.env.Append(CPPPATH='/usr/include/taglib/')
++        build.env.Append(CPPPATH='%%LOCALBASE%%/include/taglib/')
+ 
+         if build.platform_is_windows and build.static_dependencies:
+             build.env.Append(CPPDEFINES='TAGLIB_STATIC')
+@@ -1337,7 +1348,6 @@
+ 
          if build.toolchain_is_gnu:
              # Default GNU Options
 -            build.env.Append(CCFLAGS='-pipe')
              build.env.Append(CCFLAGS='-Wall')
-             build.env.Append(CCFLAGS='-Wextra')
+             if build.compiler_is_clang:
+                 # Quiet down Clang warnings about inconsistent use of override
+@@ -1445,9 +1455,9 @@
  
-@@ -1146,11 +1145,13 @@ class MixxxCore(Feature):
+         elif build.platform_is_osx:
+             # Stuff you may have compiled by hand
+-            if os.path.isdir('/usr/local/include'):
+-                build.env.Append(LIBPATH=['/usr/local/lib'])
+-                build.env.Append(CPPPATH=['/usr/local/include'])
++            if os.path.isdir('%%LOCALBASE%%/include'):
++                build.env.Append(LIBPATH=['%%LOCALBASE%%/lib'])
++                build.env.Append(CPPPATH=['%%LOCALBASE%%/include'])
  
+             # Non-standard libpaths for fink and certain (most?) darwin ports
+             if os.path.isdir('/sw/include'):
+@@ -1460,17 +1470,24 @@
+                 build.env.Append(CPPPATH=['/opt/local/include'])
+ 
          elif build.platform_is_bsd:
++	    qt5 = Qt.qt5_enabled(build)
++
++	    if qt5:
++	      qtdirectory = 'qt5'
++            else:
++	      qtdirectory = 'qt4'
++
              build.env.Append(CPPDEFINES='__BSD__')
--            build.env.Append(CPPPATH=['/usr/include',
+             build.env.Append(CPPPATH=['/usr/include',
 -                                      '/usr/local/include',
-+            build.env.Append(CPPPATH=['%%LOCALBASE%%/include/portaudio2',
-+                                      '%%LOCALBASE%%/include/qt4',
+-                                      '/usr/X11R6/include/'])
 +                                      '%%LOCALBASE%%/include',
-                                       '/usr/X11R6/include/'])
--            build.env.Append(LIBPATH=['/usr/lib/',
++                                      '%%LOCALBASE%%/include/'+ qtdirectory])
+             build.env.Append(LIBPATH=['/usr/lib/',
 -                                      '/usr/local/lib',
-+            build.env.Append(LIBPATH=['%%LOCALBASE%%/lib/portaudio2',
-+                                      '%%LOCALBASE%%/lib/qt4',
+-                                      '/usr/X11R6/lib'])
 +                                      '%%LOCALBASE%%/lib',
-                                       '/usr/X11R6/lib'])
++                                      '%%LOCALBASE%%/lib/'+ qtdirectory])
              build.env.Append(LIBS='pthread')
              # why do we need to do this on OpenBSD and not on Linux?  if we
-@@ -1188,7 +1189,7 @@ class MixxxCore(Feature):
+             # don't then CheckLib("vorbisfile") fails
+-            build.env.Append(LIBS=['ogg', 'vorbis'])
++            build.env.Append(LIBS=['ogg', 'vorbis','X11'])
+ 
+         # Define for things that would like to special case UNIX (Linux or BSD)
+         if build.platform_is_bsd or build.platform_is_linux:
+@@ -1503,7 +1520,7 @@
          # Say where to find resources on Unix. TODO(XXX) replace this with a
          # RESOURCE_PATH that covers Win and OSX too:
          if build.platform_is_linux or build.platform_is_bsd:
@@ -53,12 +155,12 @@
              share_path = os.path.join (prefix, build.env.get(
                  'SHAREDIR', default='share'), 'mixxx')
              build.env.Append(
-@@ -1199,7 +1200,7 @@ class MixxxCore(Feature):
+@@ -1514,7 +1531,7 @@
                  CPPDEFINES=('UNIX_LIB_PATH', r'\"%s\"' % lib_path))
  
      def depends(self, build):
--        return [SoundTouch, ReplayGain, PortAudio, PortMIDI, Qt, TestHeaders,
-+        return [SoundTouch, ReplayGain, PortAudio, Qt, TestHeaders,
+-        return [SoundTouch, ReplayGain, Ebur128Mit, PortAudio, PortMIDI, Qt, TestHeaders,
++        return [SoundTouch, ReplayGain, Ebur128Mit, PortAudio, Qt, TestHeaders,
                  FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf,
-                 Chromaprint, RubberBand, SecurityFramework, CoreServices, FpClassify]
- 
+                 Chromaprint, RubberBand, SecurityFramework, CoreServices, IOKit,
+                 QtScriptByteArray, Reverb, FpClassify, PortAudioRingBuffer]

Modified: head/audio/mixxx/files/patch-build_features.py
==============================================================================
--- head/audio/mixxx/files/patch-build_features.py	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/files/patch-build_features.py	Wed Nov 14 21:11:51 2018	(r484942)
@@ -1,25 +1,40 @@
---- build/features.py.orig	2015-12-29 16:10:41 UTC
-+++ build/features.py
-@@ -87,6 +87,9 @@ class HID(Feature):
-             raise Exception('Did not find the setupapi library, exiting.')
-         elif build.platform_is_osx:
-             build.env.AppendUnique(FRAMEWORKS=['IOKit', 'CoreFoundation'])
-+        elif build.platform_is_bsd:
-+            conf.CheckLib(['usb', 'libusb'])
-+            conf.CheckLib(['usbhid', 'libusbhid'])
+--- build/features.py	2018-10-28 12:33:56.000000000 -0500
++++ build/features.py	2018-11-06 14:58:04.915561000 -0500
+@@ -105,13 +105,24 @@
+             # -pthread tells GCC to do the right thing regardless of system
+             build.env.Append(CCFLAGS='-pthread')
+             build.env.Append(LINKFLAGS='-pthread')
++	elif build.platform_is_bsd:
++	    build.env.ParseConfig('pkg-config hidapi --silence-errors --cflags --libs')
  
-         build.env.Append(CPPDEFINES='__HID__')
++            conf.CheckLib(['pthread', 'libpthread'])
++            conf.CheckLib(['rt', 'librt'])
++
++            # -pthread tells GCC to do the right thing regardless of system
++            build.env.Append(CCFLAGS='-pthread')
++            build.env.Append(LINKFLAGS='-pthread')
+         else:
+             self.INTERNAL_LINK = True
+             if build.platform_is_windows and not conf.CheckLib(['setupapi', 'libsetupapi']):
+                 raise Exception('Did not find the setupapi library, exiting.')
+             elif build.platform_is_osx:
+                 build.env.AppendUnique(FRAMEWORKS=['IOKit', 'CoreFoundation'])
++            elif build.platform_is_bsd:
++                conf.CheckLib(['usb', 'libusb'])
++                conf.CheckLib(['usbhid', 'libusbhid'])
  
-@@ -100,7 +103,7 @@ class HID(Feature):
-             # setupapi.
-             sources.append(
-                 os.path.join(self.HIDAPI_INTERNAL_PATH, "windows/hid.c"))
--        elif build.platform_is_linux:
-+        elif build.platform_is_linux or build.platform_is_bsd:
-             # hidapi compiles the libusb implementation by default on Linux
-             sources.append(
-                 os.path.join(self.HIDAPI_INTERNAL_PATH, 'libusb/hid.c'))
-@@ -117,14 +120,14 @@ class Bulk(Feature):
+         build.env.Append(CPPDEFINES='__HID__')
+         if self.INTERNAL_LINK:
+@@ -129,7 +140,7 @@
+                 # setupapi.
+                 sources.append(
+                     os.path.join(self.HIDAPI_INTERNAL_PATH, "windows/hid.c"))
+-            elif build.platform_is_linux:
++            elif build.platform_is_linux or build.platform_is_bsd:
+                 # hidapi compiles the libusb implementation by default on Linux
+                 sources.append(
+                     os.path.join(self.HIDAPI_INTERNAL_PATH, 'libusb/hid.c'))
+@@ -147,14 +158,14 @@
      def enabled(self, build):
          # For now only make Bulk default on Linux only. Turn on for all
          # platforms after the 1.11.0 release.
@@ -36,7 +51,7 @@
          vars.Add('bulk',
                   'Set to 1 to enable USB Bulk controller support.', is_default)
  
-@@ -132,12 +135,15 @@ class Bulk(Feature):
+@@ -162,12 +173,15 @@
          if not self.enabled(build):
              return
  
@@ -58,3 +73,30 @@
  
          build.env.Append(CPPDEFINES='__BULK__')
  
+@@ -396,7 +410,7 @@
+         # If there is no system vamp-hostsdk is installed or if the version
+         # of the installed vamp-hostsdk is less than the bundled version,
+         # then we'll directly link the bundled vamp-hostsdk
+-        if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-plugin-sdk', '2.7.1'):
++        if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-sdk', '2.7.1'):
+             # For header includes
+             build.env.Append(CPPPATH=[self.INTERNAL_VAMP_PATH])
+             self.INTERNAL_LINK = True
+@@ -409,7 +423,7 @@
+         # FFTW3 support
+         have_fftw3_h = conf.CheckHeader('fftw3.h')
+         have_fftw3 = conf.CheckLib('fftw3', autoadd=False)
+-        if have_fftw3_h and have_fftw3 and build.platform_is_linux:
++        if have_fftw3_h and have_fftw3 and (build.platform_is_linux or build.platform_is_bsd) :
+             build.env.Append(CPPDEFINES='HAVE_FFTW3')
+             build.env.ParseConfig(
+                 'pkg-config fftw3 --silence-errors --cflags --libs')
+@@ -1295,7 +1309,7 @@
+             return ["util/battery/batterywindows.cpp"]
+         elif build.platform_is_osx:
+             return ["util/battery/batterymac.cpp"]
+-        elif build.platform_is_linux:
++        elif build.platform_is_linux or build.platform_is_bsd:
+             return ["util/battery/batterylinux.cpp"]
+         else:
+             raise Exception('Battery support is not implemented for the target platform.')

Modified: head/audio/mixxx/files/patch-build_mixxx.py
==============================================================================
--- head/audio/mixxx/files/patch-build_mixxx.py	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/files/patch-build_mixxx.py	Wed Nov 14 21:11:51 2018	(r484942)
@@ -1,14 +1,27 @@
---- build/mixxx.py.orig	2015-12-29 16:10:41 UTC
-+++ build/mixxx.py
-@@ -380,9 +380,9 @@ class MixxxBuild(object):
+--- build/mixxx.py	2018-04-15 13:30:27.000000000 -0500
++++ build/mixxx.py	2018-04-21 22:31:31.694426000 -0500
+@@ -394,9 +394,9 @@
              self.env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
  
          # Allow installation directories to be specified.
 -        prefix = Script.ARGUMENTS.get('prefix', '/usr/local')
 +        prefix = Script.ARGUMENTS.get('prefix', '%%PREFIX%%')
-         if os.environ.has_key('LIBDIR'):
+         if 'LIBDIR' in os.environ:
 -            self.env['LIBDIR'] = os.path.relpath(os.environ['LIBDIR'], prefix)
 +            self.env['LIBDIR'] = 'lib' # os.path.relpath(os.environ['LIBDIR'], prefix)
-         if os.environ.has_key('BINDIR'):
+         if 'BINDIR' in os.environ:
              self.env['BINDIR'] = os.path.relpath(os.environ['BINDIR'], prefix)
-         if os.environ.has_key('SHAREDIR'):
+         if 'SHAREDIR' in os.environ:
+@@ -429,10 +429,10 @@
+     def install_options(self):
+         cachefile = os.path.join(self.get_cache_dir(), 'custom.py')
+         vars = Script.Variables(cachefile)
+-        vars.Add('prefix', 'Set to your install prefix', '/usr/local')
++        vars.Add('prefix', 'Set to your install prefix', '%%PREFIX%%')
+         vars.Add('virtualize',
+                  'Dynamically swap out the build directory when switching Git branches.', 1)
+-        vars.Add('qtdir', 'Set to your QT4 directory', '/usr/share/qt4')
++        vars.Add('qtdir', 'Set to your QT4 directory', '%%LOCALBASE%%/share/qt4')
+         vars.Add('qt_sqlite_plugin', 'Set to 1 to package the Qt SQLite plugin.'
+                  '\n           Set to 0 if SQLite support is compiled into QtSQL.', 0)
+         vars.Add('target',

Added: head/audio/mixxx/files/patch-src-util_screensaver.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/mixxx/files/patch-src-util_screensaver.cpp	Wed Nov 14 21:11:51 2018	(r484942)
@@ -0,0 +1,27 @@
+--- src/util/screensaver.cpp	2018-04-22 02:22:56.333283000 -0500
++++ src/util/screensaver.cpp	2018-04-22 02:24:03.836501000 -0500
+@@ -23,13 +23,13 @@
+ #  include "util/mac.h"
+ #elif defined(Q_OS_WIN)
+ #  include <windows.h>
+-#elif defined(Q_OS_LINUX)
++#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
+ #  include <QtDBus>
+ #elif HAVE_XSCREENSAVER_SUSPEND
+ #  include <X11/extensions/scrnsaver.h>
+ #endif // Q_OS_WIN
+ 
+-#if defined(Q_OS_LINUX) || HAVE_XSCREENSAVER_SUSPEND
++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || HAVE_XSCREENSAVER_SUSPEND
+ #  define None XNone
+ #  define Window XWindow
+ #  include <X11/Xlib.h>
+@@ -140,7 +140,7 @@
+     s_enabled = false;
+ }
+ 
+-#elif defined(Q_OS_LINUX)
++#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
+ const char *SCREENSAVERS[][4] = {
+     // org.freedesktop.ScreenSaver is the standard. should work for gnome and kde too, 
+     // but I add their specific names too

Modified: head/audio/mixxx/files/patch-src_controllers_controllermanager.cpp
==============================================================================
--- head/audio/mixxx/files/patch-src_controllers_controllermanager.cpp	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/files/patch-src_controllers_controllermanager.cpp	Wed Nov 14 21:11:51 2018	(r484942)
@@ -1,9 +1,9 @@
---- src/controllers/controllermanager.cpp.orig	2015-12-29 16:10:41 UTC
-+++ src/controllers/controllermanager.cpp
-@@ -83,7 +83,9 @@ ControllerManager::ControllerManager(Con
-     m_pMainThreadPresetEnumerator = new PresetInfoEnumerator(presetSearchPaths);
+--- src/controllers/controllermanager.cpp	2018-04-15 13:30:27.000000000 -0500
++++ src/controllers/controllermanager.cpp	2018-04-21 22:34:32.638474000 -0500
+@@ -127,7 +127,9 @@
  
-     // Instantiate all enumerators
+     // Instantiate all enumerators. Enumerators can take a long time to
+     // construct since they interact with host MIDI APIs.
 +#ifdef __PORTMIDI__
      m_enumerators.append(new PortMidiEnumerator());
 +#endif

Added: head/audio/mixxx/files/patch-vamp-plugins_SConscript
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/mixxx/files/patch-vamp-plugins_SConscript	Wed Nov 14 21:11:51 2018	(r484942)
@@ -0,0 +1,11 @@
+--- vamp-plugins/SConscript	2018-11-06 14:08:42.093656000 -0500
++++ vamp-plugins/SConscript	2018-11-06 14:08:56.517582000 -0500
+@@ -54,7 +54,7 @@
+     # If there is no system vamp-sdk is installed or if the version
+     # of the installed vamp-sdk is less than the bundled version,
+     # then we'll directly link the bundled vamp-sdk.
+-    if not conf.CheckLib('vamp-sdk') or not conf.CheckForPKG('vamp-plugin-sdk', '2.7.1'):
++    if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-sdk', '2.7.1'):
+         INTERNAL_VAMP_PATH = '#lib/vamp'
+         # For header includes
+         env.Append(CPPPATH=[INTERNAL_VAMP_PATH])

Modified: head/audio/mixxx/pkg-descr
==============================================================================
--- head/audio/mixxx/pkg-descr	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/pkg-descr	Wed Nov 14 21:11:51 2018	(r484942)
@@ -2,4 +2,4 @@ Mixxx is software for DJ'ing. You can use wave based a
 and MP3 files as audio input.  Mixxx can be controlled through the GUI and
 with external controllers including MIDI devices, joysticks, and more.
 
-WWW: https://www.mixxx.org/
+WWW: http://www.mixxx.org/

Modified: head/audio/mixxx/pkg-plist
==============================================================================
--- head/audio/mixxx/pkg-plist	Wed Nov 14 20:12:38 2018	(r484941)
+++ head/audio/mixxx/pkg-plist	Wed Nov 14 21:11:51 2018	(r484942)
@@ -4,5 +4,1972 @@ bin/mixxx
 lib/mixxx/plugins/vamp/libmixxxminimal.so
 share/appdata/mixxx.appdata.xml
 share/applications/mixxx.desktop
+%%PORTDOCS%%%%DOCSDIR%%/Mixxx-Manual.pdf
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%DATADIR%%/controllers/Akai MPD24.midi.xml
+%%DATADIR%%/controllers/Akai-LPD8-RK-scripts.js
+%%DATADIR%%/controllers/Akai-LPD8-RK.midi.xml
+%%DATADIR%%/controllers/Allen and Heath Xone K2.midi.xml
+%%DATADIR%%/controllers/Allen-and-Heath-Xone-K2-scripts.js
+%%DATADIR%%/controllers/American Audio RADIUS 2000 CH1.midi.xml
+%%DATADIR%%/controllers/American Audio RADIUS 2000 CH2.midi.xml
+%%DATADIR%%/controllers/American Audio VMS2.midi.xml
+%%DATADIR%%/controllers/American Audio VMS4.midi.xml
+%%DATADIR%%/controllers/American-Audio-RADIUS-2000-scripts.js
+%%DATADIR%%/controllers/American-Audio-VMS2-scripts.js
+%%DATADIR%%/controllers/American-Audio-VMS4-scripts.js
+%%DATADIR%%/controllers/Behringer BCD2000.midi.xml
+%%DATADIR%%/controllers/Behringer BCD3000 Advanced.midi.xml
+%%DATADIR%%/controllers/Behringer BCD3000.midi.xml
+%%DATADIR%%/controllers/Behringer CMD MM1.midi.xml
+%%DATADIR%%/controllers/Behringer CMD Micro.midi.xml
+%%DATADIR%%/controllers/Behringer CMDStudio4a.midi.xml
+%%DATADIR%%/controllers/Behringer-BCD2000-scripts.js
+%%DATADIR%%/controllers/Behringer-BCD3000-Advanced-scripts.js
+%%DATADIR%%/controllers/Behringer-BCD3000-scripts.js
+%%DATADIR%%/controllers/Behringer-CMD-MM1-scripts.js
+%%DATADIR%%/controllers/Behringer-CMD-Micro-scripts.js
+%%DATADIR%%/controllers/Behringer-CMDStudio4a-scripts.js
+%%DATADIR%%/controllers/DJ TechTools MIDI Fighter Twister.midi.xml
+%%DATADIR%%/controllers/DJ TechTools-MIDI Fighter Twister-scripts.js
+%%DATADIR%%/controllers/DJ-Tech CDJ-101.midi.xml
+%%DATADIR%%/controllers/DJ-Tech DJM-101.midi.xml
+%%DATADIR%%/controllers/DJ-Tech Kontrol One.midi.xml
+%%DATADIR%%/controllers/DJ-Tech Mix-101.midi.xml
+%%DATADIR%%/controllers/DJ-Tech Mixer One.midi.xml
+%%DATADIR%%/controllers/DJ-Tech i-Mix Reload.midi.xml
+%%DATADIR%%/controllers/DJ-Tech-CDJ-101-scripts.js
+%%DATADIR%%/controllers/DJ-Tech-DJM-101-scripts.js
+%%DATADIR%%/controllers/DJ-Tech-Kontrol-One-scripts.js
+%%DATADIR%%/controllers/DJ-Tech-Mixer-One-scripts.js
+%%DATADIR%%/controllers/DJ-Tech-i-Mix-Reload-scripts.js
+%%DATADIR%%/controllers/DJTechTools MIDI Fighter.midi.xml
+%%DATADIR%%/controllers/DJTechTools-MIDIFighter-scripts.js
+%%DATADIR%%/controllers/Denon DN HS5500.midi.xml
+%%DATADIR%%/controllers/Denon DN SC2000.midi.xml
+%%DATADIR%%/controllers/Denon MC3000.midi.xml
+%%DATADIR%%/controllers/Denon MC4000.midi.xml
+%%DATADIR%%/controllers/Denon-DN-HS5500-scripts.js
+%%DATADIR%%/controllers/Denon-DN-SC2000.midi.js
+%%DATADIR%%/controllers/Denon-MC3000-scripts.js
+%%DATADIR%%/controllers/Denon-MC4000-scripts.js
+%%DATADIR%%/controllers/Denon-MC6000MK2-scripts.js
+%%DATADIR%%/controllers/Denon-MC6000MK2.midi.xml
+%%DATADIR%%/controllers/EKS Otus.hid.xml
+%%DATADIR%%/controllers/EKS-Otus.js
+%%DATADIR%%/controllers/Electrix Tweaker.midi.xml
+%%DATADIR%%/controllers/Electrix-Tweaker-scripts.js
+%%DATADIR%%/controllers/Evolution_Xsession.midi.xml
+%%DATADIR%%/controllers/FaderFoxDJ2.midi.xml
+%%DATADIR%%/controllers/Gemini CDMP-7000 L audio.midi.xml
+%%DATADIR%%/controllers/Gemini CDMP-7000 R audio.midi.xml
+%%DATADIR%%/controllers/Gemini FirstMix.midi.xml
+%%DATADIR%%/controllers/Gemini-CDMP-7000-scripts.js
+%%DATADIR%%/controllers/Gemini-FirstMix-scripts.js
+%%DATADIR%%/controllers/HID Keyboard.hid.xml.example
+%%DATADIR%%/controllers/HID Trackpad.hid.xml.example
+%%DATADIR%%/controllers/HID-Keyboard.js
+%%DATADIR%%/controllers/HID-Trackpad.js
+%%DATADIR%%/controllers/Hercules DJ Console 4-Mx.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Console Mac Edition.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Console Mk1.hid.xml
+%%DATADIR%%/controllers/Hercules DJ Console Mk2.hid.xml
+%%DATADIR%%/controllers/Hercules DJ Console Mk2.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Console Mk4.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Console RMX 2.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Console RMX Advanced.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Console RMX.hid.xml
+%%DATADIR%%/controllers/Hercules DJ Console RMX.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Control AIR.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Control Instinct.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Control MP3 e2-scripts.js
+%%DATADIR%%/controllers/Hercules DJ Control MP3 e2.bulk.xml
+%%DATADIR%%/controllers/Hercules DJ Control MP3 e2.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Control MP3.hid.xml
+%%DATADIR%%/controllers/Hercules DJ Control MP3.midi.xml
+%%DATADIR%%/controllers/Hercules DJ Control Steel.midi.xml
+%%DATADIR%%/controllers/Hercules DJControl Compact.midi.xml
+%%DATADIR%%/controllers/Hercules P32 DJ.midi.xml
+%%DATADIR%%/controllers/Hercules-DJ-Console-4-Mx-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Console-Mk1-hid-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Console-Mk2-hid-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Console-Mk2-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Console-Mk4-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Console-RMX-2-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Console-RMX-hid-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Console-RMX-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Control-AIR-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Control-Instinct-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Control-MP3-hid-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Control-MP3-scripts.js
+%%DATADIR%%/controllers/Hercules-DJ-Control-Steel-scripts.js
+%%DATADIR%%/controllers/Hercules-DJControl-Compact-scripts.js
+%%DATADIR%%/controllers/Hercules-P32-scripts.js
+%%DATADIR%%/controllers/Hercules-mp3e2-compat.js
+%%DATADIR%%/controllers/Ion Discover DJ.midi.xml
+%%DATADIR%%/controllers/Ion-Discover-DJ-scripts.js
+%%DATADIR%%/controllers/KANE_QuNeo.midi.xml
+%%DATADIR%%/controllers/KANE_QuNeo_scripts.js
+%%DATADIR%%/controllers/Kontrol Dj KDJ500.midi.xml
+%%DATADIR%%/controllers/Kontrol-Dj-KDJ500-scripts.js
+%%DATADIR%%/controllers/Korg nanoKONTROL 2.midi.xml
+%%DATADIR%%/controllers/Korg nanoKONTROL.midi.xml
+%%DATADIR%%/controllers/Korg nanoPAD2.midi.xml
+%%DATADIR%%/controllers/Korg-KAOSS-DJ-scripts.js
+%%DATADIR%%/controllers/Korg-KAOSS-DJ.midi.xml
+%%DATADIR%%/controllers/Korg-nanoKONTROL-2-scripts.js
+%%DATADIR%%/controllers/Korg-nanoPAD2-scripts.js
+%%DATADIR%%/controllers/M-Audio_Xsession_pro.midi.xml
+%%DATADIR%%/controllers/Midi-Keyboard.midi.xml
+%%DATADIR%%/controllers/MidiTech-MidiControl.midi.xml
+%%DATADIR%%/controllers/Midi_for_light-scripts.js
+%%DATADIR%%/controllers/Midi_for_light.midi.xml
+%%DATADIR%%/controllers/MixVibes U-Mix Control 2.midi.xml
+%%DATADIR%%/controllers/MixVibes U-Mix Control Pro 2.midi.xml
+%%DATADIR%%/controllers/MixVibes-U-Mix-Control-Pro-2-scripts.js
+%%DATADIR%%/controllers/Mixman DM2 (Linux).js
+%%DATADIR%%/controllers/Mixman DM2 (Linux).midi.xml
+%%DATADIR%%/controllers/Mixman DM2 (OS X).js
+%%DATADIR%%/controllers/Mixman DM2 (OS X).midi.xml
+%%DATADIR%%/controllers/Mixman DM2 (Windows).midi.xml
+%%DATADIR%%/controllers/Nintendo Wiimote.hid.xml
+%%DATADIR%%/controllers/Nintendo-Wiimote.js
+%%DATADIR%%/controllers/Novation Dicer.midi.xml
+%%DATADIR%%/controllers/Novation Launchpad MK2.midi.xml
+%%DATADIR%%/controllers/Novation Launchpad.midi.xml
+%%DATADIR%%/controllers/Novation-Dicer-scripts.js
+%%DATADIR%%/controllers/Novation-Launchpad MK2-scripts.js
+%%DATADIR%%/controllers/Novation-Launchpad-Mini-scripts.js
+%%DATADIR%%/controllers/Novation-Launchpad-Mini.midi.xml
+%%DATADIR%%/controllers/Novation-Launchpad-scripts.js
+%%DATADIR%%/controllers/Numark DJ2Go.midi.xml
+%%DATADIR%%/controllers/Numark MIXTRACK.midi.xml
+%%DATADIR%%/controllers/Numark Mixtrack 2.midi.xml
+%%DATADIR%%/controllers/Numark Mixtrack Pro.midi.xml
+%%DATADIR%%/controllers/Numark N4.midi.xml
+%%DATADIR%%/controllers/Numark NS7.midi.xml
+%%DATADIR%%/controllers/Numark Omni Control.midi.xml
+%%DATADIR%%/controllers/Numark Total Control.midi.xml
+%%DATADIR%%/controllers/Numark V7.midi.xml
+%%DATADIR%%/controllers/Numark-DJ2Go-scripts.js
+%%DATADIR%%/controllers/Numark-MixTrack-scripts.js
+%%DATADIR%%/controllers/Numark-Mixtrack-2-scripts.js
+%%DATADIR%%/controllers/Numark-Mixtrack-3-scripts.js
+%%DATADIR%%/controllers/Numark-Mixtrack-3.midi.xml
+%%DATADIR%%/controllers/Numark-Mixtrack-Pro-scripts.js
+%%DATADIR%%/controllers/Numark-N4-scripts.js
+%%DATADIR%%/controllers/Numark-NS7-scripts.js
+%%DATADIR%%/controllers/Numark-Omni-Control-scripts.js
+%%DATADIR%%/controllers/Numark-Total-Control-scripts.js
+%%DATADIR%%/controllers/Numark-V7-scripts.js
+%%DATADIR%%/controllers/Pioneer CDJ HID.hid.xml
+%%DATADIR%%/controllers/Pioneer CDJ-2000.midi.xml
+%%DATADIR%%/controllers/Pioneer CDJ-350 Ch1.midi.xml
+%%DATADIR%%/controllers/Pioneer CDJ-350 Ch2.midi.xml
+%%DATADIR%%/controllers/Pioneer CDJ-850.midi.xml
+%%DATADIR%%/controllers/Pioneer DDJ-SX.midi.xml
+%%DATADIR%%/controllers/Pioneer-CDJ-2000-scripts.js
+%%DATADIR%%/controllers/Pioneer-CDJ-350-scripts.js
+%%DATADIR%%/controllers/Pioneer-CDJ-850-scripts.js
+%%DATADIR%%/controllers/Pioneer-CDJ-HID.js
+%%DATADIR%%/controllers/Pioneer-DDJ-SB-scripts.js
+%%DATADIR%%/controllers/Pioneer-DDJ-SB.midi.xml
+%%DATADIR%%/controllers/Pioneer-DDJ-SB2-scripts.js
+%%DATADIR%%/controllers/Pioneer-DDJ-SB2.midi.xml
+%%DATADIR%%/controllers/Pioneer-DDJ-SX-scripts.js
+%%DATADIR%%/controllers/README.txt
+%%DATADIR%%/controllers/Reloop Beatmix 2-4.midi.xml
+%%DATADIR%%/controllers/Reloop Beatpad.midi.xml
+%%DATADIR%%/controllers/Reloop Digital Jockey 2 Controller Edition.midi.xml
+%%DATADIR%%/controllers/Reloop Jockey 3 ME.midi.xml
+%%DATADIR%%/controllers/Reloop Terminal Mix 2-4.js
+%%DATADIR%%/controllers/Reloop Terminal Mix 2-4.midi.xml
+%%DATADIR%%/controllers/Reloop-Beatmix-2-4-scripts.js
+%%DATADIR%%/controllers/Reloop-Beatpad-scripts.js
+%%DATADIR%%/controllers/Reloop-Digital-Jockey2-Controller-scripts.js
+%%DATADIR%%/controllers/Reloop-Jockey-3-ME-scripts.js
+%%DATADIR%%/controllers/Sony SixxAxis.hid.xml
+%%DATADIR%%/controllers/Sony-SixxAxis.js
+%%DATADIR%%/controllers/Stanton SCS.1d.midi.xml
+%%DATADIR%%/controllers/Stanton SCS.1m.midi.xml
+%%DATADIR%%/controllers/Stanton SCS.3d Alternate.midi.xml
+%%DATADIR%%/controllers/Stanton SCS.3d.midi.xml
+%%DATADIR%%/controllers/Stanton SCS.3m.midi.xml
+%%DATADIR%%/controllers/Stanton-SCS1d-scripts.js
+%%DATADIR%%/controllers/Stanton-SCS1m-scripts.js
+%%DATADIR%%/controllers/Stanton-SCS3d-alternate-scripts.js
+%%DATADIR%%/controllers/Stanton-SCS3d-scripts.js
+%%DATADIR%%/controllers/Stanton-SCS3m-scripts.js
+%%DATADIR%%/controllers/TrakProDJ iPad.midi.xml
+%%DATADIR%%/controllers/TrakProDJ-iPad-scripts.js
+%%DATADIR%%/controllers/Traktor Kontrol F1.hid.xml
+%%DATADIR%%/controllers/Traktor Kontrol S4 MK2.hid.xml
+%%DATADIR%%/controllers/Traktor Kontrol X1.midi.xml
+%%DATADIR%%/controllers/Traktor-Kontrol-F1-scripts.js
+%%DATADIR%%/controllers/Traktor-Kontrol-S4-MK2-hid-scripts.js
+%%DATADIR%%/controllers/Traktor-Kontrol-X1.js
+%%DATADIR%%/controllers/Vestax Spin.midi.xml
+%%DATADIR%%/controllers/Vestax Typhoon Enhanced.midi.xml
+%%DATADIR%%/controllers/Vestax Typhoon.midi.xml
+%%DATADIR%%/controllers/Vestax VCI-100-3DEX.midi.xml
+%%DATADIR%%/controllers/Vestax VCI-100-hile.midi.xml
+%%DATADIR%%/controllers/Vestax VCI-100.midi.xml
+%%DATADIR%%/controllers/Vestax VCI-100MKII.midi.xml
+%%DATADIR%%/controllers/Vestax VCI-300.midi.xml
+%%DATADIR%%/controllers/Vestax VCI-400.midi.xml
+%%DATADIR%%/controllers/Vestax-Spin-scripts.js
+%%DATADIR%%/controllers/Vestax-Typhoon-scripts.js
+%%DATADIR%%/controllers/Vestax-VCI-100-3DEX-scripts.js
+%%DATADIR%%/controllers/Vestax-VCI-100-hile.js
+%%DATADIR%%/controllers/Vestax-VCI-100-scripts.js
+%%DATADIR%%/controllers/Vestax-VCI-100MKII-scripts.js
+%%DATADIR%%/controllers/Vestax-VCI-300-scripts.js
+%%DATADIR%%/controllers/Vestax-VCI-400-scripts.js
+%%DATADIR%%/controllers/Wireless DJ App.midi.xml
+%%DATADIR%%/controllers/Wireless-DJ-scripts.js
+%%DATADIR%%/controllers/common-bulk-midi.js
+%%DATADIR%%/controllers/common-controller-scripts.js
+%%DATADIR%%/controllers/common-hid-devices.js
+%%DATADIR%%/controllers/common-hid-packet-parser.js
+%%DATADIR%%/controllers/convertToXMLSchemaV1.php
+%%DATADIR%%/controllers/korg_nanokontrol2.mixco.output.js
+%%DATADIR%%/controllers/korg_nanokontrol2.mixco.output.midi.xml
+%%DATADIR%%/controllers/lodash.mixxx.js
+%%DATADIR%%/controllers/maudio_xponent.mixco.output.js
+%%DATADIR%%/controllers/maudio_xponent.mixco.output.midi.xml
+%%DATADIR%%/controllers/midi-components-0.0.js
+%%DATADIR%%/controllers/mixco/README.md
+%%DATADIR%%/controllers/mixco/korg_nanokontrol2.mixco.litcoffee
+%%DATADIR%%/controllers/mixco/maudio_xponent.mixco.litcoffee
+%%DATADIR%%/controllers/mixco/novation_twitch.mixco.js
+%%DATADIR%%/controllers/novation-launchpad/.babelrc
+%%DATADIR%%/controllers/novation-launchpad/.editorconfig
+%%DATADIR%%/controllers/novation-launchpad/.eslintignore
+%%DATADIR%%/controllers/novation-launchpad/.eslintrc.yaml
+%%DATADIR%%/controllers/novation-launchpad/.gitignore
+%%DATADIR%%/controllers/novation-launchpad/LICENSE
+%%DATADIR%%/controllers/novation-launchpad/Makefile
+%%DATADIR%%/controllers/novation-launchpad/README.MD
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-1.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-2.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-3.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-4.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-mki-grande.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-mki-juggler.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-mki-layout.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-mki-sampler.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-mki-short.png
+%%DATADIR%%/controllers/novation-launchpad/docs/lp-mki-tall.png
+%%DATADIR%%/controllers/novation-launchpad/lerna.json
+%%DATADIR%%/controllers/novation-launchpad/package.json
+%%DATADIR%%/controllers/novation-launchpad/packages/app/.flowconfig
+%%DATADIR%%/controllers/novation-launchpad/packages/app/flow-typed/mk-specs.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/flow-typed/npm/eventemitter3_v2.x.x.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/package.json
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/Bpm.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/Layout.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/ModifierSidebar.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/PlaylistSidebar.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/Preset.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/Screen.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/beatjump.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/beatloop.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/cue.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/grid.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/hotcue.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/key.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/keyshift.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/load.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/loopIo.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/loopMultiply.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/loopjump.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/nudge.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/pfl.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/play.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/quantize.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/reloop.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/slip.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/sync.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/controls/tap.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/presets/Grande.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/presets/Juggler.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/presets/Sampler.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/presets/Short.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/App/presets/Tall.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/Component.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/Controls/ControlComponent.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/Controls/MidiComponent.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/Launchpad/Button.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/Launchpad/MidiBus.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/Launchpad/index.js
+%%DATADIR%%/controllers/novation-launchpad/packages/app/src/index.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk-specs@1.0.0/buttons.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk-specs@1.0.0/colors.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk-specs@1.0.0/package.json
+%%DATADIR%%/controllers/novation-launchpad/packages/mk-specs@2.0.0/buttons.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk-specs@2.0.0/colors.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk-specs@2.0.0/package.json
+%%DATADIR%%/controllers/novation-launchpad/packages/mk1/buttons.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk1/index.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk1/package.json
+%%DATADIR%%/controllers/novation-launchpad/packages/mk1/template.xml.ejs
+%%DATADIR%%/controllers/novation-launchpad/packages/mk2/buttons.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk2/index.js
+%%DATADIR%%/controllers/novation-launchpad/packages/mk2/package.json
+%%DATADIR%%/controllers/novation-launchpad/packages/mk2/template.xml.ejs
+%%DATADIR%%/controllers/novation-launchpad/scripts/compile-mapping.js
+%%DATADIR%%/controllers/novation-launchpad/scripts/compile-scripts.js
+%%DATADIR%%/controllers/novation_twitch.mixco.output.js
+%%DATADIR%%/controllers/novation_twitch.mixco.output.midi.xml
+%%DATADIR%%/controllers/us428.midi.xml
+%%DATADIR%%/fonts/OpenSans-Regular.ttf
+%%DATADIR%%/fonts/OpenSans.LICENSE.txt
+%%DATADIR%%/fonts/Ubuntu-B.ttf
+%%DATADIR%%/fonts/Ubuntu-R.ttf
+%%DATADIR%%/fonts/Ubuntu.LICENCE.txt
+%%DATADIR%%/keyboard/cs_CZ.kbd.cfg
+%%DATADIR%%/keyboard/da_DK.kbd.cfg
+%%DATADIR%%/keyboard/de_CH.kbd.cfg
+%%DATADIR%%/keyboard/de_DE.kbd.cfg
+%%DATADIR%%/keyboard/el_GR.kbd.cfg
+%%DATADIR%%/keyboard/en_US.kbd.cfg
+%%DATADIR%%/keyboard/es_ES.kbd.cfg
+%%DATADIR%%/keyboard/fi_FI.kbd.cfg
+%%DATADIR%%/keyboard/fr_CH.kbd.cfg
+%%DATADIR%%/keyboard/fr_FR.kbd.cfg
+%%DATADIR%%/keyboard/it_IT.kbd.cfg
+%%DATADIR%%/keyboard/ru_RU.kbd.cfg
+%%DATADIR%%/skins/Deere (64 Samplers)/preferences_preview_screenshot.png
+%%DATADIR%%/skins/Deere (64 Samplers)/sample_decks.xml
+%%DATADIR%%/skins/Deere (64 Samplers)/skin.xml
+%%DATADIR%%/skins/Deere (64 Samplers)/skin_settings.xml
+%%DATADIR%%/skins/Deere/auxiliary.xml
+%%DATADIR%%/skins/Deere/beatjump.xml
+%%DATADIR%%/skins/Deere/beatloop_button.xml
+%%DATADIR%%/skins/Deere/crossfader_orientation_button.xml
+%%DATADIR%%/skins/Deere/deck.xml
+%%DATADIR%%/skins/Deere/deck_controls_row.xml
+%%DATADIR%%/skins/Deere/deck_overview_row.xml
+%%DATADIR%%/skins/Deere/deck_tempo_column.xml
+%%DATADIR%%/skins/Deere/deck_text_row.xml
+%%DATADIR%%/skins/Deere/deck_visual_row.xml
+%%DATADIR%%/skins/Deere/effect_button_parameter.xml
+%%DATADIR%%/skins/Deere/effect_buttons.xml
+%%DATADIR%%/skins/Deere/effect_focus_button.xml
+%%DATADIR%%/skins/Deere/effect_meta_knob.xml
+%%DATADIR%%/skins/Deere/effect_parameter_knob.xml
+%%DATADIR%%/skins/Deere/effect_rack.xml
+%%DATADIR%%/skins/Deere/effect_single_no_parameters.xml
+%%DATADIR%%/skins/Deere/effect_single_with_parameters.xml
+%%DATADIR%%/skins/Deere/effect_single_with_parameters_row.xml
+%%DATADIR%%/skins/Deere/effect_unit.xml
+%%DATADIR%%/skins/Deere/effect_unit_no_parameters.xml
+%%DATADIR%%/skins/Deere/effect_unit_with_parameters.xml
+%%DATADIR%%/skins/Deere/equalizer_rack_parameter_left.xml
+%%DATADIR%%/skins/Deere/equalizer_rack_parameter_right.xml
+%%DATADIR%%/skins/Deere/fx_unit_group_assignment_button.xml
+%%DATADIR%%/skins/Deere/handle-crossfader-blue.svg
+%%DATADIR%%/skins/Deere/handle-crossfader-grey.svg
+%%DATADIR%%/skins/Deere/handle-crossfader-lime.svg
+%%DATADIR%%/skins/Deere/handle-crossfader-orange.svg
+%%DATADIR%%/skins/Deere/handle-vertical-blue.svg
+%%DATADIR%%/skins/Deere/handle-vertical-carmine.svg
+%%DATADIR%%/skins/Deere/handle-vertical-grey.svg
+%%DATADIR%%/skins/Deere/handle-vertical-lime.svg
+%%DATADIR%%/skins/Deere/handle-vertical-orange.svg
+%%DATADIR%%/skins/Deere/handle-vertical-purple.svg
+%%DATADIR%%/skins/Deere/hide_show_button.xml
+%%DATADIR%%/skins/Deere/hotcue.xml
+%%DATADIR%%/skins/Deere/hotcue_button.xml
+%%DATADIR%%/skins/Deere/icon/ic_add_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_autodj_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beatjump_backward_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beatjump_forward_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beatloop_activate_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beats_adjust_faster_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beats_adjust_slower_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beats_translate_alignment_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beats_translate_curpos_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beats_translate_earlier_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_beats_translate_later_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_broadcast_0_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_broadcast_1_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_broadcast_2_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_broadcast_3_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_down_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_down_selector.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_down_selector_hover.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_left_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_right_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_up_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_up_selector.svg
+%%DATADIR%%/skins/Deere/icon/ic_chevron_up_selector_hover.svg
+%%DATADIR%%/skins/Deere/icon/ic_clear_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_eject_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_fast_forward_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_fast_rewind_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_headphones_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_key_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_loop_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_loop_in_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_loop_move_backward_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_loop_move_forward_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_loop_out_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_menu_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_orientation_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_orientation_left_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_orientation_right_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_pause_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_play_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_power_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_quantize_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_radio_button_off_18px.svg
+%%DATADIR%%/skins/Deere/icon/ic_radio_button_off_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_radio_button_on_18px.svg
+%%DATADIR%%/skins/Deere/icon/ic_radio_button_on_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_record_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_recording_0_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_recording_1_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_recording_2_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_recording_3_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_remove_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_repeat_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_reverse_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_settings_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_slip_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_spinny_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_unfold_less_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_unfold_more_48px.svg
+%%DATADIR%%/skins/Deere/icon/ic_vinylcontrol_1_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_vinylcontrol_2_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_vinylcontrol_32px.svg
+%%DATADIR%%/skins/Deere/icon/ic_vinylcontrol_3_32px.svg
+%%DATADIR%%/skins/Deere/image/marker_cue.png
+%%DATADIR%%/skins/Deere/image/marker_loop_in.png
+%%DATADIR%%/skins/Deere/image/marker_loop_out.png
+%%DATADIR%%/skins/Deere/image/mixxx_logo.svg
+%%DATADIR%%/skins/Deere/image/style_branch_closed.png
+%%DATADIR%%/skins/Deere/image/style_branch_open.png
+%%DATADIR%%/skins/Deere/image/style_checkbox_checked.png
+%%DATADIR%%/skins/Deere/image/style_checkbox_unchecked.png
+%%DATADIR%%/skins/Deere/image/style_handle_horizontal_checked.svg
+%%DATADIR%%/skins/Deere/image/style_handle_horizontal_unchecked.svg
+%%DATADIR%%/skins/Deere/image/style_handle_vertical_checked.svg
+%%DATADIR%%/skins/Deere/image/style_handle_vertical_unchecked.svg
+%%DATADIR%%/skins/Deere/image/style_library_preview_pause.png
+%%DATADIR%%/skins/Deere/image/style_library_preview_play.png
+%%DATADIR%%/skins/Deere/image/style_sort_down.svg
+%%DATADIR%%/skins/Deere/image/style_sort_up.svg
+%%DATADIR%%/skins/Deere/image/vinyl_spinny_background.svg
+%%DATADIR%%/skins/Deere/image/vinyl_spinny_cover_mask.svg
+%%DATADIR%%/skins/Deere/image/vinyl_spinny_foreground.svg
+%%DATADIR%%/skins/Deere/image/vinyl_spinny_foreground_ghost.svg
+%%DATADIR%%/skins/Deere/knob.svg
+%%DATADIR%%/skins/Deere/knob.xml
+%%DATADIR%%/skins/Deere/knob_bg_blue.svg
+%%DATADIR%%/skins/Deere/knob_bg_blue_gapless.svg
+%%DATADIR%%/skins/Deere/knob_bg_carmine.svg
+%%DATADIR%%/skins/Deere/knob_bg_green.svg
+%%DATADIR%%/skins/Deere/knob_bg_grey.svg
+%%DATADIR%%/skins/Deere/knob_bg_lime.svg
+%%DATADIR%%/skins/Deere/knob_bg_orange.svg
+%%DATADIR%%/skins/Deere/knob_bg_purple.svg
+%%DATADIR%%/skins/Deere/knob_bg_purple_gapless.svg
+%%DATADIR%%/skins/Deere/knob_small.svg
+%%DATADIR%%/skins/Deere/knob_toolbar.svg
+%%DATADIR%%/skins/Deere/knob_toolbar.xml
+%%DATADIR%%/skins/Deere/knob_with_button.xml
+%%DATADIR%%/skins/Deere/knob_with_button_left.xml
+%%DATADIR%%/skins/Deere/knob_with_button_right.xml
+%%DATADIR%%/skins/Deere/knob_with_label.xml
+%%DATADIR%%/skins/Deere/left_1state_button.xml
+%%DATADIR%%/skins/Deere/left_2state_button.xml
+%%DATADIR%%/skins/Deere/left_3state_button.xml
+%%DATADIR%%/skins/Deere/left_5state_button.xml
+%%DATADIR%%/skins/Deere/left_display_2state_button.xml
+%%DATADIR%%/skins/Deere/left_display_4state_button.xml
+%%DATADIR%%/skins/Deere/left_gutter.xml
+%%DATADIR%%/skins/Deere/left_right_1state_button.xml
+%%DATADIR%%/skins/Deere/left_right_2state_button.xml
+%%DATADIR%%/skins/Deere/left_right_display_2state_button.xml
+%%DATADIR%%/skins/Deere/library.xml
+%%DATADIR%%/skins/Deere/loop.xml
+%%DATADIR%%/skins/Deere/main_decks.xml

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811142111.wAELBqPB052225>