aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2004-06-26 06:07:01 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2004-06-26 06:07:01 +0000
commit18dd10fbb716aa37c5d3c9c5bc187797abe17331 (patch)
tree8b9bdb02524deef9e6a124841394666f36bcd3ec
parent66d0d7c3587486cbd31ff6819a29d58708ecd17b (diff)
downloadports-18dd10fbb716aa37c5d3c9c5bc187797abe17331.tar.gz
ports-18dd10fbb716aa37c5d3c9c5bc187797abe17331.zip
Notes
-rw-r--r--audio/Makefile1
-rw-r--r--audio/mixxx/Makefile57
-rw-r--r--audio/mixxx/distinfo2
-rw-r--r--audio/mixxx/files/patch-src::build.definition41
-rw-r--r--audio/mixxx/files/patch-src::check.qbas11
-rw-r--r--audio/mixxx/files/patch-src::compat_round.cpp258
-rw-r--r--audio/mixxx/files/patch-src::compat_round.h9
-rw-r--r--audio/mixxx/files/patch-src::configure20
-rw-r--r--audio/mixxx/files/patch-src::enginebuffer.cpp28
-rw-r--r--audio/mixxx/files/patch-src::mixxx.cpp45
-rw-r--r--audio/mixxx/files/patch-src::mixxx.h10
-rw-r--r--audio/mixxx/files/patch-src::mixxx.pro92
-rw-r--r--audio/mixxx/files/patch-src::playerportaudio.cpp11
-rw-r--r--audio/mixxx/files/patch-src::probabilityvector.cpp19
-rw-r--r--audio/mixxx/files/patch-src::soundsourcesndfile.cpp11
-rw-r--r--audio/mixxx/files/patch-src::wvisualwaveform.cpp11
-rw-r--r--audio/mixxx/pkg-descr9
-rw-r--r--audio/mixxx/pkg-plist1133
18 files changed, 1768 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index 84c35989bb0c..f34dae79d456 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -199,6 +199,7 @@
SUBDIR += midimountain
SUBDIR += mikmod
SUBDIR += mixer.app
+ SUBDIR += mixxx
SUBDIR += modplugplay
SUBDIR += mp32ogg
SUBDIR += mp3_check
diff --git a/audio/mixxx/Makefile b/audio/mixxx/Makefile
new file mode 100644
index 000000000000..7c424ae335a3
--- /dev/null
+++ b/audio/mixxx/Makefile
@@ -0,0 +1,57 @@
+# New ports collection makefile for: Mixxx
+# Date created: 25 Jun 2004
+# Whom: Jean-Yves Lefort <jylefort@brutele.be>
+#
+# $FreeBSD$
+#
+
+PORTNAME= mixxx
+PORTVERSION= 1.3.2
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+
+MAINTAINER= jylefort@brutele.be
+COMMENT= A DJ mixing application
+
+BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash2 \
+ qmake:${PORTSDIR}/devel/qmake
+LIB_DEPENDS= samplerate:${PORTSDIR}/audio/libsamplerate \
+ portaudio:${PORTSDIR}/audio/portaudio \
+ mad:${PORTSDIR}/audio/libmad \
+ id3tag:${PORTSDIR}/audio/libid3tag \
+ vorbis:${PORTSDIR}/audio/libvorbis \
+ sndfile:${PORTSDIR}/audio/libsndfile
+
+USE_X_PREFIX= yes
+USE_QT_VER= 3
+USE_REINPLACE= yes
+HAS_CONFIGURE= yes
+
+CONFIGURE_WRKSRC= ${WRKSRC}/src
+BUILD_WRKSRC= ${WRKSRC}/src
+INSTALL_WRKSRC= ${WRKSRC}/src
+
+CONFIGURE_ENV= QTDIR="${X11BASE}" \
+ QMAKESPEC="freebsd-g++" \
+ NOPORTDOCS="${NOPORTDOCS}"
+MAKE_ENV= QTDIR="${X11BASE}"
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e 's|@LOCALBASE@|${LOCALBASE}|g' \
+ -e 's|@X11BASE@|${X11BASE}|g' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} \
+ ${CONFIGURE_WRKSRC}/check.qbas
+
+.if !defined(NOPORTDOCS)
+post-install:
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/Mixxx-Manual.pdf ${WRKSRC}/README ${DOCSDIR}
+.endif
+
+.include <bsd.port.pre.mk>
+
+CONFIGURE_ARGS= --prefix=${PREFIX}
+
+.include <bsd.port.post.mk>
diff --git a/audio/mixxx/distinfo b/audio/mixxx/distinfo
new file mode 100644
index 000000000000..a09ea74c4865
--- /dev/null
+++ b/audio/mixxx/distinfo
@@ -0,0 +1,2 @@
+MD5 (mixxx-1.3.2.tar.gz) = 0562b94bbb0ddb53854719f0a0b319fd
+SIZE (mixxx-1.3.2.tar.gz) = 3752254
diff --git a/audio/mixxx/files/patch-src::build.definition b/audio/mixxx/files/patch-src::build.definition
new file mode 100644
index 000000000000..6aeffbd0b8cc
--- /dev/null
+++ b/audio/mixxx/files/patch-src::build.definition
@@ -0,0 +1,41 @@
+--- src/build.definition.orig Fri Jun 11 19:31:04 2004
++++ src/build.definition Fri Jun 25 22:13:33 2004
+@@ -57,6 +57,38 @@
+
+
+
++# SAMPLERATE --------------------------------------------------------
++OBJECT = libsamplerate.a
++TYPE = lib
++DESCRIPTION =
++TIP_MESSAGE =
++LINK_LIBS = -lsamplerate
++ADD_DEFINES =
++OPTIONS = exit_on_failure marked_static
++#----------------------------------------------------------------------
++# Check routines (DON'T TOUCH!)
++include( check.qbas )
++#----------------------------------------------------------------------
++
++
++
++
++# PORTAUDIO ---------------------------------------------------------
++OBJECT = libportaudio.a
++TYPE = lib
++DESCRIPTION =
++TIP_MESSAGE =
++LINK_LIBS = -lportaudio
++ADD_DEFINES =
++OPTIONS = exit_on_failure marked_static
++#----------------------------------------------------------------------
++# Check routines (DON'T TOUCH!)
++include( check.qbas )
++#----------------------------------------------------------------------
++
++
++
++
+ # MAD ---------------------------------------------------------------
+ OBJECT = libmad.a
+ TYPE = lib
diff --git a/audio/mixxx/files/patch-src::check.qbas b/audio/mixxx/files/patch-src::check.qbas
new file mode 100644
index 000000000000..cfb9b9a1c289
--- /dev/null
+++ b/audio/mixxx/files/patch-src::check.qbas
@@ -0,0 +1,11 @@
+--- src/check.qbas.orig Fri Jun 25 22:37:11 2004
++++ src/check.qbas Fri Jun 25 22:42:36 2004
+@@ -169,7 +169,7 @@
+ # At first ----> check using LD
+ # --------------------------------------
+ !isEmpty( LINK_LIBS ) {
+- system( ld $${LINK_LIBS} 2>/dev/null ) {
++ system( ld -shared -L@LOCALBASE@/lib -L@X11BASE@/lib $${LINK_LIBS} 2>/dev/null ) {
+ FOUND = true
+ }
+ }
diff --git a/audio/mixxx/files/patch-src::compat_round.cpp b/audio/mixxx/files/patch-src::compat_round.cpp
new file mode 100644
index 000000000000..2fdb1ebb93a3
--- /dev/null
+++ b/audio/mixxx/files/patch-src::compat_round.cpp
@@ -0,0 +1,258 @@
+--- src/compat_round.cpp.orig Fri Jun 25 22:50:04 2004
++++ src/compat_round.cpp Fri Jun 25 22:50:24 2004
+@@ -0,0 +1,255 @@
++/* ====================================================
++ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
++ *
++ * Developed at SunPro, a Sun Microsystems, Inc. business.
++ * Permission to use, copy, modify, and distribute this
++ * software is freely granted, provided that this notice
++ * is preserved.
++ * ====================================================
++ *
++ * Copyright (c) 2003, Steven G. Kargl
++ * Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
++ * Copyright (c) 2002, 2003 David Schultz <dschultz@uclink.Berkeley.EDU>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice unmodified, this list of conditions, and the following
++ * disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++
++#include <math.h>
++
++/* Symbolic constants to classify floating point numbers. */
++#define COMPAT_FP_INFINITE 0x01
++#define COMPAT_FP_NAN 0x02
++#define COMPAT_FP_NORMAL 0x04
++#define COMPAT_FP_SUBNORMAL 0x08
++#define COMPAT_FP_ZERO 0x10
++
++#include <sys/endian.h>
++#define compat_fpclassify(x) \
++ ((sizeof (x) == sizeof (float)) ? compat___fpclassifyf(x) \
++ : (sizeof (x) == sizeof (double)) ? compat___fpclassifyd(x) \
++ : compat___fpclassifyl(x))
++
++union compat_IEEEf2bits {
++ float f;
++ struct {
++#if _BYTE_ORDER == _LITTLE_ENDIAN
++ unsigned int man :23;
++ unsigned int exp :8;
++ unsigned int sign :1;
++#else /* _BIG_ENDIAN */
++ unsigned int sign :1;
++ unsigned int exp :8;
++ unsigned int man :23;
++#endif
++ } bits;
++};
++
++union compat_IEEEd2bits {
++ double d;
++ struct {
++#if _BYTE_ORDER == _LITTLE_ENDIAN
++ unsigned int manl :32;
++ unsigned int manh :20;
++ unsigned int exp :11;
++ unsigned int sign :1;
++#else /* _BIG_ENDIAN */
++ unsigned int sign :1;
++ unsigned int exp :11;
++ unsigned int manh :20;
++ unsigned int manl :32;
++#endif
++ } bits;
++};
++
++#ifdef __alpha__
++union compat_IEEEl2bits {
++ long double e;
++ struct {
++ unsigned int manl :32;
++ unsigned int manh :20;
++ unsigned int exp :11;
++ unsigned int sign :1;
++ } bits;
++};
++#define compat_mask_nbit_l(u) ((void)0)
++#elif __amd64__
++union compat_IEEEl2bits {
++ long double e;
++ struct {
++ unsigned int manl :32;
++ unsigned int manh :32;
++ unsigned int exp :15;
++ unsigned int sign :1;
++ unsigned int junkl :16;
++ unsigned int junkh :32;
++ } bits;
++};
++#define compat_mask_nbit_l(u) ((u).bits.manh &= 0x7fffffff)
++#elif __arm__
++union compat_IEEEl2bits {
++ long double e;
++ struct {
++ unsigned int manl :32;
++ unsigned int manh :32;
++ unsigned int exp :15;
++ unsigned int sign :1;
++ unsigned int junk :16;
++ } bits;
++};
++#define compat_mask_nbit_l(u) ((u).bits.manh &= 0x7fffffff)
++#elif __i386__
++union compat_IEEEl2bits {
++ long double e;
++ struct {
++ unsigned int manl :32;
++ unsigned int manh :32;
++ unsigned int exp :15;
++ unsigned int sign :1;
++ unsigned int junk :16;
++ } bits;
++};
++#define compat_mask_nbit_l(u) ((u).bits.manh &= 0x7fffffff)
++#elif __ia64__
++union compat_IEEEl2bits {
++ long double e;
++ struct {
++#if _BYTE_ORDER == _LITTLE_ENDIAN
++ unsigned int manl :32;
++ unsigned int manh :32;
++ unsigned int exp :15;
++ unsigned int sign :1;
++ unsigned long junk :48;
++#else /* _BIG_ENDIAN */
++ unsigned long junk :48;
++ unsigned int sign :1;
++ unsigned int exp :15;
++ unsigned int manh :32;
++ unsigned int manl :32;
++#endif
++ } bits;
++};
++#define compat_mask_nbit_l(u) ((u).bits.manh &= 0x7fffffff)
++#elif __powerpc__
++union compat_IEEEl2bits {
++ long double e;
++ struct {
++ unsigned int sign :1;
++ unsigned int exp :15;
++ unsigned long long manh :48;
++ unsigned long long manl :64;
++ } bits;
++};
++#define compat_mask_nbit_l(u) ((void)0)
++#elif __sparc64__
++union compat_IEEEl2bits {
++ long double e;
++ struct {
++ unsigned int sign :1;
++ unsigned int exp :15;
++ unsigned long manh :48;
++ unsigned long manl :64;
++ } bits;
++};
++#define compat_mask_nbit_l(u) ((void)0)
++#endif
++
++static int
++compat___fpclassifyf(float f)
++{
++ union compat_IEEEf2bits u;
++
++ u.f = f;
++ if (u.bits.exp == 0) {
++ if (u.bits.man == 0)
++ return (COMPAT_FP_ZERO);
++ return (COMPAT_FP_SUBNORMAL);
++ }
++ if (u.bits.exp == 255) {
++ if (u.bits.man == 0)
++ return (COMPAT_FP_INFINITE);
++ return (COMPAT_FP_NAN);
++ }
++ return (COMPAT_FP_NORMAL);
++}
++
++static int
++compat___fpclassifyd(double d)
++{
++ union compat_IEEEd2bits u;
++
++ u.d = d;
++ if (u.bits.exp == 0) {
++ if ((u.bits.manl | u.bits.manh) == 0)
++ return (COMPAT_FP_ZERO);
++ return (COMPAT_FP_SUBNORMAL);
++ }
++ if (u.bits.exp == 2047) {
++ if ((u.bits.manl | u.bits.manh) == 0)
++ return (COMPAT_FP_INFINITE);
++ return (COMPAT_FP_NAN);
++ }
++ return (COMPAT_FP_NORMAL);
++}
++
++static int
++compat___fpclassifyl(long double e)
++{
++ union compat_IEEEl2bits u;
++
++ u.e = e;
++ if (u.bits.exp == 0) {
++ if ((u.bits.manl | u.bits.manh) == 0)
++ return (COMPAT_FP_ZERO);
++ return (COMPAT_FP_SUBNORMAL);
++ }
++ compat_mask_nbit_l(u); /* Mask normalization bit if applicable. */
++ if (u.bits.exp == 32767) {
++ if ((u.bits.manl | u.bits.manh) == 0)
++ return (COMPAT_FP_INFINITE);
++ return (COMPAT_FP_NAN);
++ }
++ return (COMPAT_FP_NORMAL);
++}
++
++double
++compat_round(double x)
++{
++ double t;
++ int i;
++
++ i = compat_fpclassify(x);
++ if (i == COMPAT_FP_INFINITE || i == COMPAT_FP_NAN)
++ return (x);
++
++ if (x >= 0.0) {
++ t = ceil(x);
++ if (t - x > 0.5)
++ t -= 1.0;
++ return (t);
++ } else {
++ t = ceil(-x);
++ if (t + x > 0.5)
++ t -= 1.0;
++ return (-t);
++ }
++}
diff --git a/audio/mixxx/files/patch-src::compat_round.h b/audio/mixxx/files/patch-src::compat_round.h
new file mode 100644
index 000000000000..e8fc945f4203
--- /dev/null
+++ b/audio/mixxx/files/patch-src::compat_round.h
@@ -0,0 +1,9 @@
+--- src/compat_round.h.orig Fri Jun 25 22:50:14 2004
++++ src/compat_round.h Fri Jun 25 22:50:24 2004
+@@ -0,0 +1,6 @@
++#ifndef _COMPAT_ROUND_H
++#define _COMPAT_ROUND_H
++
++double compat_round (double x);
++
++#endif /* _COMPAT_ROUND_H */
diff --git a/audio/mixxx/files/patch-src::configure b/audio/mixxx/files/patch-src::configure
new file mode 100644
index 000000000000..c687089eb843
--- /dev/null
+++ b/audio/mixxx/files/patch-src::configure
@@ -0,0 +1,20 @@
+--- src/configure.orig Fri Jun 25 22:52:48 2004
++++ src/configure Fri Jun 25 22:53:23 2004
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!@LOCALBASE@/bin/bash
+
+ #************************************************************************
+ # QBAS
+@@ -369,9 +369,9 @@
+
+ ######################### qmake, uic, moc checking
+ #
+-if test -e $QTDIR/bin/qmake ;
++if test -e @LOCALBASE@/bin/qmake ;
+ then
+- QT_QMAKE_EXEC="$QTDIR/bin/qmake" ;
++ QT_QMAKE_EXEC="@LOCALBASE@/bin/qmake" ;
+ RES="yes"
+ else
+ find /usr -name qmake 1> temp ;
diff --git a/audio/mixxx/files/patch-src::enginebuffer.cpp b/audio/mixxx/files/patch-src::enginebuffer.cpp
new file mode 100644
index 000000000000..91e9856f3699
--- /dev/null
+++ b/audio/mixxx/files/patch-src::enginebuffer.cpp
@@ -0,0 +1,28 @@
+--- src/enginebuffer.cpp.orig Fri Jun 25 19:27:39 2004
++++ src/enginebuffer.cpp Fri Jun 25 19:28:08 2004
+@@ -32,6 +32,7 @@
+ #include "visual/visualchannel.h"
+ #include "mathstuff.h"
+ #include "player.h"
++#include "compat_round.h"
+
+
+ // Static default values for rate buttons
+@@ -361,7 +362,7 @@
+ //qDebug("seeking... %f",change);
+
+ // Find new playpos
+- double new_playpos = round(change*file_length_old);
++ double new_playpos = compat_round(change*file_length_old);
+ if (!even((int)new_playpos))
+ new_playpos--;
+ if (new_playpos > file_length_old)
+@@ -382,7 +383,7 @@
+ // Set the cue point at the current play position:
+ void EngineBuffer::slotControlCueSet(double)
+ {
+- double cue = max(0.,round(filepos_play-Player::getBufferSize()));
++ double cue = max(0.,compat_round(filepos_play-Player::getBufferSize()));
+ if (!even((int)cue))
+ cue--;
+ cuePoint->set(cue);
diff --git a/audio/mixxx/files/patch-src::mixxx.cpp b/audio/mixxx/files/patch-src::mixxx.cpp
new file mode 100644
index 000000000000..af8e3f277282
--- /dev/null
+++ b/audio/mixxx/files/patch-src::mixxx.cpp
@@ -0,0 +1,45 @@
+--- src/mixxx.cpp.orig Fri Jun 25 20:52:15 2004
++++ src/mixxx.cpp Fri Jun 25 21:17:32 2004
+@@ -29,6 +29,7 @@
+ #include <qlabel.h>
+ #include <qdir.h>
+ #include <qptrlist.h>
++#include <qtimer.h>
+
+ #include "wknob.h"
+ #include "wslider.h"
+@@ -85,6 +86,11 @@
+
+ #include "playerproxy.h"
+
++void MixxxApp::Timeout()
++{
++ // nop
++}
++
+ MixxxApp::MixxxApp(QApplication *a, QStringList files)
+ {
+ app = a;
+@@ -113,7 +119,7 @@
+ // On Windows and Mac it is always (and only) app dir.
+ //
+ QString qConfigPath;
+-#ifdef __LINUX__
++#if defined(__LINUX__) || defined(__FreeBSD__)
+ // On Linux, check if the path is stored in the configuration database.
+ if (config->getValueString(ConfigKey("[Config]","Path")).length()>0 && QDir(config->getValueString(ConfigKey("[Config]","Path"))).exists())
+ qConfigPath = config->getValueString(ConfigKey("[Config]","Path"));
+@@ -381,7 +387,12 @@
+ #ifndef __WIN__
+ new MixxxSocketServer(m_pTrack);
+ #endif
+-
++
++ // Keep the sound alive
++ QTimer *timer = new QTimer(this);
++ connect(timer, SIGNAL(timeout()), SLOT(Timeout()));
++ timer->start(100);
++
+ // Call inits to invoke all other construction parts
+ initActions();
+ initMenuBar();
diff --git a/audio/mixxx/files/patch-src::mixxx.h b/audio/mixxx/files/patch-src::mixxx.h
new file mode 100644
index 000000000000..484fa1bb2d03
--- /dev/null
+++ b/audio/mixxx/files/patch-src::mixxx.h
@@ -0,0 +1,10 @@
+--- src/mixxx.h.orig Fri Jun 25 21:13:01 2004
++++ src/mixxx.h Fri Jun 25 21:13:29 2004
+@@ -96,6 +96,7 @@
+ /** Change of file to play */
+ //void slotChangePlay(int,int,int, const QPoint &);
+ private:
++ void Timeout();
+ /** view is the main widget which represents your working area. The View
+ * class should handle all events of the view widget. It is kept empty so
+ * you can create your view according to your application's needs by
diff --git a/audio/mixxx/files/patch-src::mixxx.pro b/audio/mixxx/files/patch-src::mixxx.pro
new file mode 100644
index 000000000000..20d0255c9934
--- /dev/null
+++ b/audio/mixxx/files/patch-src::mixxx.pro
@@ -0,0 +1,92 @@
+--- src/mixxx.pro.orig Tue Jun 1 07:13:51 2004
++++ src/mixxx.pro Fri Jun 25 23:20:23 2004
+@@ -31,15 +31,7 @@
+ DEFINES += __PORTAUDIO__
+ SOURCES += playerportaudio.cpp
+ HEADERS += playerportaudio.h
+-PORTAUDIO_DIR = ../lib/portaudio-v18
+-INCLUDEPATH += $$PORTAUDIO_DIR/pa_common
+-HEADERS += $$PORTAUDIO_DIR/pa_common/portaudio.h
+ unix {
+-SOURCES += $$PORTAUDIO_DIR/pa_common/pa_lib.c $$PORTAUDIO_DIR/pa_common/pa_convert.c
+-HEADERS += $$PORTAUDIO_DIR/pa_common/pa_host.h
+-unix:!macx:SOURCES += $$PORTAUDIO_DIR/pablio/ringbuffer.c $$PORTAUDIO_DIR/pa_unix_oss/pa_unix.c $$PORTAUDIO_DIR/pa_unix_oss/pa_unix_oss.c
+-unix:!macx:HEADERS += $$PORTAUDIO_DIR/pablio/ringbuffer.h $$PORTAUDIO_DIR/pa_unix_oss/pa_unix.h
+-unix:!macx:INCLUDEPATH += $$PORTAUDIO_DIR/pa_unix_oss
+ macx:SOURCES += $$PORTAUDIO_DIR/pablio/ringbuffer.c $$PORTAUDIO_DIR/pa_mac_core/pa_mac_core.c
+ macx:LIBS += -framework CoreAudio -framework AudioToolbox
+ macx:INCLUDEPATH += $$PORTAUDIO_DIR/pa_mac_core $$PORTAUDIO_DIR/pablio
+@@ -136,8 +128,6 @@
+ # PowerMate
+ SOURCES += powermate.cpp
+ HEADERS += powermate.h
+-unix:!macx:SOURCES += powermatelinux.cpp
+-unix:!macx:HEADERS += powermatelinux.h
+ win32:SOURCES += powermatewin.cpp
+ win32:HEADERS += powermatewin.h
+ win32:LIBS += setupapi.lib
+@@ -145,8 +135,6 @@
+ # Joystick
+ SOURCES += joystick.cpp
+ HEADERS += joystick.h
+-unix:!macx:SOURCES += joysticklinux.cpp
+-unix:!macx:HEADERS += joysticklinux.h
+
+ # KissFFT
+ KISSFFT_DIR = ../lib/kissfft
+@@ -155,9 +143,8 @@
+ INCLUDEPATH += $$KISSFFT_DIR
+
+ # Audio scaling
+-INCLUDEPATH += ../lib/libsamplerate
+-SOURCES += enginebufferscalesrc.cpp ../lib/libsamplerate/samplerate.c ../lib/libsamplerate/src_linear.c ../lib/libsamplerate/src_sinc.c ../lib/libsamplerate/src_zoh.c
+-HEADERS += enginebufferscalesrc.h ../lib/libsamplerate/samplerate.h ../lib/libsamplerate/config.h ../lib/libsamplerate/common.h ../lib/libsamplerate/float_cast.h ../lib/libsamplerate/fastest_coeffs.h ../lib/libsamplerate/high_qual_coeffs.h ../lib/libsamplerate/mid_qual_coeffs.h
++SOURCES += enginebufferscalesrc.cpp
++HEADERS += enginebufferscalesrc.h
+
+ # Debug plotting through gplot API
+ #unix:DEFINES += __GNUPLOT__
+@@ -189,7 +176,6 @@
+
+ SETTINGS_FILE = \".mixxx.cfg\"
+ TRACK_FILE = \".mixxxtrack.xml\"
+- DEFINES += __LINUX__
+ }
+
+ unix {
+@@ -251,23 +237,12 @@
+ keyb.path = $${UNIX_SHARE_PATH}/keyboard
+ keyb.files = keyboard/*
+
+- # doc files...
+- readme.path = $${PREFIX}/share/doc/mixxx-1.3
+- readme.files = ../README
+- licence.path = $${PREFIX}/share/doc/mixxx-1.3
+- licence.files = ../LICENSE
+- copying.path = $${PREFIX}/share/doc/mixxx-1.3
+- copying.files = ../COPYING
+- manual.path = $${PREFIX}/share/doc/mixxx-1.3
+- manual.files = ../Mixxx-Manual.pdf
+-
+-
+ # binary...
+ TARGET = mixxx
+ target.path = $${PREFIX}/bin
+
+ # finally adding what we wanna install...
+- INSTALLS += skino skinoc skinos skint midi keyb readme licence copying manual target
++ INSTALLS += skino skinoc skinos skint midi keyb target
+ }
+
+
+@@ -287,6 +262,10 @@
+ # Socket
+ SOURCES += mixxxsocketserver.cpp mixxxsocketclient.cpp #mixxxsocketcli.cpp
+ HEADERS += mixxxsocketserver.h mixxxsocketclient.h #mixxxsocket.cli.h
++
++# compat_round()
++SOURCES += compat_round.cpp
++HEADERS += compat_round.h
+
+ IMAGES += icon.png
+ DEFINES += SETTINGS_FILE=$$SETTINGS_FILE TRACK_FILE=$$TRACK_FILE
diff --git a/audio/mixxx/files/patch-src::playerportaudio.cpp b/audio/mixxx/files/patch-src::playerportaudio.cpp
new file mode 100644
index 000000000000..c6efdf7916d0
--- /dev/null
+++ b/audio/mixxx/files/patch-src::playerportaudio.cpp
@@ -0,0 +1,11 @@
+--- src/playerportaudio.cpp.orig Fri Jun 25 20:53:49 2004
++++ src/playerportaudio.cpp Fri Jun 25 20:54:03 2004
+@@ -381,7 +381,7 @@
+
+ QString PlayerPortAudio::getSoundApi()
+ {
+-#ifdef __LINUX__
++#if defined(__LINUX__) || defined(__FreeBSD__)
+ return QString("OSS");
+ #endif
+ #ifdef __MACX__
diff --git a/audio/mixxx/files/patch-src::probabilityvector.cpp b/audio/mixxx/files/patch-src::probabilityvector.cpp
new file mode 100644
index 000000000000..12e5bcd94309
--- /dev/null
+++ b/audio/mixxx/files/patch-src::probabilityvector.cpp
@@ -0,0 +1,19 @@
+--- src/probabilityvector.cpp.orig Fri Jun 25 19:36:10 2004
++++ src/probabilityvector.cpp Fri Jun 25 19:36:33 2004
+@@ -18,6 +18,7 @@
+ #include "probabilityvector.h"
+ #include "mathstuff.h"
+ #include "qapplication.h"
++#include "compat_round.h"
+
+ ProbabilityVector::ProbabilityVector(float fMinInterval, float fMaxInterval, int iBins)
+ {
+@@ -55,7 +56,7 @@
+
+ for (float j=fStart; j<fEnd; j++)
+ {
+- int idx = round((fCenter+j));
++ int idx = compat_round((fCenter+j));
+ m_pHist[idx] += exp((-0.5*j*j)/(0.5*(CSAMPLE)kiGaussWidth))*fValue; //*fHysterisisFactor;
+ if (m_pHist[idx]>m_pHist[m_iCurrMaxBin])
+ {
diff --git a/audio/mixxx/files/patch-src::soundsourcesndfile.cpp b/audio/mixxx/files/patch-src::soundsourcesndfile.cpp
new file mode 100644
index 000000000000..3cd3ed0ed714
--- /dev/null
+++ b/audio/mixxx/files/patch-src::soundsourcesndfile.cpp
@@ -0,0 +1,11 @@
+--- src/soundsourcesndfile.cpp.orig Fri Jun 25 18:59:18 2004
++++ src/soundsourcesndfile.cpp Fri Jun 25 19:03:08 2004
+@@ -17,6 +17,8 @@
+ #include "soundsourcesndfile.h"
+ #include <qstring.h>
+ #include "trackinfoobject.h"
++#define max(a,b) (((a) > (b)) ? (a) : (b))
++#define min(a,b) (((a) < (b)) ? (a) : (b))
+ /*
+ Class for reading files using libsndfile
+ */
diff --git a/audio/mixxx/files/patch-src::wvisualwaveform.cpp b/audio/mixxx/files/patch-src::wvisualwaveform.cpp
new file mode 100644
index 000000000000..8003ae9d6eaa
--- /dev/null
+++ b/audio/mixxx/files/patch-src::wvisualwaveform.cpp
@@ -0,0 +1,11 @@
+--- src/wvisualwaveform.cpp.orig Fri Jun 25 20:55:03 2004
++++ src/wvisualwaveform.cpp Fri Jun 25 20:55:19 2004
+@@ -36,7 +36,7 @@
+ #ifdef __WIN__
+ startTimer(15);
+ #endif
+-#ifdef __LINUX__
++#if defined(__LINUX__) || defined(__FreeBSD__)
+ startTimer(15);
+ #endif
+
diff --git a/audio/mixxx/pkg-descr b/audio/mixxx/pkg-descr
new file mode 100644
index 000000000000..15d892cc5a77
--- /dev/null
+++ b/audio/mixxx/pkg-descr
@@ -0,0 +1,9 @@
+Mixxx is software for DJ'ing. You can use wave based audio files, Ogg
+Vorbis and MP3 files as audio input. Mixxx can be controlled through
+the GUI and with external controllers including MIDI devices,
+joysticks and more.
+
+WWW: http://mixxx.sourceforge.net/
+
+- Jean-Yves Lefort
+jylefort@brutele.be
diff --git a/audio/mixxx/pkg-plist b/audio/mixxx/pkg-plist
new file mode 100644
index 000000000000..798fbaad0b73
--- /dev/null
+++ b/audio/mixxx/pkg-plist
@@ -0,0 +1,1133 @@
+bin/mixxx
+share/mixxx/keyboard/Old.kbd.cfg
+share/mixxx/keyboard/Standard.kbd.cfg
+share/mixxx/midi/FaderMaster.midi.cfg
+share/mixxx/midi/Midi-Keyboard.midi.cfg
+share/mixxx/midi/MidiTech-MidiControl.midi.cfg
+share/mixxx/midi/Mixman DM2 for Mixxx.dm2
+share/mixxx/midi/Mixman DM2.midi.cfg
+share/mixxx/midi/PowerMate.midi.cfg
+share/mixxx/midi/Turntable.midi.cfg
+share/mixxx/midi/format.txt
+share/mixxx/skins/outline/back-off-Ch1.png
+share/mixxx/skins/outline/back-off-Ch2.png
+share/mixxx/skins/outline/back-on-Ch1.png
+share/mixxx/skins/outline/back-on-Ch2.png
+share/mixxx/skins/outline/crosshandle-off-.png
+share/mixxx/skins/outline/crosshandle-on-.png
+share/mixxx/skins/outline/crossslider-off-.png
+share/mixxx/skins/outline/crossslider-on-.png
+share/mixxx/skins/outline/cue-off-Ch1.png
+share/mixxx/skins/outline/cue-off-Ch2.png
+share/mixxx/skins/outline/cue-on-Ch1.png
+share/mixxx/skins/outline/cue-on-Ch2.png
+share/mixxx/skins/outline/endoftrack-loop-ch1.png
+share/mixxx/skins/outline/endoftrack-loop-ch2.png
+share/mixxx/skins/outline/endoftrack-next-ch1.png
+share/mixxx/skins/outline/endoftrack-next-ch2.png
+share/mixxx/skins/outline/endoftrack-ping-ch1.png
+share/mixxx/skins/outline/endoftrack-ping-ch2.png
+share/mixxx/skins/outline/endoftrack-stop-ch1.png
+share/mixxx/skins/outline/endoftrack-stop-ch2.png
+share/mixxx/skins/outline/flanger-off-Ch1.png
+share/mixxx/skins/outline/flanger-off-Ch2.png
+share/mixxx/skins/outline/flanger-on-Ch1.png
+share/mixxx/skins/outline/flanger-on-Ch2.png
+share/mixxx/skins/outline/fwd-off-Ch1.png
+share/mixxx/skins/outline/fwd-off-Ch2.png
+share/mixxx/skins/outline/fwd-on-Ch1.png
+share/mixxx/skins/outline/fwd-on-Ch2.png
+share/mixxx/skins/outline/head-off-Ch1.png
+share/mixxx/skins/outline/head-off-Ch2.png
+share/mixxx/skins/outline/head-on-Ch1.png
+share/mixxx/skins/outline/head-on-Ch2.png
+share/mixxx/skins/outline/knob0.png
+share/mixxx/skins/outline/knob1.png
+share/mixxx/skins/outline/knob10.png
+share/mixxx/skins/outline/knob11.png
+share/mixxx/skins/outline/knob12.png
+share/mixxx/skins/outline/knob13.png
+share/mixxx/skins/outline/knob14.png
+share/mixxx/skins/outline/knob15.png
+share/mixxx/skins/outline/knob16.png
+share/mixxx/skins/outline/knob17.png
+share/mixxx/skins/outline/knob18.png
+share/mixxx/skins/outline/knob19.png
+share/mixxx/skins/outline/knob2.png
+share/mixxx/skins/outline/knob20.png
+share/mixxx/skins/outline/knob21.png
+share/mixxx/skins/outline/knob22.png
+share/mixxx/skins/outline/knob23.png
+share/mixxx/skins/outline/knob24.png
+share/mixxx/skins/outline/knob25.png
+share/mixxx/skins/outline/knob26.png
+share/mixxx/skins/outline/knob27.png
+share/mixxx/skins/outline/knob28.png
+share/mixxx/skins/outline/knob29.png
+share/mixxx/skins/outline/knob3.png
+share/mixxx/skins/outline/knob30.png
+share/mixxx/skins/outline/knob31.png
+share/mixxx/skins/outline/knob32.png
+share/mixxx/skins/outline/knob33.png
+share/mixxx/skins/outline/knob34.png
+share/mixxx/skins/outline/knob35.png
+share/mixxx/skins/outline/knob36.png
+share/mixxx/skins/outline/knob37.png
+share/mixxx/skins/outline/knob38.png
+share/mixxx/skins/outline/knob39.png
+share/mixxx/skins/outline/knob4.png
+share/mixxx/skins/outline/knob40.png
+share/mixxx/skins/outline/knob41.png
+share/mixxx/skins/outline/knob42.png
+share/mixxx/skins/outline/knob43.png
+share/mixxx/skins/outline/knob44.png
+share/mixxx/skins/outline/knob5.png
+share/mixxx/skins/outline/knob6.png
+share/mixxx/skins/outline/knob7.png
+share/mixxx/skins/outline/knob8.png
+share/mixxx/skins/outline/knob9.png
+share/mixxx/skins/outline/knobg0.png
+share/mixxx/skins/outline/knobg1.png
+share/mixxx/skins/outline/knobg10.png
+share/mixxx/skins/outline/knobg11.png
+share/mixxx/skins/outline/knobg12.png
+share/mixxx/skins/outline/knobg13.png
+share/mixxx/skins/outline/knobg14.png
+share/mixxx/skins/outline/knobg15.png
+share/mixxx/skins/outline/knobg16.png
+share/mixxx/skins/outline/knobg17.png
+share/mixxx/skins/outline/knobg18.png
+share/mixxx/skins/outline/knobg19.png
+share/mixxx/skins/outline/knobg2.png
+share/mixxx/skins/outline/knobg20.png
+share/mixxx/skins/outline/knobg21.png
+share/mixxx/skins/outline/knobg22.png
+share/mixxx/skins/outline/knobg23.png
+share/mixxx/skins/outline/knobg24.png
+share/mixxx/skins/outline/knobg25.png
+share/mixxx/skins/outline/knobg26.png
+share/mixxx/skins/outline/knobg27.png
+share/mixxx/skins/outline/knobg28.png
+share/mixxx/skins/outline/knobg29.png
+share/mixxx/skins/outline/knobg3.png
+share/mixxx/skins/outline/knobg30.png
+share/mixxx/skins/outline/knobg31.png
+share/mixxx/skins/outline/knobg32.png
+share/mixxx/skins/outline/knobg33.png
+share/mixxx/skins/outline/knobg34.png
+share/mixxx/skins/outline/knobg35.png
+share/mixxx/skins/outline/knobg36.png
+share/mixxx/skins/outline/knobg37.png
+share/mixxx/skins/outline/knobg38.png
+share/mixxx/skins/outline/knobg39.png
+share/mixxx/skins/outline/knobg4.png
+share/mixxx/skins/outline/knobg40.png
+share/mixxx/skins/outline/knobg41.png
+share/mixxx/skins/outline/knobg42.png
+share/mixxx/skins/outline/knobg43.png
+share/mixxx/skins/outline/knobg44.png
+share/mixxx/skins/outline/knobg5.png
+share/mixxx/skins/outline/knobg6.png
+share/mixxx/skins/outline/knobg7.png
+share/mixxx/skins/outline/knobg8.png
+share/mixxx/skins/outline/knobg9.png
+share/mixxx/skins/outline/knobl0.png
+share/mixxx/skins/outline/knobl1.png
+share/mixxx/skins/outline/knobl10.png
+share/mixxx/skins/outline/knobl11.png
+share/mixxx/skins/outline/knobl12.png
+share/mixxx/skins/outline/knobl13.png
+share/mixxx/skins/outline/knobl14.png
+share/mixxx/skins/outline/knobl15.png
+share/mixxx/skins/outline/knobl16.png
+share/mixxx/skins/outline/knobl17.png
+share/mixxx/skins/outline/knobl18.png
+share/mixxx/skins/outline/knobl19.png
+share/mixxx/skins/outline/knobl2.png
+share/mixxx/skins/outline/knobl20.png
+share/mixxx/skins/outline/knobl21.png
+share/mixxx/skins/outline/knobl22.png
+share/mixxx/skins/outline/knobl23.png
+share/mixxx/skins/outline/knobl24.png
+share/mixxx/skins/outline/knobl25.png
+share/mixxx/skins/outline/knobl26.png
+share/mixxx/skins/outline/knobl27.png
+share/mixxx/skins/outline/knobl28.png
+share/mixxx/skins/outline/knobl29.png
+share/mixxx/skins/outline/knobl3.png
+share/mixxx/skins/outline/knobl30.png
+share/mixxx/skins/outline/knobl31.png
+share/mixxx/skins/outline/knobl32.png
+share/mixxx/skins/outline/knobl33.png
+share/mixxx/skins/outline/knobl34.png
+share/mixxx/skins/outline/knobl35.png
+share/mixxx/skins/outline/knobl36.png
+share/mixxx/skins/outline/knobl37.png
+share/mixxx/skins/outline/knobl38.png
+share/mixxx/skins/outline/knobl39.png
+share/mixxx/skins/outline/knobl4.png
+share/mixxx/skins/outline/knobl40.png
+share/mixxx/skins/outline/knobl41.png
+share/mixxx/skins/outline/knobl42.png
+share/mixxx/skins/outline/knobl43.png
+share/mixxx/skins/outline/knobl44.png
+share/mixxx/skins/outline/knobl5.png
+share/mixxx/skins/outline/knobl6.png
+share/mixxx/skins/outline/knobl7.png
+share/mixxx/skins/outline/knobl8.png
+share/mixxx/skins/outline/knobl9.png
+share/mixxx/skins/outline/knobm0.png
+share/mixxx/skins/outline/knobm1.png
+share/mixxx/skins/outline/knobm10.png
+share/mixxx/skins/outline/knobm11.png
+share/mixxx/skins/outline/knobm12.png
+share/mixxx/skins/outline/knobm13.png
+share/mixxx/skins/outline/knobm14.png
+share/mixxx/skins/outline/knobm15.png
+share/mixxx/skins/outline/knobm16.png
+share/mixxx/skins/outline/knobm17.png
+share/mixxx/skins/outline/knobm18.png
+share/mixxx/skins/outline/knobm19.png
+share/mixxx/skins/outline/knobm2.png
+share/mixxx/skins/outline/knobm20.png
+share/mixxx/skins/outline/knobm21.png
+share/mixxx/skins/outline/knobm22.png
+share/mixxx/skins/outline/knobm23.png
+share/mixxx/skins/outline/knobm24.png
+share/mixxx/skins/outline/knobm25.png
+share/mixxx/skins/outline/knobm26.png
+share/mixxx/skins/outline/knobm27.png
+share/mixxx/skins/outline/knobm28.png
+share/mixxx/skins/outline/knobm29.png
+share/mixxx/skins/outline/knobm3.png
+share/mixxx/skins/outline/knobm30.png
+share/mixxx/skins/outline/knobm31.png
+share/mixxx/skins/outline/knobm32.png
+share/mixxx/skins/outline/knobm33.png
+share/mixxx/skins/outline/knobm34.png
+share/mixxx/skins/outline/knobm35.png
+share/mixxx/skins/outline/knobm36.png
+share/mixxx/skins/outline/knobm37.png
+share/mixxx/skins/outline/knobm38.png
+share/mixxx/skins/outline/knobm39.png
+share/mixxx/skins/outline/knobm4.png
+share/mixxx/skins/outline/knobm40.png
+share/mixxx/skins/outline/knobm41.png
+share/mixxx/skins/outline/knobm42.png
+share/mixxx/skins/outline/knobm43.png
+share/mixxx/skins/outline/knobm44.png
+share/mixxx/skins/outline/knobm5.png
+share/mixxx/skins/outline/knobm6.png
+share/mixxx/skins/outline/knobm7.png
+share/mixxx/skins/outline/knobm8.png
+share/mixxx/skins/outline/knobm9.png
+share/mixxx/skins/outline/knobr0.png
+share/mixxx/skins/outline/knobr1.png
+share/mixxx/skins/outline/knobr10.png
+share/mixxx/skins/outline/knobr11.png
+share/mixxx/skins/outline/knobr12.png
+share/mixxx/skins/outline/knobr13.png
+share/mixxx/skins/outline/knobr14.png
+share/mixxx/skins/outline/knobr15.png
+share/mixxx/skins/outline/knobr16.png
+share/mixxx/skins/outline/knobr17.png
+share/mixxx/skins/outline/knobr18.png
+share/mixxx/skins/outline/knobr19.png
+share/mixxx/skins/outline/knobr2.png
+share/mixxx/skins/outline/knobr20.png
+share/mixxx/skins/outline/knobr21.png
+share/mixxx/skins/outline/knobr22.png
+share/mixxx/skins/outline/knobr23.png
+share/mixxx/skins/outline/knobr24.png
+share/mixxx/skins/outline/knobr25.png
+share/mixxx/skins/outline/knobr26.png
+share/mixxx/skins/outline/knobr27.png
+share/mixxx/skins/outline/knobr28.png
+share/mixxx/skins/outline/knobr29.png
+share/mixxx/skins/outline/knobr3.png
+share/mixxx/skins/outline/knobr30.png
+share/mixxx/skins/outline/knobr31.png
+share/mixxx/skins/outline/knobr32.png
+share/mixxx/skins/outline/knobr33.png
+share/mixxx/skins/outline/knobr34.png
+share/mixxx/skins/outline/knobr35.png
+share/mixxx/skins/outline/knobr36.png
+share/mixxx/skins/outline/knobr37.png
+share/mixxx/skins/outline/knobr38.png
+share/mixxx/skins/outline/knobr39.png
+share/mixxx/skins/outline/knobr4.png
+share/mixxx/skins/outline/knobr40.png
+share/mixxx/skins/outline/knobr41.png
+share/mixxx/skins/outline/knobr42.png
+share/mixxx/skins/outline/knobr43.png
+share/mixxx/skins/outline/knobr44.png
+share/mixxx/skins/outline/knobr5.png
+share/mixxx/skins/outline/knobr6.png
+share/mixxx/skins/outline/knobr7.png
+share/mixxx/skins/outline/knobr8.png
+share/mixxx/skins/outline/knobr9.png
+share/mixxx/skins/outline/play-off-Ch1.png
+share/mixxx/skins/outline/play-off-Ch2.png
+share/mixxx/skins/outline/play-on-Ch1.png
+share/mixxx/skins/outline/play-on-Ch2.png
+share/mixxx/skins/outline/playpos-marker1.png
+share/mixxx/skins/outline/playpos-marker2.png
+share/mixxx/skins/outline/playpos-slider.png
+share/mixxx/skins/outline/ratedown-off-Ch1.png
+share/mixxx/skins/outline/ratedown-off-Ch2.png
+share/mixxx/skins/outline/ratedown-on-Ch1.png
+share/mixxx/skins/outline/ratedown-on-Ch2.png
+share/mixxx/skins/outline/ratehandle-off-Ch1.png
+share/mixxx/skins/outline/ratehandle-off-Ch2.png
+share/mixxx/skins/outline/ratehandle-on-Ch1.png
+share/mixxx/skins/outline/ratehandle-on-Ch2.png
+share/mixxx/skins/outline/rateslider-off-Ch1.png
+share/mixxx/skins/outline/rateslider-off-Ch2.png
+share/mixxx/skins/outline/rateslider-on-Ch1.png
+share/mixxx/skins/outline/rateslider-on-Ch2.png
+share/mixxx/skins/outline/rateup-off-Ch1.png
+share/mixxx/skins/outline/rateup-off-Ch2.png
+share/mixxx/skins/outline/rateup-on-Ch1.png
+share/mixxx/skins/outline/rateup-on-Ch2.png
+share/mixxx/skins/outline/rev-off-Ch1.png
+share/mixxx/skins/outline/rev-off-Ch2.png
+share/mixxx/skins/outline/rev-on-Ch1.png
+share/mixxx/skins/outline/rev-on-Ch2.png
+share/mixxx/skins/outline/scene.png
+share/mixxx/skins/outline/skin.xml
+share/mixxx/skins/outline/sync-off-Ch1.png
+share/mixxx/skins/outline/sync-off-Ch2.png
+share/mixxx/skins/outline/sync-on-Ch1.png
+share/mixxx/skins/outline/sync-on-Ch2.png
+share/mixxx/skins/outline/volhandle-off-Ch1.png
+share/mixxx/skins/outline/volhandle-off-Ch2.png
+share/mixxx/skins/outline/volhandle-on-Ch1.png
+share/mixxx/skins/outline/volhandle-on-Ch2.png
+share/mixxx/skins/outline/volslider-off-Ch1.png
+share/mixxx/skins/outline/volslider-off-Ch2.png
+share/mixxx/skins/outline/volslider-on-Ch1.png
+share/mixxx/skins/outline/volslider-on-Ch2.png
+share/mixxx/skins/outline/vumeter-off-.png
+share/mixxx/skins/outline/vumeter-off-Ch1.png
+share/mixxx/skins/outline/vumeter-off-Ch2.png
+share/mixxx/skins/outline/vumeter-on-.png
+share/mixxx/skins/outline/vumeter-on-Ch1.png
+share/mixxx/skins/outline/vumeter-on-Ch2.png
+share/mixxx/skins/outlineClose/back-off-Ch1.png
+share/mixxx/skins/outlineClose/back-off-Ch2.png
+share/mixxx/skins/outlineClose/back-on-Ch1.png
+share/mixxx/skins/outlineClose/back-on-Ch2.png
+share/mixxx/skins/outlineClose/crosshandle-off-.png
+share/mixxx/skins/outlineClose/crosshandle-on-.png
+share/mixxx/skins/outlineClose/crossslider-off-.png
+share/mixxx/skins/outlineClose/crossslider-on-.png
+share/mixxx/skins/outlineClose/cue-off-Ch1.png
+share/mixxx/skins/outlineClose/cue-off-Ch2.png
+share/mixxx/skins/outlineClose/cue-on-Ch1.png
+share/mixxx/skins/outlineClose/cue-on-Ch2.png
+share/mixxx/skins/outlineClose/endoftrack-loop-ch1.png
+share/mixxx/skins/outlineClose/endoftrack-loop-ch2.png
+share/mixxx/skins/outlineClose/endoftrack-next-ch1.png
+share/mixxx/skins/outlineClose/endoftrack-next-ch2.png
+share/mixxx/skins/outlineClose/endoftrack-ping-ch1.png
+share/mixxx/skins/outlineClose/endoftrack-ping-ch2.png
+share/mixxx/skins/outlineClose/endoftrack-stop-ch1.png
+share/mixxx/skins/outlineClose/endoftrack-stop-ch2.png
+share/mixxx/skins/outlineClose/flanger-off-Ch1.png
+share/mixxx/skins/outlineClose/flanger-off-Ch2.png
+share/mixxx/skins/outlineClose/flanger-on-Ch1.png
+share/mixxx/skins/outlineClose/flanger-on-Ch2.png
+share/mixxx/skins/outlineClose/fwd-off-Ch1.png
+share/mixxx/skins/outlineClose/fwd-off-Ch2.png
+share/mixxx/skins/outlineClose/fwd-on-Ch1.png
+share/mixxx/skins/outlineClose/fwd-on-Ch2.png
+share/mixxx/skins/outlineClose/head-off-Ch1.png
+share/mixxx/skins/outlineClose/head-off-Ch2.png
+share/mixxx/skins/outlineClose/head-on-Ch1.png
+share/mixxx/skins/outlineClose/head-on-Ch2.png
+share/mixxx/skins/outlineClose/knob0.png
+share/mixxx/skins/outlineClose/knob1.png
+share/mixxx/skins/outlineClose/knob10.png
+share/mixxx/skins/outlineClose/knob11.png
+share/mixxx/skins/outlineClose/knob12.png
+share/mixxx/skins/outlineClose/knob13.png
+share/mixxx/skins/outlineClose/knob14.png
+share/mixxx/skins/outlineClose/knob15.png
+share/mixxx/skins/outlineClose/knob16.png
+share/mixxx/skins/outlineClose/knob17.png
+share/mixxx/skins/outlineClose/knob18.png
+share/mixxx/skins/outlineClose/knob19.png
+share/mixxx/skins/outlineClose/knob2.png
+share/mixxx/skins/outlineClose/knob20.png
+share/mixxx/skins/outlineClose/knob21.png
+share/mixxx/skins/outlineClose/knob22.png
+share/mixxx/skins/outlineClose/knob23.png
+share/mixxx/skins/outlineClose/knob24.png
+share/mixxx/skins/outlineClose/knob25.png
+share/mixxx/skins/outlineClose/knob26.png
+share/mixxx/skins/outlineClose/knob27.png
+share/mixxx/skins/outlineClose/knob28.png
+share/mixxx/skins/outlineClose/knob29.png
+share/mixxx/skins/outlineClose/knob3.png
+share/mixxx/skins/outlineClose/knob30.png
+share/mixxx/skins/outlineClose/knob31.png
+share/mixxx/skins/outlineClose/knob32.png
+share/mixxx/skins/outlineClose/knob33.png
+share/mixxx/skins/outlineClose/knob34.png
+share/mixxx/skins/outlineClose/knob35.png
+share/mixxx/skins/outlineClose/knob36.png
+share/mixxx/skins/outlineClose/knob37.png
+share/mixxx/skins/outlineClose/knob38.png
+share/mixxx/skins/outlineClose/knob39.png
+share/mixxx/skins/outlineClose/knob4.png
+share/mixxx/skins/outlineClose/knob40.png
+share/mixxx/skins/outlineClose/knob41.png
+share/mixxx/skins/outlineClose/knob42.png
+share/mixxx/skins/outlineClose/knob43.png
+share/mixxx/skins/outlineClose/knob44.png
+share/mixxx/skins/outlineClose/knob5.png
+share/mixxx/skins/outlineClose/knob6.png
+share/mixxx/skins/outlineClose/knob7.png
+share/mixxx/skins/outlineClose/knob8.png
+share/mixxx/skins/outlineClose/knob9.png
+share/mixxx/skins/outlineClose/knobg0.png
+share/mixxx/skins/outlineClose/knobg1.png
+share/mixxx/skins/outlineClose/knobg10.png
+share/mixxx/skins/outlineClose/knobg11.png
+share/mixxx/skins/outlineClose/knobg12.png
+share/mixxx/skins/outlineClose/knobg13.png
+share/mixxx/skins/outlineClose/knobg14.png
+share/mixxx/skins/outlineClose/knobg15.png
+share/mixxx/skins/outlineClose/knobg16.png
+share/mixxx/skins/outlineClose/knobg17.png
+share/mixxx/skins/outlineClose/knobg18.png
+share/mixxx/skins/outlineClose/knobg19.png
+share/mixxx/skins/outlineClose/knobg2.png
+share/mixxx/skins/outlineClose/knobg20.png
+share/mixxx/skins/outlineClose/knobg21.png
+share/mixxx/skins/outlineClose/knobg22.png
+share/mixxx/skins/outlineClose/knobg23.png
+share/mixxx/skins/outlineClose/knobg24.png
+share/mixxx/skins/outlineClose/knobg25.png
+share/mixxx/skins/outlineClose/knobg26.png
+share/mixxx/skins/outlineClose/knobg27.png
+share/mixxx/skins/outlineClose/knobg28.png
+share/mixxx/skins/outlineClose/knobg29.png
+share/mixxx/skins/outlineClose/knobg3.png
+share/mixxx/skins/outlineClose/knobg30.png
+share/mixxx/skins/outlineClose/knobg31.png
+share/mixxx/skins/outlineClose/knobg32.png
+share/mixxx/skins/outlineClose/knobg33.png
+share/mixxx/skins/outlineClose/knobg34.png
+share/mixxx/skins/outlineClose/knobg35.png
+share/mixxx/skins/outlineClose/knobg36.png
+share/mixxx/skins/outlineClose/knobg37.png
+share/mixxx/skins/outlineClose/knobg38.png
+share/mixxx/skins/outlineClose/knobg39.png
+share/mixxx/skins/outlineClose/knobg4.png
+share/mixxx/skins/outlineClose/knobg40.png
+share/mixxx/skins/outlineClose/knobg41.png
+share/mixxx/skins/outlineClose/knobg42.png
+share/mixxx/skins/outlineClose/knobg43.png
+share/mixxx/skins/outlineClose/knobg44.png
+share/mixxx/skins/outlineClose/knobg5.png
+share/mixxx/skins/outlineClose/knobg6.png
+share/mixxx/skins/outlineClose/knobg7.png
+share/mixxx/skins/outlineClose/knobg8.png
+share/mixxx/skins/outlineClose/knobg9.png
+share/mixxx/skins/outlineClose/knobl0.png
+share/mixxx/skins/outlineClose/knobl1.png
+share/mixxx/skins/outlineClose/knobl10.png
+share/mixxx/skins/outlineClose/knobl11.png
+share/mixxx/skins/outlineClose/knobl12.png
+share/mixxx/skins/outlineClose/knobl13.png
+share/mixxx/skins/outlineClose/knobl14.png
+share/mixxx/skins/outlineClose/knobl15.png
+share/mixxx/skins/outlineClose/knobl16.png
+share/mixxx/skins/outlineClose/knobl17.png
+share/mixxx/skins/outlineClose/knobl18.png
+share/mixxx/skins/outlineClose/knobl19.png
+share/mixxx/skins/outlineClose/knobl2.png
+share/mixxx/skins/outlineClose/knobl20.png
+share/mixxx/skins/outlineClose/knobl21.png
+share/mixxx/skins/outlineClose/knobl22.png
+share/mixxx/skins/outlineClose/knobl23.png
+share/mixxx/skins/outlineClose/knobl24.png
+share/mixxx/skins/outlineClose/knobl25.png
+share/mixxx/skins/outlineClose/knobl26.png
+share/mixxx/skins/outlineClose/knobl27.png
+share/mixxx/skins/outlineClose/knobl28.png
+share/mixxx/skins/outlineClose/knobl29.png
+share/mixxx/skins/outlineClose/knobl3.png
+share/mixxx/skins/outlineClose/knobl30.png
+share/mixxx/skins/outlineClose/knobl31.png
+share/mixxx/skins/outlineClose/knobl32.png
+share/mixxx/skins/outlineClose/knobl33.png
+share/mixxx/skins/outlineClose/knobl34.png
+share/mixxx/skins/outlineClose/knobl35.png
+share/mixxx/skins/outlineClose/knobl36.png
+share/mixxx/skins/outlineClose/knobl37.png
+share/mixxx/skins/outlineClose/knobl38.png
+share/mixxx/skins/outlineClose/knobl39.png
+share/mixxx/skins/outlineClose/knobl4.png
+share/mixxx/skins/outlineClose/knobl40.png
+share/mixxx/skins/outlineClose/knobl41.png
+share/mixxx/skins/outlineClose/knobl42.png
+share/mixxx/skins/outlineClose/knobl43.png
+share/mixxx/skins/outlineClose/knobl44.png
+share/mixxx/skins/outlineClose/knobl5.png
+share/mixxx/skins/outlineClose/knobl6.png
+share/mixxx/skins/outlineClose/knobl7.png
+share/mixxx/skins/outlineClose/knobl8.png
+share/mixxx/skins/outlineClose/knobl9.png
+share/mixxx/skins/outlineClose/knobm0.png
+share/mixxx/skins/outlineClose/knobm1.png
+share/mixxx/skins/outlineClose/knobm10.png
+share/mixxx/skins/outlineClose/knobm11.png
+share/mixxx/skins/outlineClose/knobm12.png
+share/mixxx/skins/outlineClose/knobm13.png
+share/mixxx/skins/outlineClose/knobm14.png
+share/mixxx/skins/outlineClose/knobm15.png
+share/mixxx/skins/outlineClose/knobm16.png
+share/mixxx/skins/outlineClose/knobm17.png
+share/mixxx/skins/outlineClose/knobm18.png
+share/mixxx/skins/outlineClose/knobm19.png
+share/mixxx/skins/outlineClose/knobm2.png
+share/mixxx/skins/outlineClose/knobm20.png
+share/mixxx/skins/outlineClose/knobm21.png
+share/mixxx/skins/outlineClose/knobm22.png
+share/mixxx/skins/outlineClose/knobm23.png
+share/mixxx/skins/outlineClose/knobm24.png
+share/mixxx/skins/outlineClose/knobm25.png
+share/mixxx/skins/outlineClose/knobm26.png
+share/mixxx/skins/outlineClose/knobm27.png
+share/mixxx/skins/outlineClose/knobm28.png
+share/mixxx/skins/outlineClose/knobm29.png
+share/mixxx/skins/outlineClose/knobm3.png
+share/mixxx/skins/outlineClose/knobm30.png
+share/mixxx/skins/outlineClose/knobm31.png
+share/mixxx/skins/outlineClose/knobm32.png
+share/mixxx/skins/outlineClose/knobm33.png
+share/mixxx/skins/outlineClose/knobm34.png
+share/mixxx/skins/outlineClose/knobm35.png
+share/mixxx/skins/outlineClose/knobm36.png
+share/mixxx/skins/outlineClose/knobm37.png
+share/mixxx/skins/outlineClose/knobm38.png
+share/mixxx/skins/outlineClose/knobm39.png
+share/mixxx/skins/outlineClose/knobm4.png
+share/mixxx/skins/outlineClose/knobm40.png
+share/mixxx/skins/outlineClose/knobm41.png
+share/mixxx/skins/outlineClose/knobm42.png
+share/mixxx/skins/outlineClose/knobm43.png
+share/mixxx/skins/outlineClose/knobm44.png
+share/mixxx/skins/outlineClose/knobm5.png
+share/mixxx/skins/outlineClose/knobm6.png
+share/mixxx/skins/outlineClose/knobm7.png
+share/mixxx/skins/outlineClose/knobm8.png
+share/mixxx/skins/outlineClose/knobm9.png
+share/mixxx/skins/outlineClose/knobr0.png
+share/mixxx/skins/outlineClose/knobr1.png
+share/mixxx/skins/outlineClose/knobr10.png
+share/mixxx/skins/outlineClose/knobr11.png
+share/mixxx/skins/outlineClose/knobr12.png
+share/mixxx/skins/outlineClose/knobr13.png
+share/mixxx/skins/outlineClose/knobr14.png
+share/mixxx/skins/outlineClose/knobr15.png
+share/mixxx/skins/outlineClose/knobr16.png
+share/mixxx/skins/outlineClose/knobr17.png
+share/mixxx/skins/outlineClose/knobr18.png
+share/mixxx/skins/outlineClose/knobr19.png
+share/mixxx/skins/outlineClose/knobr2.png
+share/mixxx/skins/outlineClose/knobr20.png
+share/mixxx/skins/outlineClose/knobr21.png
+share/mixxx/skins/outlineClose/knobr22.png
+share/mixxx/skins/outlineClose/knobr23.png
+share/mixxx/skins/outlineClose/knobr24.png
+share/mixxx/skins/outlineClose/knobr25.png
+share/mixxx/skins/outlineClose/knobr26.png
+share/mixxx/skins/outlineClose/knobr27.png
+share/mixxx/skins/outlineClose/knobr28.png
+share/mixxx/skins/outlineClose/knobr29.png
+share/mixxx/skins/outlineClose/knobr3.png
+share/mixxx/skins/outlineClose/knobr30.png
+share/mixxx/skins/outlineClose/knobr31.png
+share/mixxx/skins/outlineClose/knobr32.png
+share/mixxx/skins/outlineClose/knobr33.png
+share/mixxx/skins/outlineClose/knobr34.png
+share/mixxx/skins/outlineClose/knobr35.png
+share/mixxx/skins/outlineClose/knobr36.png
+share/mixxx/skins/outlineClose/knobr37.png
+share/mixxx/skins/outlineClose/knobr38.png
+share/mixxx/skins/outlineClose/knobr39.png
+share/mixxx/skins/outlineClose/knobr4.png
+share/mixxx/skins/outlineClose/knobr40.png
+share/mixxx/skins/outlineClose/knobr41.png
+share/mixxx/skins/outlineClose/knobr42.png
+share/mixxx/skins/outlineClose/knobr43.png
+share/mixxx/skins/outlineClose/knobr44.png
+share/mixxx/skins/outlineClose/knobr5.png
+share/mixxx/skins/outlineClose/knobr6.png
+share/mixxx/skins/outlineClose/knobr7.png
+share/mixxx/skins/outlineClose/knobr8.png
+share/mixxx/skins/outlineClose/knobr9.png
+share/mixxx/skins/outlineClose/play-off-Ch1.png
+share/mixxx/skins/outlineClose/play-off-Ch2.png
+share/mixxx/skins/outlineClose/play-on-Ch1.png
+share/mixxx/skins/outlineClose/play-on-Ch2.png
+share/mixxx/skins/outlineClose/playpos-marker1.png
+share/mixxx/skins/outlineClose/playpos-marker2.png
+share/mixxx/skins/outlineClose/playpos-slider.png
+share/mixxx/skins/outlineClose/ratedown-off-Ch1.png
+share/mixxx/skins/outlineClose/ratedown-off-Ch2.png
+share/mixxx/skins/outlineClose/ratedown-on-Ch1.png
+share/mixxx/skins/outlineClose/ratedown-on-Ch2.png
+share/mixxx/skins/outlineClose/ratehandle-off-Ch1.png
+share/mixxx/skins/outlineClose/ratehandle-off-Ch2.png
+share/mixxx/skins/outlineClose/ratehandle-on-Ch1.png
+share/mixxx/skins/outlineClose/ratehandle-on-Ch2.png
+share/mixxx/skins/outlineClose/rateslider-off-Ch1.png
+share/mixxx/skins/outlineClose/rateslider-off-Ch2.png
+share/mixxx/skins/outlineClose/rateslider-on-Ch1.png
+share/mixxx/skins/outlineClose/rateslider-on-Ch2.png
+share/mixxx/skins/outlineClose/rateup-off-Ch1.png
+share/mixxx/skins/outlineClose/rateup-off-Ch2.png
+share/mixxx/skins/outlineClose/rateup-on-Ch1.png
+share/mixxx/skins/outlineClose/rateup-on-Ch2.png
+share/mixxx/skins/outlineClose/rev-off-Ch1.png
+share/mixxx/skins/outlineClose/rev-off-Ch2.png
+share/mixxx/skins/outlineClose/rev-on-Ch1.png
+share/mixxx/skins/outlineClose/rev-on-Ch2.png
+share/mixxx/skins/outlineClose/scene.png
+share/mixxx/skins/outlineClose/skin.xml
+share/mixxx/skins/outlineClose/sync-off-Ch1.png
+share/mixxx/skins/outlineClose/sync-off-Ch2.png
+share/mixxx/skins/outlineClose/sync-on-Ch1.png
+share/mixxx/skins/outlineClose/sync-on-Ch2.png
+share/mixxx/skins/outlineClose/volhandle-off-Ch1.png
+share/mixxx/skins/outlineClose/volhandle-off-Ch2.png
+share/mixxx/skins/outlineClose/volhandle-on-Ch1.png
+share/mixxx/skins/outlineClose/volhandle-on-Ch2.png
+share/mixxx/skins/outlineClose/volslider-off-Ch1.png
+share/mixxx/skins/outlineClose/volslider-off-Ch2.png
+share/mixxx/skins/outlineClose/volslider-on-Ch1.png
+share/mixxx/skins/outlineClose/volslider-on-Ch2.png
+share/mixxx/skins/outlineClose/vumeter-off-.png
+share/mixxx/skins/outlineClose/vumeter-off-Ch1.png
+share/mixxx/skins/outlineClose/vumeter-off-Ch2.png
+share/mixxx/skins/outlineClose/vumeter-on-.png
+share/mixxx/skins/outlineClose/vumeter-on-Ch1.png
+share/mixxx/skins/outlineClose/vumeter-on-Ch2.png
+share/mixxx/skins/outlineSmall/back-off-Ch1.png
+share/mixxx/skins/outlineSmall/back-off-Ch2.png
+share/mixxx/skins/outlineSmall/back-on-Ch1.png
+share/mixxx/skins/outlineSmall/back-on-Ch2.png
+share/mixxx/skins/outlineSmall/crosshandle-off-.png
+share/mixxx/skins/outlineSmall/crosshandle-on-.png
+share/mixxx/skins/outlineSmall/crossslider-off-.png
+share/mixxx/skins/outlineSmall/crossslider-on-.png
+share/mixxx/skins/outlineSmall/cue-off-Ch1.png
+share/mixxx/skins/outlineSmall/cue-off-Ch2.png
+share/mixxx/skins/outlineSmall/cue-on-Ch1.png
+share/mixxx/skins/outlineSmall/cue-on-Ch2.png
+share/mixxx/skins/outlineSmall/endoftrack-loop-ch1.png
+share/mixxx/skins/outlineSmall/endoftrack-loop-ch2.png
+share/mixxx/skins/outlineSmall/endoftrack-next-ch1.png
+share/mixxx/skins/outlineSmall/endoftrack-next-ch2.png
+share/mixxx/skins/outlineSmall/endoftrack-ping-ch1.png
+share/mixxx/skins/outlineSmall/endoftrack-ping-ch2.png
+share/mixxx/skins/outlineSmall/endoftrack-stop-ch1.png
+share/mixxx/skins/outlineSmall/endoftrack-stop-ch2.png
+share/mixxx/skins/outlineSmall/flanger-off-Ch1.png
+share/mixxx/skins/outlineSmall/flanger-off-Ch2.png
+share/mixxx/skins/outlineSmall/flanger-on-Ch1.png
+share/mixxx/skins/outlineSmall/flanger-on-Ch2.png
+share/mixxx/skins/outlineSmall/fwd-off-Ch1.png
+share/mixxx/skins/outlineSmall/fwd-off-Ch2.png
+share/mixxx/skins/outlineSmall/fwd-on-Ch1.png
+share/mixxx/skins/outlineSmall/fwd-on-Ch2.png
+share/mixxx/skins/outlineSmall/greyknob.png
+share/mixxx/skins/outlineSmall/head-off-Ch1.png
+share/mixxx/skins/outlineSmall/head-off-Ch2.png
+share/mixxx/skins/outlineSmall/head-on-Ch1.png
+share/mixxx/skins/outlineSmall/head-on-Ch2.png
+share/mixxx/skins/outlineSmall/knob0.png
+share/mixxx/skins/outlineSmall/knob1.png
+share/mixxx/skins/outlineSmall/knob10.png
+share/mixxx/skins/outlineSmall/knob11.png
+share/mixxx/skins/outlineSmall/knob12.png
+share/mixxx/skins/outlineSmall/knob13.png
+share/mixxx/skins/outlineSmall/knob14.png
+share/mixxx/skins/outlineSmall/knob15.png
+share/mixxx/skins/outlineSmall/knob16.png
+share/mixxx/skins/outlineSmall/knob17.png
+share/mixxx/skins/outlineSmall/knob18.png
+share/mixxx/skins/outlineSmall/knob19.png
+share/mixxx/skins/outlineSmall/knob2.png
+share/mixxx/skins/outlineSmall/knob20.png
+share/mixxx/skins/outlineSmall/knob21.png
+share/mixxx/skins/outlineSmall/knob22.png
+share/mixxx/skins/outlineSmall/knob23.png
+share/mixxx/skins/outlineSmall/knob24.png
+share/mixxx/skins/outlineSmall/knob25.png
+share/mixxx/skins/outlineSmall/knob26.png
+share/mixxx/skins/outlineSmall/knob27.png
+share/mixxx/skins/outlineSmall/knob28.png
+share/mixxx/skins/outlineSmall/knob29.png
+share/mixxx/skins/outlineSmall/knob3.png
+share/mixxx/skins/outlineSmall/knob30.png
+share/mixxx/skins/outlineSmall/knob31.png
+share/mixxx/skins/outlineSmall/knob32.png
+share/mixxx/skins/outlineSmall/knob33.png
+share/mixxx/skins/outlineSmall/knob34.png
+share/mixxx/skins/outlineSmall/knob35.png
+share/mixxx/skins/outlineSmall/knob36.png
+share/mixxx/skins/outlineSmall/knob37.png
+share/mixxx/skins/outlineSmall/knob38.png
+share/mixxx/skins/outlineSmall/knob39.png
+share/mixxx/skins/outlineSmall/knob4.png
+share/mixxx/skins/outlineSmall/knob40.png
+share/mixxx/skins/outlineSmall/knob41.png
+share/mixxx/skins/outlineSmall/knob42.png
+share/mixxx/skins/outlineSmall/knob43.png
+share/mixxx/skins/outlineSmall/knob44.png
+share/mixxx/skins/outlineSmall/knob5.png
+share/mixxx/skins/outlineSmall/knob6.png
+share/mixxx/skins/outlineSmall/knob7.png
+share/mixxx/skins/outlineSmall/knob8.png
+share/mixxx/skins/outlineSmall/knob9.png
+share/mixxx/skins/outlineSmall/knobg0.png
+share/mixxx/skins/outlineSmall/knobg1.png
+share/mixxx/skins/outlineSmall/knobg10.png
+share/mixxx/skins/outlineSmall/knobg11.png
+share/mixxx/skins/outlineSmall/knobg12.png
+share/mixxx/skins/outlineSmall/knobg13.png
+share/mixxx/skins/outlineSmall/knobg14.png
+share/mixxx/skins/outlineSmall/knobg15.png
+share/mixxx/skins/outlineSmall/knobg16.png
+share/mixxx/skins/outlineSmall/knobg17.png
+share/mixxx/skins/outlineSmall/knobg18.png
+share/mixxx/skins/outlineSmall/knobg19.png
+share/mixxx/skins/outlineSmall/knobg2.png
+share/mixxx/skins/outlineSmall/knobg20.png
+share/mixxx/skins/outlineSmall/knobg21.png
+share/mixxx/skins/outlineSmall/knobg22.png
+share/mixxx/skins/outlineSmall/knobg23.png
+share/mixxx/skins/outlineSmall/knobg24.png
+share/mixxx/skins/outlineSmall/knobg25.png
+share/mixxx/skins/outlineSmall/knobg26.png
+share/mixxx/skins/outlineSmall/knobg27.png
+share/mixxx/skins/outlineSmall/knobg28.png
+share/mixxx/skins/outlineSmall/knobg29.png
+share/mixxx/skins/outlineSmall/knobg3.png
+share/mixxx/skins/outlineSmall/knobg30.png
+share/mixxx/skins/outlineSmall/knobg31.png
+share/mixxx/skins/outlineSmall/knobg32.png
+share/mixxx/skins/outlineSmall/knobg33.png
+share/mixxx/skins/outlineSmall/knobg34.png
+share/mixxx/skins/outlineSmall/knobg35.png
+share/mixxx/skins/outlineSmall/knobg36.png
+share/mixxx/skins/outlineSmall/knobg37.png
+share/mixxx/skins/outlineSmall/knobg38.png
+share/mixxx/skins/outlineSmall/knobg39.png
+share/mixxx/skins/outlineSmall/knobg4.png
+share/mixxx/skins/outlineSmall/knobg40.png
+share/mixxx/skins/outlineSmall/knobg41.png
+share/mixxx/skins/outlineSmall/knobg42.png
+share/mixxx/skins/outlineSmall/knobg43.png
+share/mixxx/skins/outlineSmall/knobg44.png
+share/mixxx/skins/outlineSmall/knobg5.png
+share/mixxx/skins/outlineSmall/knobg6.png
+share/mixxx/skins/outlineSmall/knobg7.png
+share/mixxx/skins/outlineSmall/knobg8.png
+share/mixxx/skins/outlineSmall/knobg9.png
+share/mixxx/skins/outlineSmall/knobl0.png
+share/mixxx/skins/outlineSmall/knobl1.png
+share/mixxx/skins/outlineSmall/knobl10.png
+share/mixxx/skins/outlineSmall/knobl11.png
+share/mixxx/skins/outlineSmall/knobl12.png
+share/mixxx/skins/outlineSmall/knobl13.png
+share/mixxx/skins/outlineSmall/knobl14.png
+share/mixxx/skins/outlineSmall/knobl15.png
+share/mixxx/skins/outlineSmall/knobl16.png
+share/mixxx/skins/outlineSmall/knobl17.png
+share/mixxx/skins/outlineSmall/knobl18.png
+share/mixxx/skins/outlineSmall/knobl19.png
+share/mixxx/skins/outlineSmall/knobl2.png
+share/mixxx/skins/outlineSmall/knobl20.png
+share/mixxx/skins/outlineSmall/knobl21.png
+share/mixxx/skins/outlineSmall/knobl22.png
+share/mixxx/skins/outlineSmall/knobl23.png
+share/mixxx/skins/outlineSmall/knobl24.png
+share/mixxx/skins/outlineSmall/knobl25.png
+share/mixxx/skins/outlineSmall/knobl26.png
+share/mixxx/skins/outlineSmall/knobl27.png
+share/mixxx/skins/outlineSmall/knobl28.png
+share/mixxx/skins/outlineSmall/knobl29.png
+share/mixxx/skins/outlineSmall/knobl3.png
+share/mixxx/skins/outlineSmall/knobl30.png
+share/mixxx/skins/outlineSmall/knobl31.png
+share/mixxx/skins/outlineSmall/knobl32.png
+share/mixxx/skins/outlineSmall/knobl33.png
+share/mixxx/skins/outlineSmall/knobl34.png
+share/mixxx/skins/outlineSmall/knobl35.png
+share/mixxx/skins/outlineSmall/knobl36.png
+share/mixxx/skins/outlineSmall/knobl37.png
+share/mixxx/skins/outlineSmall/knobl38.png
+share/mixxx/skins/outlineSmall/knobl39.png
+share/mixxx/skins/outlineSmall/knobl4.png
+share/mixxx/skins/outlineSmall/knobl40.png
+share/mixxx/skins/outlineSmall/knobl41.png
+share/mixxx/skins/outlineSmall/knobl42.png
+share/mixxx/skins/outlineSmall/knobl43.png
+share/mixxx/skins/outlineSmall/knobl44.png
+share/mixxx/skins/outlineSmall/knobl5.png
+share/mixxx/skins/outlineSmall/knobl6.png
+share/mixxx/skins/outlineSmall/knobl7.png
+share/mixxx/skins/outlineSmall/knobl8.png
+share/mixxx/skins/outlineSmall/knobl9.png
+share/mixxx/skins/outlineSmall/knobm0.png
+share/mixxx/skins/outlineSmall/knobm1.png
+share/mixxx/skins/outlineSmall/knobm10.png
+share/mixxx/skins/outlineSmall/knobm11.png
+share/mixxx/skins/outlineSmall/knobm12.png
+share/mixxx/skins/outlineSmall/knobm13.png
+share/mixxx/skins/outlineSmall/knobm14.png
+share/mixxx/skins/outlineSmall/knobm15.png
+share/mixxx/skins/outlineSmall/knobm16.png
+share/mixxx/skins/outlineSmall/knobm17.png
+share/mixxx/skins/outlineSmall/knobm18.png
+share/mixxx/skins/outlineSmall/knobm19.png
+share/mixxx/skins/outlineSmall/knobm2.png
+share/mixxx/skins/outlineSmall/knobm20.png
+share/mixxx/skins/outlineSmall/knobm21.png
+share/mixxx/skins/outlineSmall/knobm22.png
+share/mixxx/skins/outlineSmall/knobm23.png
+share/mixxx/skins/outlineSmall/knobm24.png
+share/mixxx/skins/outlineSmall/knobm25.png
+share/mixxx/skins/outlineSmall/knobm26.png
+share/mixxx/skins/outlineSmall/knobm27.png
+share/mixxx/skins/outlineSmall/knobm28.png
+share/mixxx/skins/outlineSmall/knobm29.png
+share/mixxx/skins/outlineSmall/knobm3.png
+share/mixxx/skins/outlineSmall/knobm30.png
+share/mixxx/skins/outlineSmall/knobm31.png
+share/mixxx/skins/outlineSmall/knobm32.png
+share/mixxx/skins/outlineSmall/knobm33.png
+share/mixxx/skins/outlineSmall/knobm34.png
+share/mixxx/skins/outlineSmall/knobm35.png
+share/mixxx/skins/outlineSmall/knobm36.png
+share/mixxx/skins/outlineSmall/knobm37.png
+share/mixxx/skins/outlineSmall/knobm38.png
+share/mixxx/skins/outlineSmall/knobm39.png
+share/mixxx/skins/outlineSmall/knobm4.png
+share/mixxx/skins/outlineSmall/knobm40.png
+share/mixxx/skins/outlineSmall/knobm41.png
+share/mixxx/skins/outlineSmall/knobm42.png
+share/mixxx/skins/outlineSmall/knobm43.png
+share/mixxx/skins/outlineSmall/knobm44.png
+share/mixxx/skins/outlineSmall/knobm5.png
+share/mixxx/skins/outlineSmall/knobm6.png
+share/mixxx/skins/outlineSmall/knobm7.png
+share/mixxx/skins/outlineSmall/knobm8.png
+share/mixxx/skins/outlineSmall/knobm9.png
+share/mixxx/skins/outlineSmall/knobr0.png
+share/mixxx/skins/outlineSmall/knobr1.png
+share/mixxx/skins/outlineSmall/knobr10.png
+share/mixxx/skins/outlineSmall/knobr11.png
+share/mixxx/skins/outlineSmall/knobr12.png
+share/mixxx/skins/outlineSmall/knobr13.png
+share/mixxx/skins/outlineSmall/knobr14.png
+share/mixxx/skins/outlineSmall/knobr15.png
+share/mixxx/skins/outlineSmall/knobr16.png
+share/mixxx/skins/outlineSmall/knobr17.png
+share/mixxx/skins/outlineSmall/knobr18.png
+share/mixxx/skins/outlineSmall/knobr19.png
+share/mixxx/skins/outlineSmall/knobr2.png
+share/mixxx/skins/outlineSmall/knobr20.png
+share/mixxx/skins/outlineSmall/knobr21.png
+share/mixxx/skins/outlineSmall/knobr22.png
+share/mixxx/skins/outlineSmall/knobr23.png
+share/mixxx/skins/outlineSmall/knobr24.png
+share/mixxx/skins/outlineSmall/knobr25.png
+share/mixxx/skins/outlineSmall/knobr26.png
+share/mixxx/skins/outlineSmall/knobr27.png
+share/mixxx/skins/outlineSmall/knobr28.png
+share/mixxx/skins/outlineSmall/knobr29.png
+share/mixxx/skins/outlineSmall/knobr3.png
+share/mixxx/skins/outlineSmall/knobr30.png
+share/mixxx/skins/outlineSmall/knobr31.png
+share/mixxx/skins/outlineSmall/knobr32.png
+share/mixxx/skins/outlineSmall/knobr33.png
+share/mixxx/skins/outlineSmall/knobr34.png
+share/mixxx/skins/outlineSmall/knobr35.png
+share/mixxx/skins/outlineSmall/knobr36.png
+share/mixxx/skins/outlineSmall/knobr37.png
+share/mixxx/skins/outlineSmall/knobr38.png
+share/mixxx/skins/outlineSmall/knobr39.png
+share/mixxx/skins/outlineSmall/knobr4.png
+share/mixxx/skins/outlineSmall/knobr40.png
+share/mixxx/skins/outlineSmall/knobr41.png
+share/mixxx/skins/outlineSmall/knobr42.png
+share/mixxx/skins/outlineSmall/knobr43.png
+share/mixxx/skins/outlineSmall/knobr44.png
+share/mixxx/skins/outlineSmall/knobr5.png
+share/mixxx/skins/outlineSmall/knobr6.png
+share/mixxx/skins/outlineSmall/knobr7.png
+share/mixxx/skins/outlineSmall/knobr8.png
+share/mixxx/skins/outlineSmall/knobr9.png
+share/mixxx/skins/outlineSmall/play-off-Ch1.png
+share/mixxx/skins/outlineSmall/play-off-Ch2.png
+share/mixxx/skins/outlineSmall/play-on-Ch1.png
+share/mixxx/skins/outlineSmall/play-on-Ch2.png
+share/mixxx/skins/outlineSmall/playpos-marker1.png
+share/mixxx/skins/outlineSmall/playpos-marker2.png
+share/mixxx/skins/outlineSmall/playpos-slider.png
+share/mixxx/skins/outlineSmall/ratedown-off-Ch1.png
+share/mixxx/skins/outlineSmall/ratedown-off-Ch2.png
+share/mixxx/skins/outlineSmall/ratedown-on-Ch1.png
+share/mixxx/skins/outlineSmall/ratedown-on-Ch2.png
+share/mixxx/skins/outlineSmall/ratehandle-off-Ch1.png
+share/mixxx/skins/outlineSmall/ratehandle-off-Ch2.png
+share/mixxx/skins/outlineSmall/ratehandle-on-Ch1.png
+share/mixxx/skins/outlineSmall/ratehandle-on-Ch2.png
+share/mixxx/skins/outlineSmall/rateslider-off-Ch1.png
+share/mixxx/skins/outlineSmall/rateslider-off-Ch2.png
+share/mixxx/skins/outlineSmall/rateslider-on-Ch1.png
+share/mixxx/skins/outlineSmall/rateslider-on-Ch2.png
+share/mixxx/skins/outlineSmall/rateup-off-Ch1.png
+share/mixxx/skins/outlineSmall/rateup-off-Ch2.png
+share/mixxx/skins/outlineSmall/rateup-on-Ch1.png
+share/mixxx/skins/outlineSmall/rateup-on-Ch2.png
+share/mixxx/skins/outlineSmall/rev-off-Ch1.png
+share/mixxx/skins/outlineSmall/rev-off-Ch2.png
+share/mixxx/skins/outlineSmall/rev-on-Ch1.png
+share/mixxx/skins/outlineSmall/rev-on-Ch2.png
+share/mixxx/skins/outlineSmall/scene.png
+share/mixxx/skins/outlineSmall/skin.xml
+share/mixxx/skins/outlineSmall/sync-off-Ch1.png
+share/mixxx/skins/outlineSmall/sync-off-Ch2.png
+share/mixxx/skins/outlineSmall/sync-on-Ch1.png
+share/mixxx/skins/outlineSmall/sync-on-Ch2.png
+share/mixxx/skins/outlineSmall/volhandle-off-Ch1.png
+share/mixxx/skins/outlineSmall/volhandle-off-Ch2.png
+share/mixxx/skins/outlineSmall/volhandle-on-Ch1.png
+share/mixxx/skins/outlineSmall/volhandle-on-Ch2.png
+share/mixxx/skins/outlineSmall/volslider-off-Ch1.png
+share/mixxx/skins/outlineSmall/volslider-off-Ch2.png
+share/mixxx/skins/outlineSmall/volslider-on-Ch1.png
+share/mixxx/skins/outlineSmall/volslider-on-Ch2.png
+share/mixxx/skins/outlineSmall/vumeter-off-.png
+share/mixxx/skins/outlineSmall/vumeter-off-Ch1.png
+share/mixxx/skins/outlineSmall/vumeter-off-Ch2.png
+share/mixxx/skins/outlineSmall/vumeter-on-.png
+share/mixxx/skins/outlineSmall/vumeter-on-Ch1.png
+share/mixxx/skins/outlineSmall/vumeter-on-Ch2.png
+share/mixxx/skins/traditional/balanceback.png
+share/mixxx/skins/traditional/cross.png
+share/mixxx/skins/traditional/cue0.png
+share/mixxx/skins/traditional/cue1.png
+share/mixxx/skins/traditional/cue2.png
+share/mixxx/skins/traditional/cue3.png
+share/mixxx/skins/traditional/cue4.png
+share/mixxx/skins/traditional/cue5.png
+share/mixxx/skins/traditional/cueback1.png
+share/mixxx/skins/traditional/cueback2.png
+share/mixxx/skins/traditional/cuec0.png
+share/mixxx/skins/traditional/cuec1.png
+share/mixxx/skins/traditional/cuec2.png
+share/mixxx/skins/traditional/cuec3.png
+share/mixxx/skins/traditional/cuec4.png
+share/mixxx/skins/traditional/cuec5.png
+share/mixxx/skins/traditional/cuecback1.png
+share/mixxx/skins/traditional/cuecback2.png
+share/mixxx/skins/traditional/down0.png
+share/mixxx/skins/traditional/down1.png
+share/mixxx/skins/traditional/down2.png
+share/mixxx/skins/traditional/down3.png
+share/mixxx/skins/traditional/down4.png
+share/mixxx/skins/traditional/down5.png
+share/mixxx/skins/traditional/downback1.png
+share/mixxx/skins/traditional/endoftrackmode-loop.png
+share/mixxx/skins/traditional/endoftrackmode-next.png
+share/mixxx/skins/traditional/endoftrackmode-ping.png
+share/mixxx/skins/traditional/endoftrackmode-stop.png
+share/mixxx/skins/traditional/filterhighback1.png
+share/mixxx/skins/traditional/filterhighback2.png
+share/mixxx/skins/traditional/filterlowback1.png
+share/mixxx/skins/traditional/filterlowback2.png
+share/mixxx/skins/traditional/filtermidback1.png
+share/mixxx/skins/traditional/filtermidback2.png
+share/mixxx/skins/traditional/gainback1.png
+share/mixxx/skins/traditional/gainback2.png
+share/mixxx/skins/traditional/headmixback.png
+share/mixxx/skins/traditional/headvolback.png
+share/mixxx/skins/traditional/knob.png
+share/mixxx/skins/traditional/knob0.png
+share/mixxx/skins/traditional/knob1.png
+share/mixxx/skins/traditional/knob10.png
+share/mixxx/skins/traditional/knob11.png
+share/mixxx/skins/traditional/knob12.png
+share/mixxx/skins/traditional/knob13.png
+share/mixxx/skins/traditional/knob14.png
+share/mixxx/skins/traditional/knob15.png
+share/mixxx/skins/traditional/knob16.png
+share/mixxx/skins/traditional/knob17.png
+share/mixxx/skins/traditional/knob18.png
+share/mixxx/skins/traditional/knob19.png
+share/mixxx/skins/traditional/knob2.png
+share/mixxx/skins/traditional/knob20.png
+share/mixxx/skins/traditional/knob21.png
+share/mixxx/skins/traditional/knob22.png
+share/mixxx/skins/traditional/knob23.png
+share/mixxx/skins/traditional/knob24.png
+share/mixxx/skins/traditional/knob25.png
+share/mixxx/skins/traditional/knob26.png
+share/mixxx/skins/traditional/knob27.png
+share/mixxx/skins/traditional/knob28.png
+share/mixxx/skins/traditional/knob29.png
+share/mixxx/skins/traditional/knob3.png
+share/mixxx/skins/traditional/knob30.png
+share/mixxx/skins/traditional/knob4.png
+share/mixxx/skins/traditional/knob5.png
+share/mixxx/skins/traditional/knob6.png
+share/mixxx/skins/traditional/knob7.png
+share/mixxx/skins/traditional/knob8.png
+share/mixxx/skins/traditional/knob9.png
+share/mixxx/skins/traditional/knobold.png
+share/mixxx/skins/traditional/ledl1.png
+share/mixxx/skins/traditional/ledl2.png
+share/mixxx/skins/traditional/ledl3.png
+share/mixxx/skins/traditional/ledl4.png
+share/mixxx/skins/traditional/ledr1.png
+share/mixxx/skins/traditional/ledr2.png
+share/mixxx/skins/traditional/ledr3.png
+share/mixxx/skins/traditional/ledr4.png
+share/mixxx/skins/traditional/main.png
+share/mixxx/skins/traditional/masterback.png
+share/mixxx/skins/traditional/pgm0.png
+share/mixxx/skins/traditional/pgm1.png
+share/mixxx/skins/traditional/pgm2.png
+share/mixxx/skins/traditional/pitchleft.png
+share/mixxx/skins/traditional/pitchright.png
+share/mixxx/skins/traditional/play0.png
+share/mixxx/skins/traditional/play1.png
+share/mixxx/skins/traditional/play2.png
+share/mixxx/skins/traditional/play3.png
+share/mixxx/skins/traditional/play4.png
+share/mixxx/skins/traditional/play5.png
+share/mixxx/skins/traditional/playback1.png
+share/mixxx/skins/traditional/playback2.png
+share/mixxx/skins/traditional/playposmarker.png
+share/mixxx/skins/traditional/playposslider.png
+share/mixxx/skins/traditional/skin.xml
+share/mixxx/skins/traditional/sliderhandle1.png
+share/mixxx/skins/traditional/sliderhandle3.png
+share/mixxx/skins/traditional/step0.png
+share/mixxx/skins/traditional/step1.png
+share/mixxx/skins/traditional/step2.png
+share/mixxx/skins/traditional/stop0.png
+share/mixxx/skins/traditional/stop1.png
+share/mixxx/skins/traditional/stop2.png
+share/mixxx/skins/traditional/stop3.png
+share/mixxx/skins/traditional/stop4.png
+share/mixxx/skins/traditional/stop5.png
+share/mixxx/skins/traditional/up0.png
+share/mixxx/skins/traditional/up1.png
+share/mixxx/skins/traditional/up2.png
+share/mixxx/skins/traditional/up3.png
+share/mixxx/skins/traditional/up4.png
+share/mixxx/skins/traditional/up5.png
+share/mixxx/skins/traditional/upback1.png
+share/mixxx/skins/traditional/volleft.png
+share/mixxx/skins/traditional/volright.png
+share/mixxx/skins/traditional/vpred0.png
+share/mixxx/skins/traditional/vpred1.png
+share/mixxx/skins/traditional/vpred2.png
+share/mixxx/skins/traditional/vpred3.png
+share/mixxx/skins/traditional/vpred4.png
+share/mixxx/skins/traditional/vpred5.png
+share/mixxx/skins/traditional/vpredback.png
+share/mixxx/skins/traditional/vu0l.png
+share/mixxx/skins/traditional/vu0r.png
+share/mixxx/skins/traditional/vu10l.png
+share/mixxx/skins/traditional/vu10r.png
+share/mixxx/skins/traditional/vu11l.png
+share/mixxx/skins/traditional/vu11r.png
+share/mixxx/skins/traditional/vu12l.png
+share/mixxx/skins/traditional/vu12r.png
+share/mixxx/skins/traditional/vu13l.png
+share/mixxx/skins/traditional/vu13r.png
+share/mixxx/skins/traditional/vu14l.png
+share/mixxx/skins/traditional/vu14r.png
+share/mixxx/skins/traditional/vu15l.png
+share/mixxx/skins/traditional/vu15r.png
+share/mixxx/skins/traditional/vu16l.png
+share/mixxx/skins/traditional/vu16r.png
+share/mixxx/skins/traditional/vu17l.png
+share/mixxx/skins/traditional/vu17r.png
+share/mixxx/skins/traditional/vu18l.png
+share/mixxx/skins/traditional/vu18r.png
+share/mixxx/skins/traditional/vu19l.png
+share/mixxx/skins/traditional/vu19r.png
+share/mixxx/skins/traditional/vu1l.png
+share/mixxx/skins/traditional/vu1r.png
+share/mixxx/skins/traditional/vu20l.png
+share/mixxx/skins/traditional/vu20r.png
+share/mixxx/skins/traditional/vu21l.png
+share/mixxx/skins/traditional/vu21r.png
+share/mixxx/skins/traditional/vu22l.png
+share/mixxx/skins/traditional/vu22r.png
+share/mixxx/skins/traditional/vu23l.png
+share/mixxx/skins/traditional/vu23r.png
+share/mixxx/skins/traditional/vu24l.png
+share/mixxx/skins/traditional/vu24r.png
+share/mixxx/skins/traditional/vu25l.png
+share/mixxx/skins/traditional/vu25r.png
+share/mixxx/skins/traditional/vu26l.png
+share/mixxx/skins/traditional/vu26r.png
+share/mixxx/skins/traditional/vu27l.png
+share/mixxx/skins/traditional/vu27r.png
+share/mixxx/skins/traditional/vu28l.png
+share/mixxx/skins/traditional/vu28r.png
+share/mixxx/skins/traditional/vu29l.png
+share/mixxx/skins/traditional/vu29r.png
+share/mixxx/skins/traditional/vu2l.png
+share/mixxx/skins/traditional/vu2r.png
+share/mixxx/skins/traditional/vu30l.png
+share/mixxx/skins/traditional/vu30r.png
+share/mixxx/skins/traditional/vu31l.png
+share/mixxx/skins/traditional/vu31r.png
+share/mixxx/skins/traditional/vu32l.png
+share/mixxx/skins/traditional/vu32r.png
+share/mixxx/skins/traditional/vu3l.png
+share/mixxx/skins/traditional/vu3r.png
+share/mixxx/skins/traditional/vu4l.png
+share/mixxx/skins/traditional/vu4r.png
+share/mixxx/skins/traditional/vu5l.png
+share/mixxx/skins/traditional/vu5r.png
+share/mixxx/skins/traditional/vu6l.png
+share/mixxx/skins/traditional/vu6r.png
+share/mixxx/skins/traditional/vu7l.png
+share/mixxx/skins/traditional/vu7r.png
+share/mixxx/skins/traditional/vu8l.png
+share/mixxx/skins/traditional/vu8r.png
+share/mixxx/skins/traditional/vu9l.png
+share/mixxx/skins/traditional/vu9r.png
+share/mixxx/skins/traditional/zpet0.png
+share/mixxx/skins/traditional/zpet1.png
+share/mixxx/skins/traditional/zpet2.png
+share/mixxx/skins/traditional/zpet3.png
+share/mixxx/skins/traditional/zpet4.png
+share/mixxx/skins/traditional/zpet5.png
+share/mixxx/skins/traditional/zpetback.png
+%%PORTDOCS%%%%DOCSDIR%%/Mixxx-Manual.pdf
+%%PORTDOCS%%%%DOCSDIR%%/README
+@dirrm share/mixxx/keyboard
+@dirrm share/mixxx/midi
+@dirrm share/mixxx/skins/outline
+@dirrm share/mixxx/skins/outlineClose
+@dirrm share/mixxx/skins/outlineSmall
+@dirrm share/mixxx/skins/traditional
+@dirrm share/mixxx/skins
+@dirrm share/mixxx
+%%PORTDOCS%%@dirrm %%DOCSDIR%%