Merge lp:~ulatekh/mixxx/mingw into lp:~mixxxdevelopers/mixxx/trunk

Proposed by Steven Boswell
Status: Needs review
Proposed branch: lp:~ulatekh/mixxx/mingw
Merge into: lp:~mixxxdevelopers/mixxx/trunk
Diff against target: 2508 lines (+946/-486)
34 files modified
mixxx/build/crossmingw.py (+2/-0)
mixxx/build/depends.py (+20/-6)
mixxx/build/features.py (+2/-0)
mixxx/build/mixxx.py (+21/-10)
mixxx/build/nsis/Mixxx.nsi (+6/-0)
mixxx/build/qtcreator/mixxx.pro (+616/-367)
mixxx/build/qtcreator/protobuf.pri (+39/-0)
mixxx/build/unused/create_mixxx_dmg.sh (+0/-10)
mixxx/build/unused/mixxx_dmg.sh (+14/-22)
mixxx/lib/fidlib-0.9.10/fidlib.c (+2/-2)
mixxx/lib/soundtouch-1.6.0/FIFOSampleBuffer.cpp (+2/-1)
mixxx/lib/soundtouch-1.6.0/TDStretch.cpp (+2/-1)
mixxx/lib/soundtouch-1.6.0/sse_optimized.cpp (+4/-3)
mixxx/lib/xwax/lut.cpp (+5/-1)
mixxx/lib/xwax/timecoder.h (+8/-0)
mixxx/lib/xwax/timecoder_win32.cpp (+4/-0)
mixxx/src/SConscript (+141/-50)
mixxx/src/analyserbeats.cpp (+8/-1)
mixxx/src/analyserqueue.cpp (+4/-0)
mixxx/src/controllers/controllermanager.cpp (+2/-0)
mixxx/src/dlgprefbeats.cpp (+8/-0)
mixxx/src/dlgprefbeats.h (+2/-0)
mixxx/src/dlgpreferences.cpp (+2/-0)
mixxx/src/library/basesqltablemodel.cpp (+2/-2)
mixxx/src/library/browse/foldertreemodel.cpp (+2/-2)
mixxx/src/library/treeitemmodel.cpp (+6/-0)
mixxx/src/sampleutil.cpp (+3/-2)
mixxx/src/util/stat.h (+1/-1)
mixxx/src/vamp/vampanalyser.h (+4/-1)
mixxx/src/widget/wspinny.cpp (+10/-0)
mixxx/vamp-plugins/SConscript (+1/-1)
mixxx/vamp-plugins/dsp/DownBeat.h (+1/-1)
mixxx/vamp-plugins/dsp/GetKeyMode.h (+1/-1)
mixxx/vamp-plugins/dsp/TempoTrackV2.h (+1/-1)
To merge this branch: bzr merge lp:~ulatekh/mixxx/mingw
Reviewer Review Type Date Requested Status
Mixxx Development Team Pending
Review via email: mp+167075@code.launchpad.net

Description of the change

These changes, plus the contents of https://github.com/ulatekh/fedora-mingw-ardour , allow one to build the MS Windows version of Mixxx, using scons, from Fedora Core. That includes making an installer! Finally, the lament on http://mixxx.org/wiki/doku.php/build_windows_installer , i.e. "Now, doesn't this make you long for a MinGW build?", has been answered!

To post a comment you must log in.
lp:~ulatekh/mixxx/mingw updated
3383. By Steven Boswell

Now the MinGW build supports vamp, vinylcontrol, and hid, i.e. mingw{32,64}-phonon.

3384. By Steven Boswell

Now the MinGW build supports shoutcast.

3385. By Steven Boswell

Now copies the libid3tag DLL.

Unmerged revisions

3385. By Steven Boswell

Now copies the libid3tag DLL.

3384. By Steven Boswell

Now the MinGW build supports shoutcast.

3383. By Steven Boswell

Now the MinGW build supports vamp, vinylcontrol, and hid, i.e. mingw{32,64}-phonon.

3382. By Steven Boswell

Compared this branch to trunk, cleaned up some oversights.
Also made sure this branch still compiles and runs on Linux.

3381. By Steven Boswell

Updated the MinGW build for new dependencies libchromaprint and fftw.
Fixed non-VAMP compilation in WSpinny.

3380. By Steven Boswell

Merged with lp:mixxx

3379. By Steven Boswell

Fixed the MinGW 64-bit build and the MinGW NSIS installer generation!

3378. By Steven Boswell

The scons-driven MinGW build of Mixxx now links, runs, and creates a proper dist32 directory!

My command line thus far:
scons ladspa=0 shoutcast=0 hifieq=1 script=0 optimize=0 ffmpeg=0 target=windows crosscompile_root=/usr/i686-w64-mingw32/sys-root/mingw hss1394=0 vamp=0 vinylcontrol=0 hid=0 sqlitedll=1

This is working under Fedora Core 18.

I've made a repository for all the files needed to build Mixxx's dependencies under Fedora Core with MinGW:
https://github.com/ulatekh/fedora-mingw-ardour.git

3377. By Steven Boswell

Now a MinGW build can be made under Linux, with SCons!

3376. By Steven Boswell

Fixed the display of tracks in the track view!
Now the MinGW build of Mixxx appears to be functional! Further testing will have to reveal problems, because it looks fine!

Also removed references to Qt libraries that aren't used any more (Qt3Support, QtSvg, and QtXmlPatterns).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'mixxx/build/crossmingw.py'
--- mixxx/build/crossmingw.py 2010-10-05 02:00:00 +0000
+++ mixxx/build/crossmingw.py 2013-06-13 22:06:31 +0000
@@ -17,6 +17,8 @@
17""")17""")
1818
19def find(env):19def find(env):
20 if 'CROSSMINGW_PREFIX' in env:
21 prefixes.insert(0, env['CROSSMINGW_PREFIX'])
20 for prefix in prefixes:22 for prefix in prefixes:
21 # First search in the SCons path and then the OS path:23 # First search in the SCons path and then the OS path:
22 if env.WhereIs(prefix + 'gcc') or SCons.Util.WhereIs(prefix + 'gcc'):24 if env.WhereIs(prefix + 'gcc') or SCons.Util.WhereIs(prefix + 'gcc'):
2325
=== modified file 'mixxx/build/depends.py'
--- mixxx/build/depends.py 2013-05-22 07:25:25 +0000
+++ mixxx/build/depends.py 2013-06-13 22:06:31 +0000
@@ -11,6 +11,8 @@
11 libs = ['portaudio']11 libs = ['portaudio']
12 if build.msvcdebug:12 if build.msvcdebug:
13 libs = ['portaudiod','portaudio-debug']13 libs = ['portaudiod','portaudio-debug']
14 if build.crosscompile and build.platform_is_windows and build.toolchain_is_gnu:
15 libs = ['portaudio', 'portaudio.dll', 'portaudio-2']
14 if not conf.CheckLib(libs):16 if not conf.CheckLib(libs):
15 raise Exception('Did not find libportaudio.a, portaudio.lib, or the PortAudio-v19 development header files.')17 raise Exception('Did not find libportaudio.a, portaudio.lib, or the PortAudio-v19 development header files.')
1618
@@ -187,8 +189,8 @@
187 # times.189 # times.
188190
189 qt_modules = [191 qt_modules = [
190 'QtCore', 'QtGui', 'QtOpenGL', 'QtXml', 'QtSvg',192 'QtCore', 'QtGui', 'QtOpenGL', 'QtXml', 'QtSql', 'QtScript',
191 'QtSql', 'QtScript', 'QtXmlPatterns', 'QtNetwork'193 'QtNetwork'
192 #'QtUiTools', #'QtDesigner',194 #'QtUiTools', #'QtDesigner',
193 ]195 ]
194196
@@ -238,7 +240,6 @@
238 'QtOpenGL4',240 'QtOpenGL4',
239 'QtXml4',241 'QtXml4',
240 'QtNetwork4',242 'QtNetwork4',
241 'QtXmlPatterns4',
242 'QtSql4',243 'QtSql4',
243 'QtScript4',]244 'QtScript4',]
244 if use_qtwebkit:245 if use_qtwebkit:
@@ -378,10 +379,13 @@
378 env.Append(CPPPATH=['#lib/%s' % self.SOUNDTOUCH_PATH])379 env.Append(CPPPATH=['#lib/%s' % self.SOUNDTOUCH_PATH])
379380
380 # Check if the compiler has SSE extention enabled381 # Check if the compiler has SSE extention enabled
381 # Allways the case on x64 (core instructions)382 # Always the case on x64 (core instructions)
382 optimize = int(util.get_flags(env, 'optimize', 1))383 optimize = int(util.get_flags(env, 'optimize', 1))
383 if self.sse_enabled(build):384 if self.sse_enabled(build):
384 env.Append(CPPDEFINES='SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS')385 env.Append(CPPDEFINES='SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS')
386 build.env.Append(CCFLAGS = '-mmmx -msse')
387 env.Append(CPPDEFINES='__MMX__')
388 env.Append(CPPDEFINES='__SSE__')
385389
386class TagLib(Dependence):390class TagLib(Dependence):
387 def configure(self, build, conf):391 def configure(self, build, conf):
@@ -830,6 +834,9 @@
830 build.env.Append(CPPPATH=mixxx_lib_path)834 build.env.Append(CPPPATH=mixxx_lib_path)
831 build.env.Append(LIBPATH=mixxx_lib_path)835 build.env.Append(LIBPATH=mixxx_lib_path)
832836
837 # Find executables (e.g. protoc) in the winlib path
838 build.env.AppendENVPath('PATH', mixxx_lib_path)
839
833 #Ugh, MSVC-only hack :( see840 #Ugh, MSVC-only hack :( see
834 #http://www.qtforum.org/article/17883/problem-using-qstring-fromstdwstring.html841 #http://www.qtforum.org/article/17883/problem-using-qstring-fromstdwstring.html
835 build.env.Append(CXXFLAGS = '/Zc:wchar_t-')842 build.env.Append(CXXFLAGS = '/Zc:wchar_t-')
@@ -949,5 +956,12 @@
949 build.env.Append(LINKFLAGS = '/manifest') #Force MSVS to generate a manifest (MSVC2010)956 build.env.Append(LINKFLAGS = '/manifest') #Force MSVS to generate a manifest (MSVC2010)
950 elif build.toolchain_is_gnu:957 elif build.toolchain_is_gnu:
951 # Makes the program not launch a shell first958 # Makes the program not launch a shell first
952 build.env.Append(LINKFLAGS = '--subsystem,windows')959 build.env.Append(LINKFLAGS = '-Wl,-subsystem,windows')
953 build.env.Append(LINKFLAGS = '-mwindows')960 build.env.Append(CCFLAGS = '-mwindows')
961 # Enable the use of threads
962 build.env.Append(CCFLAGS = '-mthreads')
963 # Linking won't succeed without this
964 build.env.Append(CCFLAGS = '-fno-keep-inline-dllexport')
965 # Link in libz at the end, so dependent libraries find it
966 build.env.Append(LIBS = 'z');
967
954968
=== modified file 'mixxx/build/features.py'
--- mixxx/build/features.py 2013-05-19 09:50:56 +0000
+++ mixxx/build/features.py 2013-06-13 22:06:31 +0000
@@ -446,6 +446,8 @@
446 if not self.enabled(build):446 if not self.enabled(build):
447 return447 return
448448
449 build.env.Append(CPPDEFINES = '__VAMP__')
450
449 # If there is no system vamp-hostdk installed, then we'll directly link451 # If there is no system vamp-hostdk installed, then we'll directly link
450 # the vamp-hostsdk.452 # the vamp-hostsdk.
451 if not conf.CheckLib(['vamp-hostsdk']):453 if not conf.CheckLib(['vamp-hostsdk']):
452454
=== modified file 'mixxx/build/mixxx.py'
--- mixxx/build/mixxx.py 2013-06-13 02:52:49 +0000
+++ mixxx/build/mixxx.py 2013-06-13 22:06:31 +0000
@@ -128,6 +128,15 @@
128 default_qtdir = depends.Qt.DEFAULT_QTDIRS.get(self.platform, '')128 default_qtdir = depends.Qt.DEFAULT_QTDIRS.get(self.platform, '')
129 qtdir = Script.ARGUMENTS.get('qtdir',129 qtdir = Script.ARGUMENTS.get('qtdir',
130 os.environ.get('QTDIR', default_qtdir))130 os.environ.get('QTDIR', default_qtdir))
131 if self.crosscompile:
132 crosscompile_root = Script.ARGUMENTS.get('crosscompile_root', '')
133
134 if crosscompile_root == '':
135 print "Your build setup indicates this is a cross-compile, but you did not specify 'crosscompile_root', which is required."
136 Script.Exit(1)
137
138 self.crosscompile_root = os.path.abspath(crosscompile_root)
139 qtdir = self.crosscompile_root
131140
132 # Validate the specified qtdir exists141 # Validate the specified qtdir exists
133 if not os.path.exists(qtdir):142 if not os.path.exists(qtdir):
@@ -156,6 +165,15 @@
156 if self.crosscompile:165 if self.crosscompile:
157 if self.platform_is_windows:166 if self.platform_is_windows:
158 tools.append('crossmingw')167 tools.append('crossmingw')
168
169 # Find the toolchain when building under Fedora.
170 if self.toolchain_is_gnu:
171 if self.machine_is_64bit:
172 extra_arguments['CROSSMINGW_PREFIX'] \
173 = 'x86_64-w64-mingw32-'
174 else:
175 extra_arguments['CROSSMINGW_PREFIX'] \
176 = 'i686-w64-mingw32-'
159 if self.platform == 'osx':177 if self.platform == 'osx':
160 tools.append('crossosx')178 tools.append('crossosx')
161179
@@ -183,16 +201,9 @@
183 self.env.Append(LINKFLAGS = '-arch x86_64')201 self.env.Append(LINKFLAGS = '-arch x86_64')
184202
185 if self.crosscompile:203 if self.crosscompile:
186 crosscompile_root = Script.ARGUMENTS.get('crosscompile_root', '')204 self.env.Append(CPPPATH=os.path.join(self.crosscompile_root, 'include'))
187205 self.env.Append(LIBPATH=os.path.join(self.crosscompile_root, 'lib'))
188 if crosscompile_root == '':206 self.env.Append(LIBPATH=os.path.join(self.crosscompile_root, 'bin'))
189 print "Your build setup indicates this is a cross-compile, but you did not specify 'crosscompile_root', which is required."
190 Script.Exit(1)
191
192 crosscompile_root = os.path.abspath(crosscompile_root)
193 self.env.Append(CPPPATH=os.path.join(crosscompile_root, 'include'))
194 self.env.Append(LIBPATH=os.path.join(crosscompile_root, 'lib'))
195 self.env.Append(LIBPATH=os.path.join(crosscompile_root, 'bin'))
196207
197 self.install_options()208 self.install_options()
198 self.virtualize_build_dir()209 self.virtualize_build_dir()
199210
=== modified file 'mixxx/build/nsis/Mixxx.nsi'
--- mixxx/build/nsis/Mixxx.nsi 2013-06-13 03:13:53 +0000
+++ mixxx/build/nsis/Mixxx.nsi 2013-06-13 22:06:31 +0000
@@ -109,6 +109,8 @@
109109
110FunctionEnd110FunctionEnd
111111
112!ifdef WINLIB_PATH
113
112;-------------------------------114;-------------------------------
113; Install the VC 2010 redistributable DLLs if they're not already.115; Install the VC 2010 redistributable DLLs if they're not already.
114Function InstallVCRedist116Function InstallVCRedist
@@ -187,6 +189,8 @@
187189
188FunctionEnd190FunctionEnd
189191
192!endif ; WINLIB_PATH
193
190;--------------------------------194;--------------------------------
191; The stuff to install195; The stuff to install
192196
@@ -194,7 +198,9 @@
194198
195 SectionIn RO199 SectionIn RO
196200
201!ifdef WINLIB_PATH
197 Call InstallVCRedist202 Call InstallVCRedist
203!endif ; WINLIB_PATH
198204
199 ; Set output path to the installation directory.205 ; Set output path to the installation directory.
200 SetOutPath $INSTDIR206 SetOutPath $INSTDIR
201207
=== modified file 'mixxx/build/qtcreator/mixxx.pro'
--- mixxx/build/qtcreator/mixxx.pro 2013-06-13 03:13:53 +0000
+++ mixxx/build/qtcreator/mixxx.pro 2013-06-13 22:06:31 +0000
@@ -1,5 +1,5 @@
1CONFIG += debug link_pkgconfig portmidi script vinylcontrol m4a1CONFIG += debug link_pkgconfig portmidi script vinylcontrol mad
2# ladspa2#CONFIG += m4a hss1394 ladspa
3DEFINES += QMAKE \ # define QMAKE for not-SCons specific ifdefs like ui_scriptstudio.h3DEFINES += QMAKE \ # define QMAKE for not-SCons specific ifdefs like ui_scriptstudio.h
4 __PORTAUDIO__ \4 __PORTAUDIO__ \
5 __SNDFILE__ \5 __SNDFILE__ \
@@ -61,7 +61,7 @@
61OBJECTS_DIR = $$BUILDDIR/obj61OBJECTS_DIR = $$BUILDDIR/obj
6262
63win32-g++ { # Bit ugly, but you can thank MS-DOS shell for f-ing up the normal way of parsing.63win32-g++ { # Bit ugly, but you can thank MS-DOS shell for f-ing up the normal way of parsing.
64 QMAKE_CXXFLAGS += "\"-DSETTINGS_PATH=\\\"Local\\ Settings/Application\\ Data/Mixxx/\\\"\""64 QMAKE_CXXFLAGS += "\"-DSETTINGS_PATH=\\\"Local Settings/Application Data/Mixxx/\\\"\""
65 DEFINES += __WINDOWS__65 DEFINES += __WINDOWS__
66} else {66} else {
67 win32 { # i586-mingw32msvc-g++ -- cross compiling67 win32 { # i586-mingw32msvc-g++ -- cross compiling
@@ -76,14 +76,11 @@
76TARGET = mixxx76TARGET = mixxx
77QT += core \77QT += core \
78 gui \78 gui \
79 sql \
80 xmlpatterns \
81 xml \
82 network \79 network \
83 svg \
84 opengl \80 opengl \
85 script \81 script \
86 qt3support82 sql \
83 xml
8784
88CONFIG(debug) { # gdbmacros is required for inspecting Qt datatypes using gdb within QtC85CONFIG(debug) { # gdbmacros is required for inspecting Qt datatypes using gdb within QtC
89 exists($$(QTDIR)/../share/qtcreator/gdbmacros/gdbmacros.cpp) {86 exists($$(QTDIR)/../share/qtcreator/gdbmacros/gdbmacros.cpp) {
@@ -97,9 +94,15 @@
97 }94 }
98}95}
9996
100HEADERS += $$UI_DIR/ui_dlgaboutdlg.h \97HEADERS += $$UI_DIR/ui_dlgpreferencesdlg.h \
101 $$UI_DIR/ui_dlgmidilearning.h \98 $$UI_DIR/ui_dlgprefsounddlg.h \
99 $$UI_DIR/controllers/ui_dlgprefcontrollerdlg.h \
100 $$UI_DIR/controllers/ui_dlgprefmappablecontrollerdlg.h \
101 $$UI_DIR/controllers/ui_dlgcontrollerlearning.h \
102 $$UI_DIR/controllers/ui_dlgprefnocontrollersdlg.h \
103 $$UI_DIR/ui_dlgprefplaylistdlg.h \
102 $$UI_DIR/ui_dlgprefcontrolsdlg.h \104 $$UI_DIR/ui_dlgprefcontrolsdlg.h \
105 $$UI_DIR/ui_dlgprefeqdlg.h \
103 $$UI_DIR/ui_dlgprefcrossfaderdlg.h \106 $$UI_DIR/ui_dlgprefcrossfaderdlg.h \
104 $$UI_DIR/ui_dlgprefeqdlg.h \107 $$UI_DIR/ui_dlgprefeqdlg.h \
105 $$UI_DIR/ui_dlgpreferencesdlg.h \108 $$UI_DIR/ui_dlgpreferencesdlg.h \
@@ -110,7 +113,15 @@
110 $$UI_DIR/ui_dlgprefsounddlg.h \113 $$UI_DIR/ui_dlgprefsounddlg.h \
111 $$UI_DIR/ui_dlgprefvinyldlg.h \114 $$UI_DIR/ui_dlgprefvinyldlg.h \
112 $$UI_DIR/ui_dlgprefnovinyldlg.h \115 $$UI_DIR/ui_dlgprefnovinyldlg.h \
113 $$UI_DIR/ui_dlgprefnomididlg.h116 $$UI_DIR/ui_dlgprefrecorddlg.h \
117 $$UI_DIR/ui_dlgaboutdlg.h \
118 $$UI_DIR/ui_dlgtrackinfo.h \
119 $$UI_DIR/ui_dlgprepare.h \
120 $$UI_DIR/ui_dlgautodj.h \
121 $$UI_DIR/ui_dlgprefsounditem.h \
122 $$UI_DIR/ui_dlgrecording.h \
123 $$UI_DIR/ui_dlghidden.h \
124 $$UI_DIR/ui_dlgmissing.h
114125
115INCLUDEPATH += src \126INCLUDEPATH += src \
116 lib/replaygain \127 lib/replaygain \
@@ -131,18 +142,47 @@
131142
132HEADERS += \143HEADERS += \
133$$BASE_DIR/src/analyser.h \144$$BASE_DIR/src/analyser.h \
145$$BASE_DIR/src/analyserbeats.h \
134$$BASE_DIR/src/analyserqueue.h \146$$BASE_DIR/src/analyserqueue.h \
147$$BASE_DIR/src/analyserrg.h \
135$$BASE_DIR/src/analyserwaveform.h \148$$BASE_DIR/src/analyserwaveform.h \
136$$BASE_DIR/src/analyserwavesummary.h \149$$BASE_DIR/src/audiotagger.h \
137$$BASE_DIR/src/bpm/bpmreceiver.h \150$$BASE_DIR/src/baseplayer.h \
151$$BASE_DIR/src/basetrackplayer.h \
138$$BASE_DIR/src/bpm/bpmscheme.h \152$$BASE_DIR/src/bpm/bpmscheme.h \
139$$BASE_DIR/src/bpm/wavesegmentation.h \153$$BASE_DIR/src/bpm/wavesegmentation.h \
140$$BASE_DIR/src/build.h \154$$BASE_DIR/src/build.h \
141$$BASE_DIR/src/cachingreader.h \155$$BASE_DIR/src/cachingreader.h \
156$$BASE_DIR/src/circularbuffer.h \
142$$BASE_DIR/src/configobject.h \157$$BASE_DIR/src/configobject.h \
143$$BASE_DIR/src/controlbeat.h \158$$BASE_DIR/src/controlbeat.h \
144$$BASE_DIR/src/controlevent.h \159$$BASE_DIR/src/controlevent.h \
145$$BASE_DIR/src/controlgroupdelegate.h \160$$BASE_DIR/src/controllers/controller.h \
161$$BASE_DIR/src/controllers/controllerengine.h \
162$$BASE_DIR/src/controllers/controllerenumerator.h \
163$$BASE_DIR/src/controllers/controllerlearningeventfilter.h \
164$$BASE_DIR/src/controllers/controllermanager.h \
165$$BASE_DIR/src/controllers/controllerpreset.h \
166$$BASE_DIR/src/controllers/controllerpresetfilehandler.h \
167$$BASE_DIR/src/controllers/controllerpresetinfo.h \
168$$BASE_DIR/src/controllers/controllerpresetvisitor.h \
169$$BASE_DIR/src/controllers/defs_controllers.h \
170$$BASE_DIR/src/controllers/dlgcontrollerlearning.h \
171$$BASE_DIR/src/controllers/dlgprefcontroller.h \
172$$BASE_DIR/src/controllers/dlgprefmappablecontroller.h \
173$$BASE_DIR/src/controllers/dlgprefnocontrollers.h \
174$$BASE_DIR/src/controllers/midi/midicontroller.h \
175$$BASE_DIR/src/controllers/midi/midicontrollerpreset.h \
176$$BASE_DIR/src/controllers/midi/midicontrollerpresetfilehandler.h \
177$$BASE_DIR/src/controllers/midi/midienumerator.h \
178$$BASE_DIR/src/controllers/midi/midimessage.h \
179$$BASE_DIR/src/controllers/midi/midioutputhandler.h \
180$$BASE_DIR/src/controllers/mixxxcontrol.h \
181$$BASE_DIR/src/controllers/pitchfilter.h \
182$$BASE_DIR/src/controllers/qtscript-bytearray/bytearrayclass.h \
183$$BASE_DIR/src/controllers/qtscript-bytearray/bytearrayprototype.h \
184$$BASE_DIR/src/controllers/softtakeover.h \
185$$BASE_DIR/src/controllinpotmeter.h \
146$$BASE_DIR/src/controllogpotmeter.h \186$$BASE_DIR/src/controllogpotmeter.h \
147$$BASE_DIR/src/controlnull.h \187$$BASE_DIR/src/controlnull.h \
148$$BASE_DIR/src/controlobject.h \188$$BASE_DIR/src/controlobject.h \
@@ -152,199 +192,236 @@
152$$BASE_DIR/src/controlpotmeter.h \192$$BASE_DIR/src/controlpotmeter.h \
153$$BASE_DIR/src/controlpushbutton.h \193$$BASE_DIR/src/controlpushbutton.h \
154$$BASE_DIR/src/controlttrotary.h \194$$BASE_DIR/src/controlttrotary.h \
155$$BASE_DIR/src/controlvaluedelegate.h \195$$BASE_DIR/src/deck.h \
156$$BASE_DIR/src/defs_audiofiles.h \
157$$BASE_DIR/src/defs.h \196$$BASE_DIR/src/defs.h \
158$$BASE_DIR/src/defs_promo.h \197$$BASE_DIR/src/defs_promo.h \
159$$BASE_DIR/src/defs_urls.h \198$$BASE_DIR/src/defs_urls.h \
160$$BASE_DIR/src/defs_version.h \199$$BASE_DIR/src/defs_version.h \
161$$BASE_DIR/src/dlgabout.h \200$$BASE_DIR/src/dlgabout.h \
162$$BASE_DIR/src/dlgautodj.h \201$$BASE_DIR/src/dlgautodj.h \
163$$BASE_DIR/src/dlgladspa.h \202$$BASE_DIR/src/dlghidden.h \
164$$BASE_DIR/src/dlgmidilearning.h \203$$BASE_DIR/src/dlgmissing.h \
204$$BASE_DIR/src/dlgprefbeats.h \
165$$BASE_DIR/src/dlgprefcontrols.h \205$$BASE_DIR/src/dlgprefcontrols.h \
166$$BASE_DIR/src/dlgprefcrossfader.h \206$$BASE_DIR/src/dlgprefcrossfader.h \
167$$BASE_DIR/src/dlgprefeq.h \207$$BASE_DIR/src/dlgprefeq.h \
168$$BASE_DIR/src/dlgpreferences.h \208$$BASE_DIR/src/dlgpreferences.h \
169$$BASE_DIR/src/dlgprefmidibindings.h \
170$$BASE_DIR/src/dlgprefnomidi.h \
171$$BASE_DIR/src/dlgprefplaylist.h \209$$BASE_DIR/src/dlgprefplaylist.h \
172$$BASE_DIR/src/dlgprefrecord.h \210$$BASE_DIR/src/dlgprefrecord.h \
211$$BASE_DIR/src/dlgprefreplaygain.h \
173$$BASE_DIR/src/dlgprefsound.h \212$$BASE_DIR/src/dlgprefsound.h \
174$$BASE_DIR/src/dlgprefvinyl.h \213$$BASE_DIR/src/dlgprefsounditem.h \
175$$BASE_DIR/src/dlgprepare.h \214$$BASE_DIR/src/dlgprepare.h \
215$$BASE_DIR/src/dlgrecording.h \
176$$BASE_DIR/src/dlgtrackinfo.h \216$$BASE_DIR/src/dlgtrackinfo.h \
177$$BASE_DIR/src/encoder.h \
178$$BASE_DIR/src/engine/bpmcontrol.h \217$$BASE_DIR/src/engine/bpmcontrol.h \
218$$BASE_DIR/src/engine/clockcontrol.h \
179$$BASE_DIR/src/engine/cuecontrol.h \219$$BASE_DIR/src/engine/cuecontrol.h \
180$$BASE_DIR/src/engine/engineabstractrecord.h \
181$$BASE_DIR/src/engine/enginebuffer.h \220$$BASE_DIR/src/engine/enginebuffer.h \
221$$BASE_DIR/src/engine/enginebufferscale.h \
182$$BASE_DIR/src/engine/enginebufferscaledummy.h \222$$BASE_DIR/src/engine/enginebufferscaledummy.h \
183$$BASE_DIR/src/engine/enginebufferscale.h \
184$$BASE_DIR/src/engine/enginebufferscalelinear.h \223$$BASE_DIR/src/engine/enginebufferscalelinear.h \
185$$BASE_DIR/src/engine/enginebufferscalereal.h \
186$$BASE_DIR/src/engine/enginebufferscalest.h \224$$BASE_DIR/src/engine/enginebufferscalest.h \
187$$BASE_DIR/src/engine/enginechannel.h \225$$BASE_DIR/src/engine/enginechannel.h \
188$$BASE_DIR/src/engine/engineclipping.h \226$$BASE_DIR/src/engine/engineclipping.h \
189$$BASE_DIR/src/engine/enginecontrol.h \227$$BASE_DIR/src/engine/enginecontrol.h \
228$$BASE_DIR/src/engine/enginedeck.h \
190$$BASE_DIR/src/engine/enginedelay.h \229$$BASE_DIR/src/engine/enginedelay.h \
230$$BASE_DIR/src/engine/enginefilter.h \
191$$BASE_DIR/src/engine/enginefilterblock.h \231$$BASE_DIR/src/engine/enginefilterblock.h \
192$$BASE_DIR/src/engine/enginefilterbutterworth8.h \232$$BASE_DIR/src/engine/enginefilterbutterworth8.h \
193$$BASE_DIR/src/engine/enginefilter.h \
194$$BASE_DIR/src/engine/enginefilteriir.h \233$$BASE_DIR/src/engine/enginefilteriir.h \
195$$BASE_DIR/src/engine/engineflanger.h \234$$BASE_DIR/src/engine/engineflanger.h \
196$$BASE_DIR/src/engine/engineladspa.h \
197$$BASE_DIR/src/engine/enginemaster.h \235$$BASE_DIR/src/engine/enginemaster.h \
236$$BASE_DIR/src/engine/enginemicrophone.h \
198$$BASE_DIR/src/engine/engineobject.h \237$$BASE_DIR/src/engine/engineobject.h \
238$$BASE_DIR/src/engine/enginepassthrough.h \
199$$BASE_DIR/src/engine/enginepregain.h \239$$BASE_DIR/src/engine/enginepregain.h \
200$$BASE_DIR/src/engine/enginesidechain.h \240$$BASE_DIR/src/engine/sidechain/enginesidechain.h \
201$$BASE_DIR/src/engine/enginespectralfwd.h \241$$BASE_DIR/src/engine/sidechain/enginerecord.h \
202$$BASE_DIR/src/engine/enginevinylcontrol.h \
203$$BASE_DIR/src/engine/enginevinylsoundemu.h \242$$BASE_DIR/src/engine/enginevinylsoundemu.h \
204$$BASE_DIR/src/engine/enginevolume.h \
205$$BASE_DIR/src/engine/enginevumeter.h \243$$BASE_DIR/src/engine/enginevumeter.h \
244$$BASE_DIR/src/engine/engineworker.h \
245$$BASE_DIR/src/engine/engineworkerscheduler.h \
206$$BASE_DIR/src/engine/enginexfader.h \246$$BASE_DIR/src/engine/enginexfader.h \
207$$BASE_DIR/src/engine/loopingcontrol.h \247$$BASE_DIR/src/engine/loopingcontrol.h \
248$$BASE_DIR/src/engine/positionscratchcontroller.h \
249$$BASE_DIR/src/engine/quantizecontrol.h \
208$$BASE_DIR/src/engine/ratecontrol.h \250$$BASE_DIR/src/engine/ratecontrol.h \
209$$BASE_DIR/src/engine/readaheadmanager.h \251$$BASE_DIR/src/engine/readaheadmanager.h \
210$$BASE_DIR/src/errordialog.h \252$$BASE_DIR/src/engine/syncworker.h \
211$$BASE_DIR/src/imgcolor.h \253$$BASE_DIR/src/errordialoghandler.h \
212$$BASE_DIR/src/imginvert.h \
213$$BASE_DIR/src/imgloader.h \
214$$BASE_DIR/src/imgsource.h \
215$$BASE_DIR/src/input.h \
216$$BASE_DIR/src/ladspa/ladspacontrol.h \
217$$BASE_DIR/src/ladspa/ladspainstance.h \
218$$BASE_DIR/src/ladspa/ladspainstancemono.h \
219$$BASE_DIR/src/ladspa/ladspainstancestereo.h \
220$$BASE_DIR/src/ladspa/ladspalibrary.h \
221$$BASE_DIR/src/ladspa/ladspaloader.h \
222$$BASE_DIR/src/ladspa/ladspaplugin.h \
223$$BASE_DIR/src/ladspa/ladspapreset.h \
224$$BASE_DIR/src/ladspa/ladspapresetinstance.h \
225$$BASE_DIR/src/ladspa/ladspapresetknob.h \
226$$BASE_DIR/src/ladspa/ladspapresetmanager.h \
227$$BASE_DIR/src/ladspa/ladspapresetslot.h \
228$$BASE_DIR/src/ladspaview.h \
229$$BASE_DIR/src/library/abstractxmltrackmodel.h \
230$$BASE_DIR/src/library/autodjfeature.h \254$$BASE_DIR/src/library/autodjfeature.h \
231$$BASE_DIR/src/library/browsefeature.h \255$$BASE_DIR/src/library/baseexternallibraryfeature.h \
232$$BASE_DIR/src/library/browsefilter.h \256$$BASE_DIR/src/library/baseexternalplaylistmodel.h \
233$$BASE_DIR/src/library/browsetablemodel.h \257$$BASE_DIR/src/library/baseexternaltrackmodel.h \
258$$BASE_DIR/src/library/baseplaylistfeature.h \
259$$BASE_DIR/src/library/basesqltablemodel.h \
260$$BASE_DIR/src/library/basetrackcache.h \
261$$BASE_DIR/src/library/browse/browsefeature.h \
262$$BASE_DIR/src/library/browse/browsetablemodel.h \
263$$BASE_DIR/src/library/browse/browsethread.h \
264$$BASE_DIR/src/library/browse/foldertreemodel.h \
234$$BASE_DIR/src/library/cratefeature.h \265$$BASE_DIR/src/library/cratefeature.h \
235$$BASE_DIR/src/library/cratetablemodel.h \266$$BASE_DIR/src/library/cratetablemodel.h \
267$$BASE_DIR/src/library/dao/analysisdao.h \
236$$BASE_DIR/src/library/dao/cratedao.h \268$$BASE_DIR/src/library/dao/cratedao.h \
269$$BASE_DIR/src/library/dao/cue.h \
237$$BASE_DIR/src/library/dao/cuedao.h \270$$BASE_DIR/src/library/dao/cuedao.h \
238$$BASE_DIR/src/library/dao/cue.h \
239$$BASE_DIR/src/library/dao/dao.h \271$$BASE_DIR/src/library/dao/dao.h \
240$$BASE_DIR/src/library/dao/libraryhashdao.h \272$$BASE_DIR/src/library/dao/libraryhashdao.h \
241$$BASE_DIR/src/library/dao/playlistdao.h \273$$BASE_DIR/src/library/dao/playlistdao.h \
242$$BASE_DIR/src/library/dao/settingsdao.h \274$$BASE_DIR/src/library/dao/settingsdao.h \
243$$BASE_DIR/src/library/dao/trackdao.h \275$$BASE_DIR/src/library/dao/trackdao.h \
244$$BASE_DIR/src/library/itunesfeature.h \276$$BASE_DIR/src/library/hiddentablemodel.h \
245$$BASE_DIR/src/library/itunesplaylistmodel.h \277$$BASE_DIR/src/library/itunes/itunesfeature.h \
246$$BASE_DIR/src/library/itunestrackmodel.h \
247$$BASE_DIR/src/library/legacylibraryimporter.h \278$$BASE_DIR/src/library/legacylibraryimporter.h \
279$$BASE_DIR/src/library/library.h \
280$$BASE_DIR/src/library/librarycontrol.h \
248$$BASE_DIR/src/library/libraryfeature.h \281$$BASE_DIR/src/library/libraryfeature.h \
249$$BASE_DIR/src/library/library.h \282$$BASE_DIR/src/library/libraryscanner.h \
250$$BASE_DIR/src/library/librarymidicontrol.h \
251$$BASE_DIR/src/library/libraryscannerdlg.h \283$$BASE_DIR/src/library/libraryscannerdlg.h \
252$$BASE_DIR/src/library/libraryscanner.h \
253$$BASE_DIR/src/library/librarytablemodel.h \284$$BASE_DIR/src/library/librarytablemodel.h \
254$$BASE_DIR/src/library/libraryview.h \285$$BASE_DIR/src/library/libraryview.h \
255$$BASE_DIR/src/library/missingtablemodel.h \286$$BASE_DIR/src/library/missingtablemodel.h \
256$$BASE_DIR/src/library/mixxxlibraryfeature.h \287$$BASE_DIR/src/library/mixxxlibraryfeature.h \
288$$BASE_DIR/src/library/parser.h \
289$$BASE_DIR/src/library/parsercsv.h \
290$$BASE_DIR/src/library/parserm3u.h \
291$$BASE_DIR/src/library/parserpls.h \
257$$BASE_DIR/src/library/playlistfeature.h \292$$BASE_DIR/src/library/playlistfeature.h \
258$$BASE_DIR/src/library/playlisttablemodel.h \293$$BASE_DIR/src/library/playlisttablemodel.h \
259$$BASE_DIR/src/library/preparecratedelegate.h \294$$BASE_DIR/src/library/preparecratedelegate.h \
260$$BASE_DIR/src/library/preparefeature.h \295$$BASE_DIR/src/library/preparefeature.h \
261$$BASE_DIR/src/library/preparelibrarytablemodel.h \296$$BASE_DIR/src/library/preparelibrarytablemodel.h \
297$$BASE_DIR/src/library/previewbuttondelegate.h \
262$$BASE_DIR/src/library/proxytrackmodel.h \298$$BASE_DIR/src/library/proxytrackmodel.h \
263$$BASE_DIR/src/library/rhythmboxfeature.h \299$$BASE_DIR/src/library/queryutil.h \
264$$BASE_DIR/src/library/rhythmboxplaylistmodel.h \300$$BASE_DIR/src/library/recording/recordingfeature.h \
265$$BASE_DIR/src/library/rhythmboxtrackmodel.h \301$$BASE_DIR/src/library/rhythmbox/rhythmboxfeature.h \
266$$BASE_DIR/src/library/schemamanager.h \302$$BASE_DIR/src/library/schemamanager.h \
303$$BASE_DIR/src/library/searchqueryparser.h \
267$$BASE_DIR/src/library/searchthread.h \304$$BASE_DIR/src/library/searchthread.h \
305$$BASE_DIR/src/library/setlogfeature.h \
268$$BASE_DIR/src/library/sidebarmodel.h \306$$BASE_DIR/src/library/sidebarmodel.h \
307$$BASE_DIR/src/library/songdownloader.h \
308$$BASE_DIR/src/library/stardelegate.h \
309$$BASE_DIR/src/library/stareditor.h \
310$$BASE_DIR/src/library/bpmdelegate.h \
311$$BASE_DIR/src/library/bpmeditor.h \
312$$BASE_DIR/src/library/starrating.h \
269$$BASE_DIR/src/library/trackcollection.h \313$$BASE_DIR/src/library/trackcollection.h \
270$$BASE_DIR/src/library/trackmodel.h \314$$BASE_DIR/src/library/trackmodel.h \
271$$BASE_DIR/src/m4a/comment.h \315$$BASE_DIR/src/library/traktor/traktorfeature.h \
272$$BASE_DIR/src/m4a/ip.h \316$$BASE_DIR/src/library/treeitem.h \
273$$BASE_DIR/src/m4a/sf.h \317$$BASE_DIR/src/library/treeitemmodel.h \
274$$BASE_DIR/src/mathstuff.h \318$$BASE_DIR/src/mathstuff.h \
275$$BASE_DIR/src/midi/midichanneldelegate.h \319$$BASE_DIR/src/mixxx.h \
276$$BASE_DIR/src/midi/mididevicedummy.h \
277$$BASE_DIR/src/midi/mididevice.h \
278$$BASE_DIR/src/midi/mididevicemanager.h \
279$$BASE_DIR/src/midi/midideviceportmidi.h \
280$$BASE_DIR/src/midi/midiinputmapping.h \
281$$BASE_DIR/src/midi/midiinputmappingtablemodel.h \
282$$BASE_DIR/src/midi/midiledhandler.h \
283$$BASE_DIR/src/midi/midimapping.h \
284$$BASE_DIR/src/midi/midimessage.h \
285$$BASE_DIR/src/midi/midinodelegate.h \
286$$BASE_DIR/src/midi/midioptiondelegate.h \
287$$BASE_DIR/src/midi/midioutputmapping.h \
288$$BASE_DIR/src/midi/midioutputmappingtablemodel.h \
289$$BASE_DIR/src/midi/midiscriptengine.h \
290$$BASE_DIR/src/midi/midistatusdelegate.h \
291$$BASE_DIR/src/mixxxcontrol.h \
292$$BASE_DIR/src/mixxxevent.h \320$$BASE_DIR/src/mixxxevent.h \
293$$BASE_DIR/src/mixxx.h \
294$$BASE_DIR/src/mixxxkeyboard.h \321$$BASE_DIR/src/mixxxkeyboard.h \
295$$BASE_DIR/src/mixxxview.h \
296$$BASE_DIR/src/parser.h \
297$$BASE_DIR/src/parserm3u.h \
298$$BASE_DIR/src/parserpls.h \
299$$BASE_DIR/src/peaklist.h \
300$$BASE_DIR/src/player.h \
301$$BASE_DIR/src/playerinfo.h \322$$BASE_DIR/src/playerinfo.h \
302$$BASE_DIR/src/probabilityvector.h \323$$BASE_DIR/src/playermanager.h \
324$$BASE_DIR/src/previewdeck.h \
303$$BASE_DIR/src/recording/defs_recording.h \325$$BASE_DIR/src/recording/defs_recording.h \
304$$BASE_DIR/src/recording/enginerecord.h \326$$BASE_DIR/src/recording/recordingmanager.h \
305$$BASE_DIR/src/recording/writeaudiofile.h \
306$$BASE_DIR/src/rotary.h \327$$BASE_DIR/src/rotary.h \
307$$BASE_DIR/src/rtthread.h \328$$BASE_DIR/src/sampler.h \
329$$BASE_DIR/src/samplerbank.h \
330$$BASE_DIR/src/sampleutil.h \
308$$BASE_DIR/src/segmentation.h \331$$BASE_DIR/src/segmentation.h \
332$$BASE_DIR/src/sharedglcontext.h \
333$$BASE_DIR/src/singleton.h \
334$$BASE_DIR/src/skin/colorschemeparser.h \
335$$BASE_DIR/src/skin/imgcolor.h \
336$$BASE_DIR/src/skin/imginvert.h \
337$$BASE_DIR/src/skin/imgloader.h \
338$$BASE_DIR/src/skin/imgsource.h \
339$$BASE_DIR/src/skin/legacyskinparser.h \
340$$BASE_DIR/src/skin/propertybinder.h \
341$$BASE_DIR/src/skin/skinloader.h \
342$$BASE_DIR/src/skin/skinparser.h \
343$$BASE_DIR/src/skin/tooltips.h \
309$$BASE_DIR/src/sounddevice.h \344$$BASE_DIR/src/sounddevice.h \
310$$BASE_DIR/src/sounddeviceportaudio.h \345$$BASE_DIR/src/sounddeviceportaudio.h \
311$$BASE_DIR/src/soundmanager.h \346$$BASE_DIR/src/soundmanager.h \
347$$BASE_DIR/src/soundmanagerconfig.h \
348$$BASE_DIR/src/soundmanagerutil.h \
312$$BASE_DIR/src/soundsource.h \349$$BASE_DIR/src/soundsource.h \
313$$BASE_DIR/src/soundsourcem4a.h \350$$BASE_DIR/src/soundsourcecoreaudio.h \
314$$BASE_DIR/src/soundsourcemp3.h \351$$BASE_DIR/src/soundsourceffmpeg.h \
352$$BASE_DIR/src/soundsourceflac.h \
315$$BASE_DIR/src/soundsourceoggvorbis.h \353$$BASE_DIR/src/soundsourceoggvorbis.h \
316$$BASE_DIR/src/soundsourceproxy.h \354$$BASE_DIR/src/soundsourceproxy.h \
317$$BASE_DIR/src/soundsourcesndfile.h \355$$BASE_DIR/src/soundsourcesndfile.h \
356$$BASE_DIR/src/tapfilter.h \
357$$BASE_DIR/src/test/mixxxtest.h \
358$$BASE_DIR/src/tonal/tonalanalyser.h \
359$$BASE_DIR/src/track/beat_preferences.h \
360$$BASE_DIR/src/track/beatfactory.h \
361$$BASE_DIR/src/track/beatgrid.h \
362$$BASE_DIR/src/track/beatmap.h \
363$$BASE_DIR/src/track/beats.h \
364$$BASE_DIR/src/track/beatutils.h \
318$$BASE_DIR/src/trackinfoobject.h \365$$BASE_DIR/src/trackinfoobject.h \
319$$BASE_DIR/src/transposeproxymodel.h \366$$BASE_DIR/src/transposeproxymodel.h \
320$$BASE_DIR/src/upgrade.h \367$$BASE_DIR/src/upgrade.h \
321$$BASE_DIR/src/vinylcontrol.h \368$$BASE_DIR/src/util.h \
322$$BASE_DIR/src/vinylcontrolproxy.h \369$$BASE_DIR/src/util/cmdlineargs.h \
323$$BASE_DIR/src/vinylcontrolscratchlib.h \370$$BASE_DIR/src/util/counter.h \
324$$BASE_DIR/src/vinylcontrolsignalwidget.h \371$$BASE_DIR/src/util/debug.h \
325$$BASE_DIR/src/vinylcontrolxwax.h \372$$BASE_DIR/src/util/fifo.h \
326$$BASE_DIR/src/waveform/glwaveformrenderer.h \373$$BASE_DIR/src/util/lcs.h \
327$$BASE_DIR/src/waveform/renderobject.h \374$$BASE_DIR/src/util/pa_memorybarrier.h \
328$$BASE_DIR/src/waveformviewerfactory.h \375$$BASE_DIR/src/util/pa_ringbuffer.h \
329$$BASE_DIR/src/waveform/waveformrenderbackground.h \376$$BASE_DIR/src/util/performancetimer.h \
330$$BASE_DIR/src/waveform/waveformrenderbeat.h \377$$BASE_DIR/src/util/sleepableqthread.h \
331$$BASE_DIR/src/waveform/waveformrenderer.h \378$$BASE_DIR/src/util/stat.h \
332$$BASE_DIR/src/waveform/waveformrendermark.h \379$$BASE_DIR/src/util/statsmanager.h \
333$$BASE_DIR/src/waveform/waveformrendermarkrange.h \380$$BASE_DIR/src/util/timer.h \
334$$BASE_DIR/src/waveform/waveformrendersignal.h \381$$BASE_DIR/src/util/trace.h \
335$$BASE_DIR/src/waveform/waveformrendersignalpixmap.h \382$$BASE_DIR/src/waveform/renderers/glslwaveformrenderersignal.h \
383$$BASE_DIR/src/waveform/renderers/glwaveformrendererfilteredsignal.h \
384$$BASE_DIR/src/waveform/renderers/glwaveformrenderersimplesignal.h \
385$$BASE_DIR/src/waveform/renderers/qtwaveformrendererfilteredsignal.h \
386$$BASE_DIR/src/waveform/renderers/qtwaveformrenderersimplesignal.h \
387$$BASE_DIR/src/waveform/renderers/waveformmark.h \
388$$BASE_DIR/src/waveform/renderers/waveformmarkrange.h \
389$$BASE_DIR/src/waveform/renderers/waveformmarkset.h \
390$$BASE_DIR/src/waveform/renderers/waveformrenderbackground.h \
391$$BASE_DIR/src/waveform/renderers/waveformrenderbeat.h \
392$$BASE_DIR/src/waveform/renderers/waveformrendererabstract.h \
393$$BASE_DIR/src/waveform/renderers/waveformrendererendoftrack.h \
394$$BASE_DIR/src/waveform/renderers/waveformrendererfilteredsignal.h \
395$$BASE_DIR/src/waveform/renderers/waveformrendererhsv.h \
396$$BASE_DIR/src/waveform/renderers/waveformrendererpreroll.h \
397$$BASE_DIR/src/waveform/renderers/waveformrenderersignalbase.h \
398$$BASE_DIR/src/waveform/renderers/waveformrendermark.h \
399$$BASE_DIR/src/waveform/renderers/waveformrendermarkrange.h \
400$$BASE_DIR/src/waveform/renderers/waveformsignalcolors.h \
401$$BASE_DIR/src/waveform/renderers/waveformwidgetrenderer.h \
402$$BASE_DIR/src/waveform/waveform.h \
403$$BASE_DIR/src/waveform/waveformfactory.h \
404$$BASE_DIR/src/waveform/waveformwidgetfactory.h \
405$$BASE_DIR/src/waveform/widgets/emptywaveformwidget.h \
406$$BASE_DIR/src/waveform/widgets/glsimplewaveformwidget.h \
407$$BASE_DIR/src/waveform/widgets/glslwaveformwidget.h \
408$$BASE_DIR/src/waveform/widgets/glwaveformwidget.h \
409$$BASE_DIR/src/waveform/widgets/hsvwaveformwidget.h \
410$$BASE_DIR/src/waveform/widgets/qtsimplewaveformwidget.h \
411$$BASE_DIR/src/waveform/widgets/qtwaveformwidget.h \
412$$BASE_DIR/src/waveform/widgets/softwarewaveformwidget.h \
413$$BASE_DIR/src/waveform/widgets/waveformwidgetabstract.h \
414$$BASE_DIR/src/waveform/widgets/waveformwidgettype.h \
336$$BASE_DIR/src/widget/hexspinbox.h \415$$BASE_DIR/src/widget/hexspinbox.h \
337$$BASE_DIR/src/widget/wabstractcontrol.h \416$$BASE_DIR/src/widget/wabstractcontrol.h \
338$$BASE_DIR/src/widget/wbrowsetableview.h \
339$$BASE_DIR/src/widget/wdisplay.h \417$$BASE_DIR/src/widget/wdisplay.h \
340$$BASE_DIR/src/widget/wglwaveformviewer.h \418$$BASE_DIR/src/widget/wimagestore.h \
341$$BASE_DIR/src/widget/wknob.h \419$$BASE_DIR/src/widget/wknob.h \
342$$BASE_DIR/src/widget/wlabel.h \420$$BASE_DIR/src/widget/wlabel.h \
343$$BASE_DIR/src/widget/wlibrary.h \421$$BASE_DIR/src/widget/wlibrary.h \
344$$BASE_DIR/src/widget/wlibrarysidebar.h \422$$BASE_DIR/src/widget/wlibrarysidebar.h \
345$$BASE_DIR/src/widget/wlibrarytableview.h \423$$BASE_DIR/src/widget/wlibrarytableview.h \
346$$BASE_DIR/src/widget/wlibrarytextbrowser.h \424$$BASE_DIR/src/widget/wlibrarytextbrowser.h \
347$$BASE_DIR/src/widget/wnumberbpm.h \
348$$BASE_DIR/src/widget/wnumber.h \425$$BASE_DIR/src/widget/wnumber.h \
349$$BASE_DIR/src/widget/wnumberpos.h \426$$BASE_DIR/src/widget/wnumberpos.h \
350$$BASE_DIR/src/widget/wnumberrate.h \427$$BASE_DIR/src/widget/wnumberrate.h \
@@ -355,249 +432,308 @@
355$$BASE_DIR/src/widget/wpushbutton.h \432$$BASE_DIR/src/widget/wpushbutton.h \
356$$BASE_DIR/src/widget/wsearchlineedit.h \433$$BASE_DIR/src/widget/wsearchlineedit.h \
357$$BASE_DIR/src/widget/wskincolor.h \434$$BASE_DIR/src/widget/wskincolor.h \
435$$BASE_DIR/src/widget/wslider.h \
358$$BASE_DIR/src/widget/wslidercomposed.h \436$$BASE_DIR/src/widget/wslidercomposed.h \
359$$BASE_DIR/src/widget/wslider.h \437$$BASE_DIR/src/widget/wspinny.h \
360$$BASE_DIR/src/widget/wstatuslight.h \438$$BASE_DIR/src/widget/wstatuslight.h \
439$$BASE_DIR/src/widget/wtime.h \
440$$BASE_DIR/src/widget/wtrackproperty.h \
441$$BASE_DIR/src/widget/wtracktableview.h \
361$$BASE_DIR/src/widget/wtracktableviewheader.h \442$$BASE_DIR/src/widget/wtracktableviewheader.h \
362$$BASE_DIR/src/widget/wvisualsimple.h \443$$BASE_DIR/src/widget/wtracktext.h \
363$$BASE_DIR/src/widget/wvumeter.h \444$$BASE_DIR/src/widget/wvumeter.h \
364$$BASE_DIR/src/widget/wwaveformviewer.h \445$$BASE_DIR/src/widget/wwaveformviewer.h \
365$$BASE_DIR/src/widget/wwidget.h \446$$BASE_DIR/src/widget/wwidget.h \
366$$BASE_DIR/src/windowkaiser.h \447$$BASE_DIR/src/widget/wwidgetgroup.h \
367$$BASE_DIR/src/wtracktableview.h \448$$BASE_DIR/src/widget/wwidgetstack.h \
368$$BASE_DIR/src/xmlparse.h449$$BASE_DIR/src/xmlparse.h
369450
370
371SOURCES += \451SOURCES += \
372$$BASE_DIR/src/analyserqueue.cpp \452$$BASE_DIR/src/mixxxkeyboard.cpp \
373$$BASE_DIR/src/analyserwaveform.cpp \
374$$BASE_DIR/src/analyserwavesummary.cpp \
375$$BASE_DIR/src/bpm/bpmscheme.cpp \
376$$BASE_DIR/src/bpm/wavesegmentation.cpp \
377$$BASE_DIR/src/cachingreader.cpp \
378$$BASE_DIR/src/configobject.cpp \453$$BASE_DIR/src/configobject.cpp \
379$$BASE_DIR/src/controlbeat.cpp \454$$BASE_DIR/src/controlobjectthread.cpp \
455$$BASE_DIR/src/controlobjectthreadwidget.cpp \
456$$BASE_DIR/src/controlobjectthreadmain.cpp \
380$$BASE_DIR/src/controlevent.cpp \457$$BASE_DIR/src/controlevent.cpp \
381$$BASE_DIR/src/controlgroupdelegate.cpp \
382$$BASE_DIR/src/controllogpotmeter.cpp \458$$BASE_DIR/src/controllogpotmeter.cpp \
459$$BASE_DIR/src/controlobject.cpp \
383$$BASE_DIR/src/controlnull.cpp \460$$BASE_DIR/src/controlnull.cpp \
384$$BASE_DIR/src/controlobject.cpp \
385$$BASE_DIR/src/controlobjectthread.cpp \
386$$BASE_DIR/src/controlobjectthreadmain.cpp \
387$$BASE_DIR/src/controlobjectthreadwidget.cpp \
388$$BASE_DIR/src/controlpotmeter.cpp \461$$BASE_DIR/src/controlpotmeter.cpp \
462$$BASE_DIR/src/controllinpotmeter.cpp \
389$$BASE_DIR/src/controlpushbutton.cpp \463$$BASE_DIR/src/controlpushbutton.cpp \
390$$BASE_DIR/src/controlttrotary.cpp \464$$BASE_DIR/src/controlttrotary.cpp \
391$$BASE_DIR/src/controlvaluedelegate.cpp \465$$BASE_DIR/src/controlbeat.cpp \
466$$BASE_DIR/src/dlgpreferences.cpp \
467$$BASE_DIR/src/dlgprefsound.cpp \
468$$BASE_DIR/src/dlgprefsounditem.cpp \
469$$BASE_DIR/src/controllers/dlgprefcontroller.cpp \
470$$BASE_DIR/src/controllers/dlgprefmappablecontroller.cpp \
471$$BASE_DIR/src/controllers/dlgcontrollerlearning.cpp \
472$$BASE_DIR/src/controllers/dlgprefnocontrollers.cpp \
473$$BASE_DIR/src/dlgprefbeats.cpp \
474$$BASE_DIR/src/dlgprefplaylist.cpp \
475$$BASE_DIR/src/dlgprefcontrols.cpp \
476$$BASE_DIR/src/dlgprefreplaygain.cpp \
477$$BASE_DIR/src/dlgprefnovinyl.cpp \
392$$BASE_DIR/src/dlgabout.cpp \478$$BASE_DIR/src/dlgabout.cpp \
393$$BASE_DIR/src/dlgautodj.cpp \479$$BASE_DIR/src/dlgprefeq.cpp \
394$$BASE_DIR/src/dlgladspa.cpp \
395$$BASE_DIR/src/dlgmidilearning.cpp \
396$$BASE_DIR/src/dlgprefcontrols.cpp \
397$$BASE_DIR/src/dlgprefcrossfader.cpp \480$$BASE_DIR/src/dlgprefcrossfader.cpp \
398$$BASE_DIR/src/dlgprefeq.cpp \481$$BASE_DIR/src/dlgtrackinfo.cpp \
399$$BASE_DIR/src/dlgpreferences.cpp \
400$$BASE_DIR/src/dlgprefmidibindings.cpp \
401$$BASE_DIR/src/dlgprefnomidi.cpp \
402$$BASE_DIR/src/dlgprefplaylist.cpp \
403$$BASE_DIR/src/dlgprefrecord.cpp \
404$$BASE_DIR/src/dlgprefsound.cpp \
405$$BASE_DIR/src/dlgprefvinyl.cpp \
406$$BASE_DIR/src/dlgprepare.cpp \482$$BASE_DIR/src/dlgprepare.cpp \
407$$BASE_DIR/src/dlgtrackinfo.cpp \483$$BASE_DIR/src/dlgautodj.cpp \
408$$BASE_DIR/src/encoder.cpp \484$$BASE_DIR/src/dlghidden.cpp \
409$$BASE_DIR/src/engine/bpmcontrol.cpp \485$$BASE_DIR/src/dlgmissing.cpp \
410$$BASE_DIR/src/engine/cuecontrol.cpp \486$$BASE_DIR/src/engine/engineworker.cpp \
487$$BASE_DIR/src/engine/engineworkerscheduler.cpp \
488$$BASE_DIR/src/engine/syncworker.cpp \
411$$BASE_DIR/src/engine/enginebuffer.cpp \489$$BASE_DIR/src/engine/enginebuffer.cpp \
412$$BASE_DIR/src/engine/enginebufferscale.cpp \490$$BASE_DIR/src/engine/enginebufferscale.cpp \
413$$BASE_DIR/src/engine/enginebufferscaledummy.cpp \491$$BASE_DIR/src/engine/enginebufferscaledummy.cpp \
414$$BASE_DIR/src/engine/enginebufferscalelinear.cpp \492$$BASE_DIR/src/engine/enginebufferscalelinear.cpp \
415$$BASE_DIR/src/engine/enginebufferscalereal.cpp \
416$$BASE_DIR/src/engine/enginebufferscalest.cpp \
417$$BASE_DIR/src/engine/enginechannel.cpp \
418$$BASE_DIR/src/engine/engineclipping.cpp \493$$BASE_DIR/src/engine/engineclipping.cpp \
419$$BASE_DIR/src/engine/enginecontrol.cpp \
420$$BASE_DIR/src/engine/enginedelay.cpp \
421$$BASE_DIR/src/engine/enginefilterblock.cpp \494$$BASE_DIR/src/engine/enginefilterblock.cpp \
422$$BASE_DIR/src/engine/enginefilterbutterworth8.cpp \495$$BASE_DIR/src/engine/enginefilteriir.cpp \
423$$BASE_DIR/src/engine/enginefilter.cpp \496$$BASE_DIR/src/engine/enginefilter.cpp \
424$$BASE_DIR/src/engine/enginefilteriir.cpp \
425$$BASE_DIR/src/engine/engineflanger.cpp \
426$$BASE_DIR/src/engine/engineladspa.cpp \
427$$BASE_DIR/src/engine/enginemaster.cpp \
428$$BASE_DIR/src/engine/engineobject.cpp \497$$BASE_DIR/src/engine/engineobject.cpp \
429$$BASE_DIR/src/engine/enginepregain.cpp \498$$BASE_DIR/src/engine/enginepregain.cpp \
430$$BASE_DIR/src/engine/enginesidechain.cpp \499$$BASE_DIR/src/engine/enginechannel.cpp \
431$$BASE_DIR/src/engine/enginespectralfwd.cpp \500$$BASE_DIR/src/engine/enginemaster.cpp \
432$$BASE_DIR/src/engine/enginevinylcontrol.cpp \501$$BASE_DIR/src/engine/enginedelay.cpp \
502$$BASE_DIR/src/engine/engineflanger.cpp \
503$$BASE_DIR/src/engine/enginevumeter.cpp \
433$$BASE_DIR/src/engine/enginevinylsoundemu.cpp \504$$BASE_DIR/src/engine/enginevinylsoundemu.cpp \
434$$BASE_DIR/src/engine/enginevolume.cpp \505$$BASE_DIR/src/engine/sidechain/enginesidechain.cpp \
435$$BASE_DIR/src/engine/enginevumeter.cpp \506$$BASE_DIR/src/engine/enginefilterbutterworth8.cpp \
436$$BASE_DIR/src/engine/enginexfader.cpp \507$$BASE_DIR/src/engine/enginexfader.cpp \
508$$BASE_DIR/src/engine/enginemicrophone.cpp \
509$$BASE_DIR/src/engine/enginedeck.cpp \
510$$BASE_DIR/src/engine/enginepassthrough.cpp \
511$$BASE_DIR/src/engine/enginecontrol.cpp \
512$$BASE_DIR/src/engine/ratecontrol.cpp \
513$$BASE_DIR/src/engine/positionscratchcontroller.cpp \
437$$BASE_DIR/src/engine/loopingcontrol.cpp \514$$BASE_DIR/src/engine/loopingcontrol.cpp \
438$$BASE_DIR/src/engine/ratecontrol.cpp \515$$BASE_DIR/src/engine/bpmcontrol.cpp \
516$$BASE_DIR/src/engine/cuecontrol.cpp \
517$$BASE_DIR/src/engine/quantizecontrol.cpp \
518$$BASE_DIR/src/engine/clockcontrol.cpp \
439$$BASE_DIR/src/engine/readaheadmanager.cpp \519$$BASE_DIR/src/engine/readaheadmanager.cpp \
440$$BASE_DIR/src/errordialog.cpp \520$$BASE_DIR/src/cachingreader.cpp \
441$$BASE_DIR/src/imgcolor.cpp \521$$BASE_DIR/src/analyserrg.cpp \
442$$BASE_DIR/src/imginvert.cpp \522$$BASE_DIR/src/analyserbeats.cpp \
443$$BASE_DIR/src/imgloader.cpp \523$$BASE_DIR/src/analyserqueue.cpp \
444$$BASE_DIR/src/input.cpp \524$$BASE_DIR/src/analyserwaveform.cpp \
445$$BASE_DIR/src/ladspa/ladspacontrol.cpp \525$$BASE_DIR/src/controllers/controller.cpp \
446$$BASE_DIR/src/ladspa/ladspainstance.cpp \526$$BASE_DIR/src/controllers/controllerengine.cpp \
447$$BASE_DIR/src/ladspa/ladspainstancemono.cpp \527$$BASE_DIR/src/controllers/controllerenumerator.cpp \
448$$BASE_DIR/src/ladspa/ladspainstancestereo.cpp \528$$BASE_DIR/src/controllers/controllerlearningeventfilter.cpp \
449$$BASE_DIR/src/ladspa/ladspalibrary.cpp \529$$BASE_DIR/src/controllers/controllermanager.cpp \
450$$BASE_DIR/src/ladspa/ladspaloader.cpp \530$$BASE_DIR/src/controllers/controllerpresetfilehandler.cpp \
451$$BASE_DIR/src/ladspa/ladspaplugin.cpp \531$$BASE_DIR/src/controllers/controllerpresetinfo.cpp \
452$$BASE_DIR/src/ladspa/ladspapreset.cpp \532$$BASE_DIR/src/controllers/midi/midicontroller.cpp \
453$$BASE_DIR/src/ladspa/ladspapresetinstance.cpp \533$$BASE_DIR/src/controllers/midi/midicontrollerpresetfilehandler.cpp \
454$$BASE_DIR/src/ladspa/ladspapresetknob.cpp \534$$BASE_DIR/src/controllers/midi/midienumerator.cpp \
455$$BASE_DIR/src/ladspa/ladspapresetmanager.cpp \535$$BASE_DIR/src/controllers/midi/midioutputhandler.cpp \
456$$BASE_DIR/src/ladspa/ladspapresetslot.cpp \536$$BASE_DIR/src/controllers/mixxxcontrol.cpp \
457$$BASE_DIR/src/ladspaview.cpp \537$$BASE_DIR/src/controllers/qtscript-bytearray/bytearrayclass.cpp \
458$$BASE_DIR/src/library/abstractxmltrackmodel.cpp \538$$BASE_DIR/src/controllers/qtscript-bytearray/bytearrayprototype.cpp \
459$$BASE_DIR/src/library/autodjfeature.cpp \539$$BASE_DIR/src/controllers/softtakeover.cpp \
460$$BASE_DIR/src/library/browsefeature.cpp \
461$$BASE_DIR/src/library/browsefilter.cpp \
462$$BASE_DIR/src/library/browsetablemodel.cpp \
463$$BASE_DIR/src/library/cratefeature.cpp \
464$$BASE_DIR/src/library/cratetablemodel.cpp \
465$$BASE_DIR/src/library/dao/cratedao.cpp \
466$$BASE_DIR/src/library/dao/cue.cpp \
467$$BASE_DIR/src/library/dao/cuedao.cpp \
468$$BASE_DIR/src/library/dao/libraryhashdao.cpp \
469$$BASE_DIR/src/library/dao/playlistdao.cpp \
470$$BASE_DIR/src/library/dao/settingsdao.cpp \
471$$BASE_DIR/src/library/dao/trackdao.cpp \
472$$BASE_DIR/src/library/itunesfeature.cpp \
473$$BASE_DIR/src/library/itunesplaylistmodel.cpp \
474$$BASE_DIR/src/library/itunestrackmodel.cpp \
475$$BASE_DIR/src/library/legacylibraryimporter.cpp \
476$$BASE_DIR/src/library/library.cpp \
477$$BASE_DIR/src/library/libraryfeature.cpp \
478$$BASE_DIR/src/library/librarymidicontrol.cpp \
479$$BASE_DIR/src/library/libraryscanner.cpp \
480$$BASE_DIR/src/library/libraryscannerdlg.cpp \
481$$BASE_DIR/src/library/librarytablemodel.cpp \
482$$BASE_DIR/src/library/missingtablemodel.cpp \
483$$BASE_DIR/src/library/mixxxlibraryfeature.cpp \
484$$BASE_DIR/src/library/playlistfeature.cpp \
485$$BASE_DIR/src/library/playlisttablemodel.cpp \
486$$BASE_DIR/src/library/preparecratedelegate.cpp \
487$$BASE_DIR/src/library/preparefeature.cpp \
488$$BASE_DIR/src/library/preparelibrarytablemodel.cpp \
489$$BASE_DIR/src/library/proxytrackmodel.cpp \
490$$BASE_DIR/src/library/rhythmboxfeature.cpp \
491$$BASE_DIR/src/library/rhythmboxplaylistmodel.cpp \
492$$BASE_DIR/src/library/rhythmboxtrackmodel.cpp \
493$$BASE_DIR/src/library/schemamanager.cpp \
494$$BASE_DIR/src/library/searchthread.cpp \
495$$BASE_DIR/src/library/sidebarmodel.cpp \
496$$BASE_DIR/src/library/trackcollection.cpp \
497$$BASE_DIR/src/m4a/mp4-mixxx.cpp \
498$$BASE_DIR/src/main.cpp \540$$BASE_DIR/src/main.cpp \
499$$BASE_DIR/src/mathstuff.cpp \
500$$BASE_DIR/src/midi/midichanneldelegate.cpp \
501$$BASE_DIR/src/midi/mididevice.cpp \
502$$BASE_DIR/src/midi/mididevicemanager.cpp \
503$$BASE_DIR/src/midi/midideviceportmidi.cpp \
504$$BASE_DIR/src/midi/midiinputmappingtablemodel.cpp \
505$$BASE_DIR/src/midi/midiledhandler.cpp \
506$$BASE_DIR/src/midi/midimapping.cpp \
507$$BASE_DIR/src/midi/midimessage.cpp \
508$$BASE_DIR/src/midi/midinodelegate.cpp \
509$$BASE_DIR/src/midi/midioptiondelegate.cpp \
510$$BASE_DIR/src/midi/midioutputmappingtablemodel.cpp \
511$$BASE_DIR/src/midi/midiscriptengine.cpp \
512$$BASE_DIR/src/midi/midistatusdelegate.cpp \
513$$BASE_DIR/src/mixxxcontrol.cpp \
514$$BASE_DIR/src/mixxx.cpp \541$$BASE_DIR/src/mixxx.cpp \
515$$BASE_DIR/src/mixxxkeyboard.cpp \542$$BASE_DIR/src/errordialoghandler.cpp \
516$$BASE_DIR/src/mixxxview.cpp \543$$BASE_DIR/src/upgrade.cpp \
517$$BASE_DIR/src/parser.cpp \
518$$BASE_DIR/src/parserm3u.cpp \
519$$BASE_DIR/src/parserpls.cpp \
520$$BASE_DIR/src/peaklist.cpp \
521$$BASE_DIR/src/player.cpp \
522$$BASE_DIR/src/playerinfo.cpp \
523$$BASE_DIR/src/probabilityvector.cpp \
524$$BASE_DIR/src/recording/enginerecord.cpp \
525$$BASE_DIR/src/recording/writeaudiofile.cpp \
526$$BASE_DIR/src/rotary.cpp \
527$$BASE_DIR/src/rtthread.cpp \
528$$BASE_DIR/src/segmentation.cpp \
529$$BASE_DIR/src/sounddevice.cpp \
530$$BASE_DIR/src/sounddeviceportaudio.cpp \
531$$BASE_DIR/src/soundmanager.cpp \
532$$BASE_DIR/src/soundsource.cpp \544$$BASE_DIR/src/soundsource.cpp \
533$$BASE_DIR/src/soundsourcem4a.cpp \
534$$BASE_DIR/src/soundsourcemp3.cpp \
535$$BASE_DIR/src/soundsourceoggvorbis.cpp \545$$BASE_DIR/src/soundsourceoggvorbis.cpp \
536$$BASE_DIR/src/soundsourceproxy.cpp \546$$BASE_DIR/src/soundsourceflac.cpp \
537$$BASE_DIR/src/soundsourcesndfile.cpp \547$$BASE_DIR/src/soundsourcesndfile.cpp \
538$$BASE_DIR/src/trackinfoobject.cpp \548$$BASE_DIR/src/sharedglcontext.cpp \
539$$BASE_DIR/src/upgrade.cpp \549$$BASE_DIR/src/widget/wwidget.cpp \
540$$BASE_DIR/src/vinylcontrol.cpp \550$$BASE_DIR/src/widget/wwidgetgroup.cpp \
541$$BASE_DIR/src/vinylcontrolproxy.cpp \551$$BASE_DIR/src/widget/wwidgetstack.cpp \
542$$BASE_DIR/src/vinylcontrolscratchlib.cpp \
543$$BASE_DIR/src/vinylcontrolsignalwidget.cpp \
544$$BASE_DIR/src/vinylcontrolxwax.cpp \
545$$BASE_DIR/src/waveform/glwaveformrenderer.cpp \
546$$BASE_DIR/src/waveform/renderobject.cpp \
547$$BASE_DIR/src/waveformviewerfactory.cpp \
548$$BASE_DIR/src/waveform/waveformrenderbackground.cpp \
549$$BASE_DIR/src/waveform/waveformrenderbeat.cpp \
550$$BASE_DIR/src/waveform/waveformrenderer.cpp \
551$$BASE_DIR/src/waveform/waveformrendermark.cpp \
552$$BASE_DIR/src/waveform/waveformrendermarkrange.cpp \
553$$BASE_DIR/src/waveform/waveformrendersignal.cpp \
554$$BASE_DIR/src/waveform/waveformrendersignalpixmap.cpp \
555$$BASE_DIR/src/widget/hexspinbox.cpp \
556$$BASE_DIR/src/widget/wabstractcontrol.cpp \
557$$BASE_DIR/src/widget/wbrowsetableview.cpp \
558$$BASE_DIR/src/widget/wdisplay.cpp \
559$$BASE_DIR/src/widget/wglwaveformviewer.cpp \
560$$BASE_DIR/src/widget/wknob.cpp \
561$$BASE_DIR/src/widget/wlabel.cpp \552$$BASE_DIR/src/widget/wlabel.cpp \
562$$BASE_DIR/src/widget/wlibrary.cpp \553$$BASE_DIR/src/widget/wtracktext.cpp \
563$$BASE_DIR/src/widget/wlibrarysidebar.cpp \
564$$BASE_DIR/src/widget/wlibrarytableview.cpp \
565$$BASE_DIR/src/widget/wlibrarytextbrowser.cpp \
566$$BASE_DIR/src/widget/wnumberbpm.cpp \
567$$BASE_DIR/src/widget/wnumber.cpp \554$$BASE_DIR/src/widget/wnumber.cpp \
568$$BASE_DIR/src/widget/wnumberpos.cpp \555$$BASE_DIR/src/widget/wnumberpos.cpp \
569$$BASE_DIR/src/widget/wnumberrate.cpp \556$$BASE_DIR/src/widget/wnumberrate.cpp \
570$$BASE_DIR/src/widget/woverview.cpp \557$$BASE_DIR/src/widget/wknob.cpp \
571$$BASE_DIR/src/widget/wpixmapstore.cpp \558$$BASE_DIR/src/widget/wdisplay.cpp \
572$$BASE_DIR/src/widget/wpreparecratestableview.cpp \559$$BASE_DIR/src/widget/wvumeter.cpp \
573$$BASE_DIR/src/widget/wpreparelibrarytableview.cpp \
574$$BASE_DIR/src/widget/wpushbutton.cpp \560$$BASE_DIR/src/widget/wpushbutton.cpp \
575$$BASE_DIR/src/widget/wsearchlineedit.cpp \
576$$BASE_DIR/src/widget/wskincolor.cpp \
577$$BASE_DIR/src/widget/wslidercomposed.cpp \561$$BASE_DIR/src/widget/wslidercomposed.cpp \
578$$BASE_DIR/src/widget/wslider.cpp \562$$BASE_DIR/src/widget/wslider.cpp \
579$$BASE_DIR/src/widget/wstatuslight.cpp \563$$BASE_DIR/src/widget/wstatuslight.cpp \
564$$BASE_DIR/src/widget/woverview.cpp \
565$$BASE_DIR/src/widget/wspinny.cpp \
566$$BASE_DIR/src/widget/wskincolor.cpp \
567$$BASE_DIR/src/widget/wabstractcontrol.cpp \
568$$BASE_DIR/src/widget/wsearchlineedit.cpp \
569$$BASE_DIR/src/widget/wpixmapstore.cpp \
570$$BASE_DIR/src/widget/wimagestore.cpp \
571$$BASE_DIR/src/widget/hexspinbox.cpp \
572$$BASE_DIR/src/widget/wtrackproperty.cpp \
573$$BASE_DIR/src/widget/wtime.cpp \
574$$BASE_DIR/src/mathstuff.cpp \
575$$BASE_DIR/src/rotary.cpp \
576$$BASE_DIR/src/widget/wtracktableview.cpp \
580$$BASE_DIR/src/widget/wtracktableviewheader.cpp \577$$BASE_DIR/src/widget/wtracktableviewheader.cpp \
581$$BASE_DIR/src/widget/wvisualsimple.cpp \578$$BASE_DIR/src/widget/wlibrarysidebar.cpp \
582$$BASE_DIR/src/widget/wvumeter.cpp \579$$BASE_DIR/src/widget/wlibrary.cpp \
580$$BASE_DIR/src/widget/wlibrarytableview.cpp \
581$$BASE_DIR/src/widget/wpreparelibrarytableview.cpp \
582$$BASE_DIR/src/widget/wpreparecratestableview.cpp \
583$$BASE_DIR/src/widget/wlibrarytextbrowser.cpp \
584$$BASE_DIR/src/library/preparecratedelegate.cpp \
585$$BASE_DIR/src/library/trackcollection.cpp \
586$$BASE_DIR/src/library/basesqltablemodel.cpp \
587$$BASE_DIR/src/library/basetrackcache.cpp \
588$$BASE_DIR/src/library/librarytablemodel.cpp \
589$$BASE_DIR/src/library/searchqueryparser.cpp \
590$$BASE_DIR/src/library/preparelibrarytablemodel.cpp \
591$$BASE_DIR/src/library/missingtablemodel.cpp \
592$$BASE_DIR/src/library/hiddentablemodel.cpp \
593$$BASE_DIR/src/library/proxytrackmodel.cpp \
594$$BASE_DIR/src/library/playlisttablemodel.cpp \
595$$BASE_DIR/src/library/libraryfeature.cpp \
596$$BASE_DIR/src/library/preparefeature.cpp \
597$$BASE_DIR/src/library/autodjfeature.cpp \
598$$BASE_DIR/src/library/mixxxlibraryfeature.cpp \
599$$BASE_DIR/src/library/baseplaylistfeature.cpp \
600$$BASE_DIR/src/library/playlistfeature.cpp \
601$$BASE_DIR/src/library/setlogfeature.cpp \
602$$BASE_DIR/src/library/browse/browsetablemodel.cpp \
603$$BASE_DIR/src/library/browse/browsethread.cpp \
604$$BASE_DIR/src/library/browse/browsefeature.cpp \
605$$BASE_DIR/src/library/browse/foldertreemodel.cpp \
606$$BASE_DIR/src/library/recording/recordingfeature.cpp \
607$$BASE_DIR/src/dlgrecording.cpp \
608$$BASE_DIR/src/recording/recordingmanager.cpp \
609$$BASE_DIR/src/engine/sidechain/enginerecord.cpp \
610$$BASE_DIR/src/library/baseexternallibraryfeature.cpp \
611$$BASE_DIR/src/library/baseexternaltrackmodel.cpp \
612$$BASE_DIR/src/library/baseexternalplaylistmodel.cpp \
613$$BASE_DIR/src/library/rhythmbox/rhythmboxfeature.cpp \
614$$BASE_DIR/src/library/itunes/itunesfeature.cpp \
615$$BASE_DIR/src/library/traktor/traktorfeature.cpp \
616$$BASE_DIR/src/library/cratefeature.cpp \
617$$BASE_DIR/src/library/sidebarmodel.cpp \
618$$BASE_DIR/src/library/libraryscanner.cpp \
619$$BASE_DIR/src/library/libraryscannerdlg.cpp \
620$$BASE_DIR/src/library/legacylibraryimporter.cpp \
621$$BASE_DIR/src/library/library.cpp \
622$$BASE_DIR/src/library/searchthread.cpp \
623$$BASE_DIR/src/library/dao/cratedao.cpp \
624$$BASE_DIR/src/library/cratetablemodel.cpp \
625$$BASE_DIR/src/library/dao/cuedao.cpp \
626$$BASE_DIR/src/library/dao/cue.cpp \
627$$BASE_DIR/src/library/dao/trackdao.cpp \
628$$BASE_DIR/src/library/dao/playlistdao.cpp \
629$$BASE_DIR/src/library/dao/libraryhashdao.cpp \
630$$BASE_DIR/src/library/dao/settingsdao.cpp \
631$$BASE_DIR/src/library/dao/analysisdao.cpp \
632$$BASE_DIR/src/library/librarycontrol.cpp \
633$$BASE_DIR/src/library/schemamanager.cpp \
634$$BASE_DIR/src/library/songdownloader.cpp \
635$$BASE_DIR/src/library/starrating.cpp \
636$$BASE_DIR/src/library/stardelegate.cpp \
637$$BASE_DIR/src/library/stareditor.cpp \
638$$BASE_DIR/src/library/bpmdelegate.cpp \
639$$BASE_DIR/src/library/bpmeditor.cpp \
640$$BASE_DIR/src/library/previewbuttondelegate.cpp \
641$$BASE_DIR/src/audiotagger.cpp \
642$$BASE_DIR/src/library/treeitemmodel.cpp \
643$$BASE_DIR/src/library/treeitem.cpp \
644$$BASE_DIR/src/xmlparse.cpp \
645$$BASE_DIR/src/library/parser.cpp \
646$$BASE_DIR/src/library/parserpls.cpp \
647$$BASE_DIR/src/library/parserm3u.cpp \
648$$BASE_DIR/src/library/parsercsv.cpp \
649$$BASE_DIR/src/bpm/bpmscheme.cpp \
650$$BASE_DIR/src/soundsourceproxy.cpp \
583$$BASE_DIR/src/widget/wwaveformviewer.cpp \651$$BASE_DIR/src/widget/wwaveformviewer.cpp \
584$$BASE_DIR/src/widget/wwidget.cpp \652$$BASE_DIR/src/waveform/waveform.cpp \
585$$BASE_DIR/src/windowkaiser.cpp \653$$BASE_DIR/src/waveform/waveformfactory.cpp \
586$$BASE_DIR/src/wtracktableview.cpp \654$$BASE_DIR/src/waveform/waveformwidgetfactory.cpp \
587$$BASE_DIR/src/xmlparse.cpp655$$BASE_DIR/src/waveform/renderers/waveformwidgetrenderer.cpp \
656$$BASE_DIR/src/waveform/renderers/waveformrendererabstract.cpp \
657$$BASE_DIR/src/waveform/renderers/waveformrenderbackground.cpp \
658$$BASE_DIR/src/waveform/renderers/waveformrendermark.cpp \
659$$BASE_DIR/src/waveform/renderers/waveformrendermarkrange.cpp \
660$$BASE_DIR/src/waveform/renderers/waveformrenderbeat.cpp \
661$$BASE_DIR/src/waveform/renderers/waveformrendererendoftrack.cpp \
662$$BASE_DIR/src/waveform/renderers/waveformrendererpreroll.cpp \
663$$BASE_DIR/src/waveform/renderers/waveformrendererfilteredsignal.cpp \
664$$BASE_DIR/src/waveform/renderers/waveformrendererhsv.cpp \
665$$BASE_DIR/src/waveform/renderers/qtwaveformrendererfilteredsignal.cpp \
666$$BASE_DIR/src/waveform/renderers/qtwaveformrenderersimplesignal.cpp \
667$$BASE_DIR/src/waveform/renderers/glwaveformrendererfilteredsignal.cpp \
668$$BASE_DIR/src/waveform/renderers/glwaveformrenderersimplesignal.cpp \
669$$BASE_DIR/src/waveform/renderers/glslwaveformrenderersignal.cpp \
670$$BASE_DIR/src/waveform/renderers/waveformsignalcolors.cpp \
671$$BASE_DIR/src/waveform/renderers/waveformrenderersignalbase.cpp \
672$$BASE_DIR/src/waveform/renderers/waveformmark.cpp \
673$$BASE_DIR/src/waveform/renderers/waveformmarkset.cpp \
674$$BASE_DIR/src/waveform/renderers/waveformmarkrange.cpp \
675$$BASE_DIR/src/waveform/widgets/waveformwidgetabstract.cpp \
676$$BASE_DIR/src/waveform/widgets/emptywaveformwidget.cpp \
677$$BASE_DIR/src/waveform/widgets/softwarewaveformwidget.cpp \
678$$BASE_DIR/src/waveform/widgets/hsvwaveformwidget.cpp \
679$$BASE_DIR/src/waveform/widgets/qtwaveformwidget.cpp \
680$$BASE_DIR/src/waveform/widgets/qtsimplewaveformwidget.cpp \
681$$BASE_DIR/src/waveform/widgets/glwaveformwidget.cpp \
682$$BASE_DIR/src/waveform/widgets/glsimplewaveformwidget.cpp \
683$$BASE_DIR/src/waveform/widgets/glslwaveformwidget.cpp \
684$$BASE_DIR/src/skin/imginvert.cpp \
685$$BASE_DIR/src/skin/imgloader.cpp \
686$$BASE_DIR/src/skin/imgcolor.cpp \
687$$BASE_DIR/src/skin/skinloader.cpp \
688$$BASE_DIR/src/skin/legacyskinparser.cpp \
689$$BASE_DIR/src/skin/colorschemeparser.cpp \
690$$BASE_DIR/src/skin/propertybinder.cpp \
691$$BASE_DIR/src/skin/tooltips.cpp \
692$$BASE_DIR/src/sampleutil.cpp \
693$$BASE_DIR/src/trackinfoobject.cpp \
694$$BASE_DIR/src/track/beatgrid.cpp \
695$$BASE_DIR/src/track/beatmap.cpp \
696$$BASE_DIR/src/track/beatfactory.cpp \
697$$BASE_DIR/src/track/beatutils.cpp \
698$$BASE_DIR/src/baseplayer.cpp \
699$$BASE_DIR/src/basetrackplayer.cpp \
700$$BASE_DIR/src/deck.cpp \
701$$BASE_DIR/src/sampler.cpp \
702$$BASE_DIR/src/previewdeck.cpp \
703$$BASE_DIR/src/playermanager.cpp \
704$$BASE_DIR/src/samplerbank.cpp \
705$$BASE_DIR/src/sounddevice.cpp \
706$$BASE_DIR/src/sounddeviceportaudio.cpp \
707$$BASE_DIR/src/soundmanager.cpp \
708$$BASE_DIR/src/soundmanagerconfig.cpp \
709$$BASE_DIR/src/soundmanagerutil.cpp \
710$$BASE_DIR/src/dlgprefrecord.cpp \
711$$BASE_DIR/src/playerinfo.cpp \
712$$BASE_DIR/src/encoder/encoder.cpp \
713$$BASE_DIR/src/encoder/encodermp3.cpp \
714$$BASE_DIR/src/encoder/encodervorbis.cpp \
715$$BASE_DIR/src/segmentation.cpp \
716$$BASE_DIR/src/tapfilter.cpp \
717$$BASE_DIR/src/util/pa_ringbuffer.c \
718$$BASE_DIR/src/util/sleepableqthread.cpp \
719$$BASE_DIR/src/util/statsmanager.cpp \
720$$BASE_DIR/src/util/stat.cpp \
721$$BASE_DIR/src/util/timer.cpp \
722$$BASE_DIR/src/util/performancetimer.cpp
588723
589724
590# Soundtouch725# Soundtouch
591INCLUDEPATH += $$BASE_DIR/lib/soundtouch-1.4.1726INCLUDEPATH += $$BASE_DIR/lib/soundtouch-1.6.0
592SOURCES += $$BASE_DIR/lib/soundtouch-1.4.1/SoundTouch.cpp \727SOURCES += $$BASE_DIR/src/engine/enginebufferscalest.cpp \
593 $$BASE_DIR/lib/soundtouch-1.4.1/TDStretch.cpp \728 $$BASE_DIR/lib/soundtouch-1.6.0/SoundTouch.cpp \
594 $$BASE_DIR/lib/soundtouch-1.4.1/RateTransposer.cpp \729 $$BASE_DIR/lib/soundtouch-1.6.0/TDStretch.cpp \
595 $$BASE_DIR/lib/soundtouch-1.4.1/AAFilter.cpp \730 $$BASE_DIR/lib/soundtouch-1.6.0/RateTransposer.cpp \
596 $$BASE_DIR/lib/soundtouch-1.4.1/FIFOSampleBuffer.cpp \731 $$BASE_DIR/lib/soundtouch-1.6.0/AAFilter.cpp \
597 $$BASE_DIR/lib/soundtouch-1.4.1/FIRFilter.cpp \732 $$BASE_DIR/lib/soundtouch-1.6.0/FIFOSampleBuffer.cpp \
598 $$BASE_DIR/lib/soundtouch-1.4.1/PeakFinder.cpp \733 $$BASE_DIR/lib/soundtouch-1.6.0/FIRFilter.cpp \
599 $$BASE_DIR/lib/soundtouch-1.4.1/BPMDetect.cpp \734 $$BASE_DIR/lib/soundtouch-1.6.0/PeakFinder.cpp \
600 $$BASE_DIR/lib/soundtouch-1.4.1/cpu_detect_x86_gcc.cpp735 $$BASE_DIR/lib/soundtouch-1.6.0/BPMDetect.cpp \
736 $$BASE_DIR/lib/soundtouch-1.6.0/cpu_detect_x86_gcc.cpp
601737
602# Fidlib738# Fidlib
603SOURCES += $$BASE_DIR/lib/fidlib-0.9.10/fidlib.c739SOURCES += $$BASE_DIR/lib/fidlib-0.9.10/fidlib.c
@@ -610,25 +746,32 @@
610746
611# ReplayGain747# ReplayGain
612748
613SOURCES += $$BASE_DIR/lib/replaygain/replaygain_analysis.c749SOURCES += $$BASE_DIR/lib/replaygain/replaygain.cpp
614750
615FORMS += \751FORMS += \
752$$BASE_DIR/src/controllers/dlgcontrollerlearning.ui \
753$$BASE_DIR/src/controllers/dlgprefcontrollerdlg.ui \
754$$BASE_DIR/src/controllers/dlgprefmappablecontrollerdlg.ui \
755$$BASE_DIR/src/controllers/dlgprefnocontrollersdlg.ui \
616$$BASE_DIR/src/dlgaboutdlg.ui \756$$BASE_DIR/src/dlgaboutdlg.ui \
617$$BASE_DIR/src/dlgautodj.ui \757$$BASE_DIR/src/dlgautodj.ui \
618$$BASE_DIR/src/dlgmidilearning.ui \758$$BASE_DIR/src/dlghidden.ui \
759$$BASE_DIR/src/dlgmissing.ui \
760$$BASE_DIR/src/dlgplugindownloader.ui \
761$$BASE_DIR/src/dlgprefbeatsdlg.ui \
619$$BASE_DIR/src/dlgprefcontrolsdlg.ui \762$$BASE_DIR/src/dlgprefcontrolsdlg.ui \
620$$BASE_DIR/src/dlgprefcrossfaderdlg.ui \763$$BASE_DIR/src/dlgprefcrossfaderdlg.ui \
621$$BASE_DIR/src/dlgprefeqdlg.ui \764$$BASE_DIR/src/dlgprefeqdlg.ui \
622$$BASE_DIR/src/dlgpreferencesdlg.ui \765$$BASE_DIR/src/dlgpreferencesdlg.ui \
623$$BASE_DIR/src/dlgprefmidibindingsdlg.ui \766$$BASE_DIR/src/dlgprefnovinyldlg.ui \
624$$BASE_DIR/src/dlgprefnomididlg.ui \
625$$BASE_DIR/src/dlgprefplaylistdlg.ui \767$$BASE_DIR/src/dlgprefplaylistdlg.ui \
626$$BASE_DIR/src/dlgprefrecorddlg.ui \768$$BASE_DIR/src/dlgprefreplaygaindlg.ui \
627$$BASE_DIR/src/dlgprefsounddlg.ui \769$$BASE_DIR/src/dlgprefsounddlg.ui \
770$$BASE_DIR/src/dlgprefsounditem.ui \
628$$BASE_DIR/src/dlgprefvinyldlg.ui \771$$BASE_DIR/src/dlgprefvinyldlg.ui \
629$$BASE_DIR/src/dlgprepare.ui \772$$BASE_DIR/src/dlgprepare.ui \
630$$BASE_DIR/src/dlgtrackinfo.ui \773$$BASE_DIR/src/dlgrecording.ui \
631$$BASE_DIR/src/script/scriptstudio.ui774$$BASE_DIR/src/dlgtrackinfo.ui
632775
633776
634RESOURCES += $$BASE_DIR/src/../res/mixxx.qrc777RESOURCES += $$BASE_DIR/src/../res/mixxx.qrc
@@ -677,24 +820,35 @@
677}820}
678win32 {821win32 {
679 DEFINES += __WINMIDI__822 DEFINES += __WINMIDI__
680 HEADERS += $$BASE_DIR/src/midiobjectwin.h823 CONFIG(portmidi) {
681 SOURCES += $$BASE_DIR/src/midiobjectwin.cpp824 LIBS += -lportmidi_s
682 LIBS += $$BASE_DIR/../mixxx-winlib/libsndfile-1.dll \825 }
683 $$BASE_DIR/../mixxx-winlib/portaudio_x86.dll \826 LIBS += \
684 $$BASE_DIR/../mixxx-winlib/libmad.a \ # libmad-0.15.1b827 -L$$BASE_DIR/../mixxx-mingw/lib -lFLAC -logg -lvorbis \
685 $$BASE_DIR/../mixxx-winlib/libid3tag.a \ # libid3tag-0.15.1b828 -lvorbisenc -lvorbisfile
686 $$BASE_DIR/../mixxx-winlib/libvorbisfile.dll \829 CONFIG(mad) {
687 $$BASE_DIR/../mixxx-winlib/libvorbis.dll \830 LIBS += -lmad -lid3tag
688# $$BASE_DIR/../mixxx-winlib/libfftw3-3.dll \831 }
689 $$BASE_DIR/../mixxx-winlib/libogg.dll \832 LIBS += \
690 -lwinmm833 -lz -lprotobuf-lite -lsndfile \
691 INCLUDEPATH += $$BASE_DIR/../mixxx-winlib834 -lportaudio.dll -ltag.dll -lwinmm -lws2_32 -lmingw32
692}835 INCLUDEPATH += $$BASE_DIR/../mixxx-mingw/include
836}
837
838CONFIG(portmidi) {
839 DEFINES += __PORTMIDI__
840 HEADERS += \
841 $$BASE_DIR/src/controllers/midi/portmidicontroller.h \
842 $$BASE_DIR/src/controllers/midi/portmidienumerator.h
843 SOURCES += \
844 $$BASE_DIR/src/controllers/midi/portmidienumerator.cpp \
845 $$BASE_DIR/src/controllers/midi/portmidicontroller.cpp
846}
847
693CONFIG(ladspa) {848CONFIG(ladspa) {
694 DEFINES += __LADSPA__849 DEFINES += __LADSPA__
695 HEADERS += $$BASE_DIR/src/engine/engineladspa.h \850 HEADERS += $$BASE_DIR/src/engine/engineladspa.h \
696 $$BASE_DIR/src/dlgladspa.h \851 $$BASE_DIR/src/dlgladspa.h \
697 $$BASE_DIR/src/ladspaview.h \
698 $$BASE_DIR/src/ladspa/ladspacontrol.h \852 $$BASE_DIR/src/ladspa/ladspacontrol.h \
699 $$BASE_DIR/src/ladspa/ladspainstance.h \853 $$BASE_DIR/src/ladspa/ladspainstance.h \
700 $$BASE_DIR/src/ladspa/ladspainstancemono.h \854 $$BASE_DIR/src/ladspa/ladspainstancemono.h \
@@ -706,7 +860,8 @@
706 $$BASE_DIR/src/ladspa/ladspapresetinstance.h \860 $$BASE_DIR/src/ladspa/ladspapresetinstance.h \
707 $$BASE_DIR/src/ladspa/ladspapresetknob.h \861 $$BASE_DIR/src/ladspa/ladspapresetknob.h \
708 $$BASE_DIR/src/ladspa/ladspapresetmanager.h \862 $$BASE_DIR/src/ladspa/ladspapresetmanager.h \
709 $$BASE_DIR/src/ladspa/ladspapresetslot.h863 $$BASE_DIR/src/ladspa/ladspapresetslot.h \
864 $$BASE_DIR/src/ladspaview.h
710 SOURCES += $$BASE_DIR/src/engine/engineladspa.cpp \865 SOURCES += $$BASE_DIR/src/engine/engineladspa.cpp \
711 $$BASE_DIR/src/dlgladspa.cpp \866 $$BASE_DIR/src/dlgladspa.cpp \
712 $$BASE_DIR/src/ladspaview.cpp \867 $$BASE_DIR/src/ladspaview.cpp \
@@ -732,25 +887,31 @@
732887
733CONFIG(Vamp) {888CONFIG(Vamp) {
734DEFINES += __VAMP__889DEFINES += __VAMP__
735INCLUDEPATH += $$BASE_DIR/lib/vamp890INCLUDEPATH += $$BASE_DIR/lib/vamp-2.3
736HEADERS += $$BASE_DIR/src/vamp/vampanalyser.h \891HEADERS +=
892 $$BASE_DIR/src/vamp/vamppluginloader.h \
893 $$BASE_DIR/src/dlgprefbeats.h \
894 $$BASE_DIR/src/vamp/vampanalyser.h \
895 $$UI_DIR/ui_dlgprefbeatsdlg.h \
737 $$BASE_DIR/src/analyservamptest.h \896 $$BASE_DIR/src/analyservamptest.h \
738 $$BASE_DIR/src/analyservampkeytest.h \897 $$BASE_DIR/src/analyservampkeytest.h \
739 $$BASE_DIR/lib/vamp/vamp/vamp.h \898 $$BASE_DIR/lib/vamp/vamp/vamp.h \
740 $$BASE_DIR/lib/vamp/vamp-hostsdk/hostguard.h \899 $$BASE_DIR/lib/vamp/vamp-hostsdk/hostguard.h
741SOURCES += $$BASE_DIR/src/vamp/vampanalyser.cpp \900SOURCES += $$BASE_DIR/src/vamp/vampanalyser.cpp \
742 $$BASE_DIR/src/analyservamptest.cpp \901 $$BASE_DIR/src/analyservamptest.cpp \
743 $$BASE_DIR/src/analyservampkeytest.cpp \902 $$BASE_DIR/src/analyservampkeytest.cpp \
744 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginBufferingAdapter.cpp \903 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
745 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginChannelAdapter.cpp \904 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginChannelAdapter.cpp \
746 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginHostAdapter.cpp \905 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginHostAdapter.cpp \
747 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \906 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
748 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginLoader.cpp \907 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginLoader.cpp \
749 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \908 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
750 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginWrapper.cpp \909 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/PluginWrapper.cpp \
751 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/RealTime.cpp \910 $$BASE_DIR/lib/vamp/src/vamp-hostsdk/RealTime.cpp \
752 $$BASE_DIR/lib/vamp/src/vamp-sdk/PluginAdapter.cpp \911 $$BASE_DIR/lib/vamp/src/vamp-sdk/PluginAdapter.cpp \
753 $$BASE_DIR/lib/vamp/src/vamp-sdk/RealTime.cpp912 $$BASE_DIR/lib/vamp/src/vamp-sdk/RealTime.cpp
913FORMS += \
914 $$BASE_DIR/src/dlgprefbeatsdlg.ui
754}915}
755916
756CONFIG(tonal) {917CONFIG(tonal) {
@@ -795,28 +956,55 @@
795 -lfaad956 -lfaad
796 }957 }
797}958}
959
960CONFIG(mad) {
961 DEFINES += __MAD__
962 HEADERS += \
963 $$BASE_DIR/src/soundsourcemp3.h
964 SOURCES += \
965 $$BASE_DIR/src/soundsourcemp3.cpp
966}
798CONFIG(vinylcontrol) {967CONFIG(vinylcontrol) {
799 DEFINES += __VINYLCONTROL__968 DEFINES += __VINYLCONTROL__
800 HEADERS += \969 HEADERS += \
801 $$BASE_DIR/lib/scratchlib/DAnalyse.h \970 $$BASE_DIR/lib/xwax/timecoder.h \
802 $$BASE_DIR/lib/xwax/timecoder.h971 $$BASE_DIR/src/dlgprefnovinyl.h \
972 $$BASE_DIR/src/dlgprefvinyl.h \
973 $$BASE_DIR/src/engine/enginevinylsoundemu.h \
974 $$BASE_DIR/src/engine/vinylcontrolcontrol.h \
975 $$BASE_DIR/src/vinylcontrol/steadypitch.h \
976 $$BASE_DIR/src/vinylcontrol/vinylcontrol.h \
977 $$BASE_DIR/src/vinylcontrol/vinylcontrolmanager.h \
978 $$BASE_DIR/src/vinylcontrol/vinylcontrolproxy.h \
979 $$BASE_DIR/src/vinylcontrol/vinylcontrolsignalwidget.h \
980 $$BASE_DIR/src/vinylcontrol/vinylcontrolxwax.h
803 SOURCES += \981 SOURCES += \
804 $$BASE_DIR/lib/scratchlib/DAnalyse.cpp982 $$BASE_DIR/src/vinylcontrol/vinylcontrol.cpp \
983 $$BASE_DIR/src/vinylcontrol/vinylcontrolproxy.cpp \
984 $$BASE_DIR/src/vinylcontrol/vinylcontrolxwax.cpp \
985 $$BASE_DIR/src/dlgprefvinyl.cpp \
986 $$BASE_DIR/src/vinylcontrol/vinylcontrolsignalwidget.cpp \
987 $$BASE_DIR/src/vinylcontrol/vinylcontrolmanager.cpp \
988 $$BASE_DIR/src/vinylcontrol/steadypitch.cpp \
989 $$BASE_DIR/src/engine/vinylcontrolcontrol.cpp
805990
806 INCLUDEPATH += $$BASE_DIR/lib/scratchlib \991 INCLUDEPATH += $$BASE_DIR/lib/xwax
807 $$BASE_DIR/lib/xwax992 win32:SOURCES += $$BASE_DIR/lib/xwax/timecoder_win32.cpp
808 win32:SOURCES += $$BASE_DIR/lib/xwax/timecoder_win32.c993 win32:SOURCES += $$BASE_DIR/lib/xwax/lut.cpp
809 !win32:SOURCES += $$BASE_DIR/lib/xwax/timecoder.c994 !win32:SOURCES += $$BASE_DIR/lib/xwax/timecoder.c
995 !win32:SOURCES += $$BASE_DIR/lib/xwax/lut.c
810}996}
811!CONFIG(hifieq):CXXFLAGS += -D__LOFI__ \997!CONFIG(hifieq):CXXFLAGS += -D__LOFI__ \
812 -D__NO_INTTYPES__998 -D__NO_INTTYPES__
813CONFIG(shoutcast) {999CONFIG(shoutcast) {
814 DEFINES += __SHOUTCAST__1000 DEFINES += __SHOUTCAST__
815 HEADERS += $$BASE_DIR/src/dlgprefshoutcast.h \1001 HEADERS += $$BASE_DIR/src/dlgprefshoutcast.h \
816 $$BASE_DIR/src/encodervorbis.h \1002 $$BASE_DIR/src/recording/encodermp3.h \
817 $$BASE_DIR/src/engine/engineshoutcast.h1003 $$BASE_DIR/src/recording/encodervorbis.h \
1004 $$BASE_DIR/src/engine/engineshoutcast.h \
1005 $$BASE_DIR/src/shoutcast/defs_shoutcast.h
818 SOURCES += $$BASE_DIR/src/dlgprefshoutcast.cpp \1006 SOURCES += $$BASE_DIR/src/dlgprefshoutcast.cpp \
819 $$BASE_DIR/src/encodervorbis.cpp \1007 $$BASE_DIR/src/recording/encodervorbis.cpp \
820 $$BASE_DIR/src/engine/engineshoutcast.cpp1008 $$BASE_DIR/src/engine/engineshoutcast.cpp
821 LIBS += shout \1009 LIBS += shout \
822 vorbisenc1010 vorbisenc
@@ -826,7 +1014,6 @@
826# CONFIG(record) {1014# CONFIG(record) {
827# DEFINES += __RECORD__1015# DEFINES += __RECORD__
828# HEADERS += $$BASE_DIR/src/recording/defs_recording.h \1016# HEADERS += $$BASE_DIR/src/recording/defs_recording.h \
829# $$BASE_DIR/src/recording/enginerecord.h \
830# $$BASE_DIR/src/recording/writeaudiofile.h \1017# $$BASE_DIR/src/recording/writeaudiofile.h \
831# $$BASE_DIR/src/dlgprefrecord.h1018# $$BASE_DIR/src/dlgprefrecord.h
832# SOURCES += $$BASE_DIR/src/recording/enginerecord.cpp \1019# SOURCES += $$BASE_DIR/src/recording/enginerecord.cpp \
@@ -856,17 +1043,73 @@
856 -logg1043 -logg
857}1044}
8581045
1046CONFIG(hid) {
1047 HIDAPI_INTERNAL_PATH = $$BASE_DIR/../mixxx-winlib/lib/hidapi-0.8.0-pre
1048 DEFINES += __HID__
1049 SOURCES += \
1050 $$BASE_DIR/src/controllers/hid/hidcontroller.cpp \
1051 $$BASE_DIR/src/controllers/hid/hidenumerator.cpp \
1052 $$BASE_DIR/src/controllers/hid/hidcontrollerpresetfilehandler.cpp
1053 HEADERS += \
1054 $$BASE_DIR/src/controllers/hid/hidblacklist.h \
1055 $$BASE_DIR/src/controllers/hid/hidcontroller.h \
1056 $$BASE_DIR/src/controllers/hid/hidcontrollerpreset.h \
1057 $$BASE_DIR/src/controllers/hid/hidcontrollerpresetfilehandler.h \
1058 $$BASE_DIR/src/controllers/hid/hidenumerator.h
1059 win32 {
1060 SOURCES += $$HIDAPI_INTERNAL_PATH/windows/hid.c
1061 } macx {
1062 SOURCES += $$HIDAPI_INTERNAL_PATH/mac/hid.c
1063 } else {
1064 SOURCES += $$HIDAPI_INTERNAL_PATH/linux/hid-libusb.c
1065 }
1066}
1067
1068CONFIG(bulk) {
1069 DEFINES += __BULK__
1070 SOURCES += \
1071 $$BASE_DIR/src/controllers/bulk/bulkcontroller.cpp \
1072 $$BASE_DIR/src/controllers/bulk/bulkenumerator.cpp
1073 HEADERS += \
1074 $$BASE_DIR/src/controllers/bulk/bulkcontroller.h \
1075 $$BASE_DIR/src/controllers/bulk/bulkenumerator.h \
1076 $$BASE_DIR/src/controllers/bulk/bulksupported.h
1077 !CONFIG(hid) {
1078 SOURCES += \
1079 $$BASE_DIR/src/controllers/hid/hidcontrollerpresetfilehandler.cpp
1080 }
1081}
1082
1083CONFIG(PromoTracks) {
1084 DEFINES += __PROMO__
1085 HEADERS += \
1086 $$BASE_DIR/src/library/promotracksfeature.h \
1087 $$BASE_DIR/src/library/bundledsongswebview.h \
1088 $$BASE_DIR/src/library/featuredartistswebview.h
1089 SOURCES += \
1090 $$BASE_DIR/src/library/promotracksfeature.cpp \
1091 $$BASE_DIR/src/library/bundledsongswebview.cpp \
1092 $$BASE_DIR/src/library/featuredartistswebview.cpp
1093}
1094
1095CONFIG(hss1394) {
1096 HEADERS += \
1097 $$BASE_DIR/src/controllers/midi/hss1394controller.h \
1098 $$BASE_DIR/src/controllers/midi/hss1394enumerator.h
1099}
1100
859# Copy Windows dependencies to DESTDIR.1101# Copy Windows dependencies to DESTDIR.
860win32 {1102win32 {
861 !exists($$DESTDIR):system( mkdir \"$$replace(DESTDIR, /,$$DIR_SEPARATOR)\" )1103 !exists($$DESTDIR):system( mkdir \"$$replace(DESTDIR, /,$$DIR_SEPARATOR)\" )
862 # MinGW run-time1104 # MinGW run-time
863 DLLs += $$(QTDIR)/../mingw/bin/mingwm10.dll $$(QTDIR)/../mingw/bin/libexpat-1.dll1105 DLLs += $$(QTDIR)/../mingw/bin/mingwm10.dll \
1106 $$(QTDIR)/../mingw/bin/libstdc++-6.dll \
1107 $$(QTDIR)/../mingw/bin/libexpat-1.dll
864 CONFIG(m4a): DLLs += $$BASE_DIR/../mixxx-winlib/mp4v2/mingw-bin/libmp4v2-0.dll \1108 CONFIG(m4a): DLLs += $$BASE_DIR/../mixxx-winlib/mp4v2/mingw-bin/libmp4v2-0.dll \
865 $$BASE_DIR/../mixxx-winlib/libfaad2.dll1109 $$BASE_DIR/../mixxx-winlib/libfaad2.dll
866 # Qt4 libraries1110 # Qt4 libraries
867 debug {1111 debug {
868 DLLs += $$(QTDIR)/bin/Qt3Supportd4.dll \1112 DLLs += $$(QTDIR)/bin/QtCored4.dll \
869 $$(QTDIR)/bin/QtCored4.dll \
870 $$(QTDIR)/bin/QtGuid4.dll \1113 $$(QTDIR)/bin/QtGuid4.dll \
871 $$(QTDIR)/bin/QtNetworkd4.dll \1114 $$(QTDIR)/bin/QtNetworkd4.dll \
872 $$(QTDIR)/bin/QtSqld4.dll \1115 $$(QTDIR)/bin/QtSqld4.dll \
@@ -876,8 +1119,7 @@
876 # include GNU Debugger in debug distros1119 # include GNU Debugger in debug distros
877 DLLs += $$(QTDIR)/../mingw/bin/gdb.exe1120 DLLs += $$(QTDIR)/../mingw/bin/gdb.exe
878 } else {1121 } else {
879 DLLs += $$(QTDIR)/bin/Qt3Support4.dll \1122 DLLs += $$(QTDIR)/bin/QtCore4.dll \
880 $$(QTDIR)/bin/QtCore4.dll \
881 $$(QTDIR)/bin/QtGui4.dll \1123 $$(QTDIR)/bin/QtGui4.dll \
882 $$(QTDIR)/bin/QtNetwork4.dll \1124 $$(QTDIR)/bin/QtNetwork4.dll \
883 $$(QTDIR)/bin/QtSql4.dll \1125 $$(QTDIR)/bin/QtSql4.dll \
@@ -885,14 +1127,15 @@
885 $$(QTDIR)/bin/QtOpenGL4.dll \1127 $$(QTDIR)/bin/QtOpenGL4.dll \
886 $$(QTDIR)/bin/QtScript4.dll1128 $$(QTDIR)/bin/QtScript4.dll
887 }1129 }
888 # mixxx-winlibs DLLs1130 # mixxx-mingw DLLs
889 DLLs += $$BASE_DIR/../mixxx-winlib/libogg.dll \1131 DLLs += \
890 $$BASE_DIR/../mixxx-winlib/portaudio_x86.dll \1132 $$BASE_DIR/../mixxx-mingw/lib/libogg-0.dll \
891# $$BASE_DIR/../mixxx-winlib/portaudio.dll \1133 $$BASE_DIR/../mixxx-mingw/lib/libportaudio-2.dll \
892 $$BASE_DIR/../mixxx-winlib/libsndfile-1.dll \1134 $$BASE_DIR/../mixxx-mingw/lib/libprotobuf-lite-8.dll \
893# $$BASE_DIR/../mixxx-winlib/sndfile.dll \1135 $$BASE_DIR/../mixxx-mingw/lib/libsndfile-1.dll \
894 $$BASE_DIR/../mixxx-winlib/libvorbis.dll \1136 $$BASE_DIR/../mixxx-mingw/lib/libtag.dll \
895 $$BASE_DIR/../mixxx-winlib/libvorbisfile.dll1137 $$BASE_DIR/../mixxx-mingw/lib/libvorbis-0.dll \
1138 $$BASE_DIR/../mixxx-mingw/lib/libvorbisfile-3.dll
8961139
897 # check if DLL exists at target, if not copy it there1140 # check if DLL exists at target, if not copy it there
898 for(DLL, DLLs):!exists( $$DESTDIR/$$basename(DLL) ) {1141 for(DLL, DLLs):!exists( $$DESTDIR/$$basename(DLL) ) {
@@ -937,9 +1180,9 @@
937 # SH Usage: make -f Makefile.Debug nsis1180 # SH Usage: make -f Makefile.Debug nsis
938 nsis.target = nsis1181 nsis.target = nsis
939 exists($$BUILDDIR/gdb.exe):INCLUDE_GDB = -DINCLUDE_GDB1182 exists($$BUILDDIR/gdb.exe):INCLUDE_GDB = -DINCLUDE_GDB
940 nsis.commands = \"$$(PROGRAMFILES)\NSIS\makensis.exe\" -NOCD -DGCC -DBINDIR=\"$$BUILDDIR\" -DBUILD_REV=\"$$VCS_BRANCH_NAME-$$VCS_REVNO\" $$INCLUDE_GDB build\\\\nsis\\\\Mixxx.nsi1183 nsis.commands = \"$$(PROGRAMFILES)\\\\NSIS\\\\makensis.exe\" -NOCD -DGCC -DBINDIR=\"$$BUILDDIR\" -DBUILD_REV=\"$$VCS_BRANCH_NAME-$$VCS_REVNO\" $$INCLUDE_GDB build\\\\nsis\\\\Mixxx.nsi
941 # nsis.depends =1184 # nsis.depends =
942 QMAKE_EXTRA_UNIX_TARGETS += nsis1185 QMAKE_EXTRA_TARGETS += nsis
943}1186}
9441187
945# build.h1188# build.h
@@ -949,3 +1192,9 @@
949message( Generating src$${DIR_SEPARATOR}build.h with contents: $${LITERAL_HASH}define BUILD_REV '"'$$BUILD_REV'"' )1192message( Generating src$${DIR_SEPARATOR}build.h with contents: $${LITERAL_HASH}define BUILD_REV '"'$$BUILD_REV'"' )
950system( echo $${LITERAL_HASH}define BUILD_REV '"'$$BUILD_REV'"'>src$${DIR_SEPARATOR}build.h )1193system( echo $${LITERAL_HASH}define BUILD_REV '"'$$BUILD_REV'"'>src$${DIR_SEPARATOR}build.h )
951system( echo $${LITERAL_HASH}define BUILD_FLAGS '"'$$replace(DEFINES,__,)'"'>>src$${DIR_SEPARATOR}build.h )1194system( echo $${LITERAL_HASH}define BUILD_FLAGS '"'$$replace(DEFINES,__,)'"'>>src$${DIR_SEPARATOR}build.h )
1195
1196PROTOS += \
1197 src/proto/waveform.proto \
1198 src/proto/skin.proto \
1199 src/proto/beats.proto
1200include(protobuf.pri)
9521201
=== added file 'mixxx/build/qtcreator/protobuf.pri'
--- mixxx/build/qtcreator/protobuf.pri 1970-01-01 00:00:00 +0000
+++ mixxx/build/qtcreator/protobuf.pri 2013-06-13 22:06:31 +0000
@@ -0,0 +1,39 @@
1#
2# Qt qmake integration with Google Protocol Buffers compiler protoc
3#
4# To compile protocol buffers with qt qmake, specify PROTOS variable and
5# include this file
6#
7# Example:
8# LIBS += /usr/local/lib/libprotobuf.so
9# PROTOS = a.proto b.proto
10# include(protobuf.pri)
11#
12# By default protoc looks for .proto files (including the imported ones) in
13# the current directory where protoc is run. If you need to include additional
14# paths specify the PROTOPATH variable
15#
16# Found at http://www.kieltech.de/uweswiki/Google%20Protocol%20Buffers
17#
18
19PROTOPATH += .
20#PROTOPATH += $$BASE_DIR/src/proto
21PROTOPATH += ./src/proto
22PROTOPATHS =
23for(p, PROTOPATH):PROTOPATHS += --proto_path=$${p}
24
25protobuf_decl.name = protobuf header
26protobuf_decl.input = PROTOS
27protobuf_decl.output = ${QMAKE_FILE_BASE}.pb.h
28protobuf_decl.commands = protoc --cpp_out="." $${PROTOPATHS} ${QMAKE_FILE_NAME}
29protobuf_decl.variable_out = GENERATED_FILES
30QMAKE_EXTRA_COMPILERS += protobuf_decl
31
32protobuf_impl.name = protobuf implementation
33protobuf_impl.input = PROTOS
34protobuf_impl.output = ${QMAKE_FILE_BASE}.pb.cc
35protobuf_impl.depends = ${QMAKE_FILE_BASE}.pb.h
36protobuf_impl.commands = $$escape_expand(\n)
37protobuf_impl.variable_out = GENERATED_SOURCES
38QMAKE_EXTRA_COMPILERS += protobuf_impl
39
040
=== modified file 'mixxx/build/unused/create_mixxx_dmg.sh'
--- mixxx/build/unused/create_mixxx_dmg.sh 2009-02-18 18:46:42 +0000
+++ mixxx/build/unused/create_mixxx_dmg.sh 2013-06-13 22:06:31 +0000
@@ -24,7 +24,6 @@
24cp $QT4_PATH/lib/libQtCore.4.dylib .24cp $QT4_PATH/lib/libQtCore.4.dylib .
25cp $QT4_PATH/lib/libQtOpenGL.4.dylib .25cp $QT4_PATH/lib/libQtOpenGL.4.dylib .
26cp $QT4_PATH/lib/libQtXml.4.dylib .26cp $QT4_PATH/lib/libQtXml.4.dylib .
27cp $QT4_PATH/lib/libQt3Support.4.dylib .
28cp $QT4_PATH/lib/libQtNetwork.4.dylib .27cp $QT4_PATH/lib/libQtNetwork.4.dylib .
29cp $QT4_PATH/lib/libQtSql.4.dylib .28cp $QT4_PATH/lib/libQtSql.4.dylib .
30cp /usr/local/lib/libportaudio.2.dylib .29cp /usr/local/lib/libportaudio.2.dylib .
@@ -40,7 +39,6 @@
40install_name_tool -id @executable_path/../Frameworks/libQtGui.4.dylib libQtGui.4.dylib39install_name_tool -id @executable_path/../Frameworks/libQtGui.4.dylib libQtGui.4.dylib
41install_name_tool -id @executable_path/../Frameworks/libQtCore.4.dylib libQtCore.4.dylib40install_name_tool -id @executable_path/../Frameworks/libQtCore.4.dylib libQtCore.4.dylib
42install_name_tool -id @executable_path/../Frameworks/libQtOpenGL.4.dylib libQtOpenGL.4.dylib41install_name_tool -id @executable_path/../Frameworks/libQtOpenGL.4.dylib libQtOpenGL.4.dylib
43install_name_tool -id @executable_path/../Frameworks/libQt3Support.4.dylib libQt3Support.4.dylib
44install_name_tool -id @executable_path/../Frameworks/libQtXml.4.dylib libQtXml.4.dylib42install_name_tool -id @executable_path/../Frameworks/libQtXml.4.dylib libQtXml.4.dylib
45install_name_tool -id @executable_path/../Frameworks/libQtNetwork.4.dylib libQtNetwork.4.dylib43install_name_tool -id @executable_path/../Frameworks/libQtNetwork.4.dylib libQtNetwork.4.dylib
46install_name_tool -id @executable_path/../Frameworks/libQtSql.4.dylib libQtSql.4.dylib44install_name_tool -id @executable_path/../Frameworks/libQtSql.4.dylib libQtSql.4.dylib
@@ -60,7 +58,6 @@
60install_name_tool -change $QT4_PATH/lib/libQtGui.4.dylib @executable_path/../Frameworks/libQtGui.4.dylib $MIXXX_PATH58install_name_tool -change $QT4_PATH/lib/libQtGui.4.dylib @executable_path/../Frameworks/libQtGui.4.dylib $MIXXX_PATH
61install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib $MIXXX_PATH59install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib $MIXXX_PATH
62install_name_tool -change $QT4_PATH/lib/libQtOpenGL.4.dylib @executable_path/../Frameworks/libQtOpenGL.4.dylib $MIXXX_PATH60install_name_tool -change $QT4_PATH/lib/libQtOpenGL.4.dylib @executable_path/../Frameworks/libQtOpenGL.4.dylib $MIXXX_PATH
63install_name_tool -change $QT4_PATH/lib/libQt3Support.4.dylib @executable_path/../Frameworks/libQt3Support.4.dylib $MIXXX_PATH
64install_name_tool -change $QT4_PATH/lib/libQtXml.4.dylib @executable_path/../Frameworks/libQtXml.4.dylib $MIXXX_PATH61install_name_tool -change $QT4_PATH/lib/libQtXml.4.dylib @executable_path/../Frameworks/libQtXml.4.dylib $MIXXX_PATH
65install_name_tool -change $QT4_PATH/lib/libQtNetwork.4.dylib @executable_path/../Frameworks/libQtNetwork.4.dylib $MIXXX_PATH62install_name_tool -change $QT4_PATH/lib/libQtNetwork.4.dylib @executable_path/../Frameworks/libQtNetwork.4.dylib $MIXXX_PATH
66install_name_tool -change $QT4_PATH/lib/libQtSql.4.dylib @executable_path/../Frameworks/libQtSql.4.dylib $MIXXX_PATH63install_name_tool -change $QT4_PATH/lib/libQtSql.4.dylib @executable_path/../Frameworks/libQtSql.4.dylib $MIXXX_PATH
@@ -81,11 +78,6 @@
81install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib libQtSql.4.dylib78install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib libQtSql.4.dylib
82install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib libQtNetwork.4.dylib79install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib libQtNetwork.4.dylib
83install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib libQtXml.4.dylib80install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib libQtXml.4.dylib
84install_name_tool -change $QT4_PATH/lib/libQtGui.4.dylib @executable_path/../Frameworks/libQtGui.4.dylib libQt3Support.4.dylib
85install_name_tool -change $QT4_PATH/lib/libQtCore.4.dylib @executable_path/../Frameworks/libQtCore.4.dylib libQt3Support.4.dylib
86install_name_tool -change $QT4_PATH/lib/libQtSql.4.dylib @executable_path/../Frameworks/libQtSql.4.dylib libQt3Support.4.dylib
87install_name_tool -change $QT4_PATH/lib/libQtXml.4.dylib @executable_path/../Frameworks/libQtXml.4.dylib libQt3Support.4.dylib
88install_name_tool -change $QT4_PATH/lib/libQtNetwork.4.dylib @executable_path/../Frameworks/libQtNetwork.4.dylib libQt3Support.4.dylib
8981
9082
91echo "Changing library ids within Vorbis lib"83echo "Changing library ids within Vorbis lib"
@@ -123,7 +115,6 @@
123 install_name_tool -change $QT4_PATH/lib/libQtGui.4.dylib @executable_path/../Frameworks/libQtGui.4.dylib $lib115 install_name_tool -change $QT4_PATH/lib/libQtGui.4.dylib @executable_path/../Frameworks/libQtGui.4.dylib $lib
124 install_name_tool -change $QT4_PATH/lib/libQtSql.4.dylib @executable_path/../Frameworks/libQtSql.4.dylib $lib116 install_name_tool -change $QT4_PATH/lib/libQtSql.4.dylib @executable_path/../Frameworks/libQtSql.4.dylib $lib
125 install_name_tool -change $QT4_PATH/lib/libQtXml.4.dylib @executable_path/../Frameworks/libQtXml.4.dylib $lib117 install_name_tool -change $QT4_PATH/lib/libQtXml.4.dylib @executable_path/../Frameworks/libQtXml.4.dylib $lib
126 install_name_tool -change $QT4_PATH/lib/libQtSvg.4.dylib @executable_path/../Frameworks/libQtSvg.4.dylib $lib
127 install_name_tool -change $QT4_PATH/lib/libQtNetwork.4.dylib @executable_path/../Frameworks/libQtNetwork.4.dylib $lib118 install_name_tool -change $QT4_PATH/lib/libQtNetwork.4.dylib @executable_path/../Frameworks/libQtNetwork.4.dylib $lib
128done119done
129echo "Stripping debugging symbols from QT4 imageformat plugins"120echo "Stripping debugging symbols from QT4 imageformat plugins"
@@ -143,7 +134,6 @@
143 install_name_tool -change $QT4_PATH/lib/libQtGui.4.dylib @executable_path/../Frameworks/libQtGui.4.dylib $lib134 install_name_tool -change $QT4_PATH/lib/libQtGui.4.dylib @executable_path/../Frameworks/libQtGui.4.dylib $lib
144 install_name_tool -change $QT4_PATH/lib/libQtSql.4.dylib @executable_path/../Frameworks/libQtSql.4.dylib $lib135 install_name_tool -change $QT4_PATH/lib/libQtSql.4.dylib @executable_path/../Frameworks/libQtSql.4.dylib $lib
145 install_name_tool -change $QT4_PATH/lib/libQtXml.4.dylib @executable_path/../Frameworks/libQtXml.4.dylib $lib136 install_name_tool -change $QT4_PATH/lib/libQtXml.4.dylib @executable_path/../Frameworks/libQtXml.4.dylib $lib
146 install_name_tool -change $QT4_PATH/lib/libQtSvg.4.dylib @executable_path/../Frameworks/libQtSvg.4.dylib $lib
147 install_name_tool -change $QT4_PATH/lib/libQtNetwork.4.dylib @executable_path/../Frameworks/libQtNetwork.4.dylib $lib137 install_name_tool -change $QT4_PATH/lib/libQtNetwork.4.dylib @executable_path/../Frameworks/libQtNetwork.4.dylib $lib
148done138done
149echo "Stripping debugging symbols from QT4 iconengine plugins"139echo "Stripping debugging symbols from QT4 iconengine plugins"
150140
=== modified file 'mixxx/build/unused/mixxx_dmg.sh'
--- mixxx/build/unused/mixxx_dmg.sh 2009-02-18 18:46:42 +0000
+++ mixxx/build/unused/mixxx_dmg.sh 2013-06-13 22:06:31 +0000
@@ -29,7 +29,7 @@
29#XXX we should really do this by like, declaring the frameworks and dylibs we're using at the top and then being smart about all this29#XXX we should really do this by like, declaring the frameworks and dylibs we're using at the top and then being smart about all this
30#FRAMEWORKS are shared libraries with an Apple-esque naming convention. DYLIBS are classical .so object files.30#FRAMEWORKS are shared libraries with an Apple-esque naming convention. DYLIBS are classical .so object files.
31#(ASSUMPTION: every dylibg is under /usr/local/lib. Anything under /usr/lib should be already on any systems we package for. The one exception to this might be things in /opt or /sw which darwinports and fink use :/... bah when we rewrite this for SCons we can make it smarter31#(ASSUMPTION: every dylibg is under /usr/local/lib. Anything under /usr/lib should be already on any systems we package for. The one exception to this might be things in /opt or /sw which darwinports and fink use :/... bah when we rewrite this for SCons we can make it smarter
32FRAMEWORKS="QtCore QtGui QtOpenGL QtXml Qt3Support QtNetwork QtSvg QtSql QtScript" #XXX should only do this if mixxx was built with scripting... oh well, a TODO32FRAMEWORKS="QtCore QtGui QtOpenGL QtXml QtNetwork QtSql QtScript" #XXX should only do this if mixxx was built with scripting... oh well, a TODO
33DYLIBS="portaudio mad id3tag vorbis vorbisfile ogg sndfile FLAC"33DYLIBS="portaudio mad id3tag vorbis vorbisfile ogg sndfile FLAC"
3434
3535
@@ -67,11 +67,11 @@
67 TAB=`printf "\t"` #because I can't write \t to get a tab in shell :(67 TAB=`printf "\t"` #because I can't write \t to get a tab in shell :(
68 path=`otool -L $1 | tail +2 | cut -f 2 -d "$TAB" | cut -f 1 -d "(" | grep "$2\..*"` #SHELL_FUUUUUUU!!!!! (the last bit is important, it makes sure we only get the libs ending in the given name)68 path=`otool -L $1 | tail +2 | cut -f 2 -d "$TAB" | cut -f 1 -d "(" | grep "$2\..*"` #SHELL_FUUUUUUU!!!!! (the last bit is important, it makes sure we only get the libs ending in the given name)
69 if [ x"$path" = x ]; then69 if [ x"$path" = x ]; then
70 #echo "$1 does not reference $2, skipping";70 #echo "$1 does not reference $2, skipping";
71 echo -n;71 echo -n;
72 else72 else
73 #echo "DEBUG: " install_name_tool -change $path @executable_path/../Frameworks/$3 $173 #echo "DEBUG: " install_name_tool -change $path @executable_path/../Frameworks/$3 $1
74 install_name_tool -change $path @executable_path/../Frameworks/$3 $174 install_name_tool -change $path @executable_path/../Frameworks/$3 $1
75 fi75 fi
76}76}
7777
@@ -199,13 +199,6 @@
199reref_framework QtSql QtCore199reref_framework QtSql QtCore
200reref_framework QtNetwork QtCore200reref_framework QtNetwork QtCore
201reref_framework QtXml QtCore201reref_framework QtXml QtCore
202reref_framework QtSvg QtCore
203reref_framework QtSvg QtGui
204reref_framework Qt3Support QtGui
205reref_framework Qt3Support QtCore
206reref_framework Qt3Support QtSql
207reref_framework Qt3Support QtXml
208reref_framework Qt3Support QtNetwork
209reref_framework QtScript QtCore202reref_framework QtScript QtCore
210203
211204
@@ -238,17 +231,16 @@
238 mkdir $plugin231 mkdir $plugin
239 cd $plugin232 cd $plugin
240 for lib in $libs; do233 for lib in $libs; do
241 lib=lib$lib.dylib #yay234 lib=lib$lib.dylib #yay
242 cp $QT4_PLUGINS/imageformats/$lib $lib235 cp $QT4_PLUGINS/imageformats/$lib $lib
243236
244 echo "Changing library ids within QT4 $plugin plugin: $lib"237 echo "Changing library ids within QT4 $plugin plugin: $lib"
245 relink_lib $lib238 relink_lib $lib
246 #XXX this list really needs to be generated on the fly from otool ....239 #XXX this list really needs to be generated on the fly from otool ....
247 reref $lib QtCore QtCore #not using reref_framework because I don't think it means the same thing. in reref $2 is a search string, $3 is a filename. reref_frameworks assumes both are identical.240 reref $lib QtCore QtCore #not using reref_framework because I don't think it means the same thing. in reref $2 is a search string, $3 is a filename. reref_frameworks assumes both are identical.
248 reref $lib QtGui QtGui241 reref $lib QtGui QtGui
249 reref $lib QtXml QtXml242 reref $lib QtXml QtXml
250 reref $lib QtSvg QtSvg243 reref $lib QtNetwork QtNetwork
251 reref $lib QtNetwork QtNetwork
252 done244 done
253 echo "Stripping debugging symbols from QT4 $plugin plugins"245 echo "Stripping debugging symbols from QT4 $plugin plugins"
254 strip *.dylib246 strip *.dylib
255247
=== modified file 'mixxx/lib/fidlib-0.9.10/fidlib.c'
--- mixxx/lib/fidlib-0.9.10/fidlib.c 2011-07-25 01:49:54 +0000
+++ mixxx/lib/fidlib-0.9.10/fidlib.c 2013-06-13 22:06:31 +0000
@@ -259,10 +259,10 @@
259//259//
260260
261// Macro for local inline routines that shouldn't be visible externally261// Macro for local inline routines that shouldn't be visible externally
262#ifdef T_MSVC262#if defined(T_MINGW) || defined(T_MSVC)
263 #define STATIC_INLINE static __inline263 #define STATIC_INLINE static __inline
264#else264#else
265 #define STATIC_INLINE static inline 265 #define STATIC_INLINE static inline
266#endif266#endif
267267
268// MinGW and MSVC fixes268// MinGW and MSVC fixes
269269
=== modified file 'mixxx/lib/soundtouch-1.6.0/FIFOSampleBuffer.cpp'
--- mixxx/lib/soundtouch-1.6.0/FIFOSampleBuffer.cpp 2011-07-24 21:06:29 +0000
+++ mixxx/lib/soundtouch-1.6.0/FIFOSampleBuffer.cpp 2013-06-13 22:06:31 +0000
@@ -44,6 +44,7 @@
44////////////////////////////////////////////////////////////////////////////////44////////////////////////////////////////////////////////////////////////////////
4545
46#include <stdlib.h>46#include <stdlib.h>
47#include <stdint.h>
47#include <memory.h>48#include <memory.h>
48#include <string.h>49#include <string.h>
49#include <assert.h>50#include <assert.h>
@@ -178,7 +179,7 @@
178 throw std::runtime_error("Couldn't allocate memory!\n");179 throw std::runtime_error("Couldn't allocate memory!\n");
179 }180 }
180 // Align the buffer to begin at 16byte cache line boundary for optimal performance181 // Align the buffer to begin at 16byte cache line boundary for optimal performance
181 temp = (SAMPLETYPE *)(((ulong)tempUnaligned + 15) & (ulong)-16);182 temp = (SAMPLETYPE *)(((uintptr_t)tempUnaligned + 15) & (uintptr_t)-16);
182 if (samplesInBuffer)183 if (samplesInBuffer)
183 {184 {
184 memcpy(temp, ptrBegin(), samplesInBuffer * channels * sizeof(SAMPLETYPE));185 memcpy(temp, ptrBegin(), samplesInBuffer * channels * sizeof(SAMPLETYPE));
185186
=== modified file 'mixxx/lib/soundtouch-1.6.0/TDStretch.cpp'
--- mixxx/lib/soundtouch-1.6.0/TDStretch.cpp 2011-07-24 21:06:29 +0000
+++ mixxx/lib/soundtouch-1.6.0/TDStretch.cpp 2013-06-13 22:06:31 +0000
@@ -43,6 +43,7 @@
4343
44#include <string.h>44#include <string.h>
45#include <limits.h>45#include <limits.h>
46#include <stdint.h>
46#include <assert.h>47#include <assert.h>
47#include <math.h>48#include <math.h>
48#include <float.h>49#include <float.h>
@@ -721,7 +722,7 @@
721722
722 pRefMidBufferUnaligned = new SAMPLETYPE[2 * overlapLength + 16 / sizeof(SAMPLETYPE)];723 pRefMidBufferUnaligned = new SAMPLETYPE[2 * overlapLength + 16 / sizeof(SAMPLETYPE)];
723 // ensure that 'pRefMidBuffer' is aligned to 16 byte boundary for efficiency724 // ensure that 'pRefMidBuffer' is aligned to 16 byte boundary for efficiency
724 pRefMidBuffer = (SAMPLETYPE *)((((ulong)pRefMidBufferUnaligned) + 15) & (ulong)-16);725 pRefMidBuffer = (SAMPLETYPE *)((((uintptr_t)pRefMidBufferUnaligned) + 15) & (uintptr_t)-16);
725 }726 }
726}727}
727728
728729
=== modified file 'mixxx/lib/soundtouch-1.6.0/sse_optimized.cpp'
--- mixxx/lib/soundtouch-1.6.0/sse_optimized.cpp 2011-07-24 21:06:29 +0000
+++ mixxx/lib/soundtouch-1.6.0/sse_optimized.cpp 2013-06-13 22:06:31 +0000
@@ -53,6 +53,7 @@
5353
54#include "cpu_detect.h"54#include "cpu_detect.h"
55#include "STTypes.h"55#include "STTypes.h"
56#include <stdint.h>
5657
57using namespace soundtouch;58using namespace soundtouch;
5859
@@ -93,7 +94,7 @@
9394
94 #define _MM_LOAD _mm_load_ps95 #define _MM_LOAD _mm_load_ps
9596
96 if (((ulong)pV1) & 15) return -1e50; // skip unaligned locations97 if (((uintptr_t)pV1) & 15) return -1e50; // skip unaligned locations
9798
98#else99#else
99 // No cheating allowed, use unaligned load & take the resulting100 // No cheating allowed, use unaligned load & take the resulting
@@ -285,7 +286,7 @@
285 // Ensure that filter coeffs array is aligned to 16-byte boundary286 // Ensure that filter coeffs array is aligned to 16-byte boundary
286 delete[] filterCoeffsUnalign;287 delete[] filterCoeffsUnalign;
287 filterCoeffsUnalign = new float[2 * newLength + 4];288 filterCoeffsUnalign = new float[2 * newLength + 4];
288 filterCoeffsAlign = (float *)(((unsigned long)filterCoeffsUnalign + 15) & (ulong)-16);289 filterCoeffsAlign = (float *)(((uintptr_t)filterCoeffsUnalign + 15) & (uintptr_t)-16);
289290
290 fDivider = (float)resultDivider;291 fDivider = (float)resultDivider;
291292
@@ -313,7 +314,7 @@
313 assert(dest != NULL);314 assert(dest != NULL);
314 assert((length % 8) == 0);315 assert((length % 8) == 0);
315 assert(filterCoeffsAlign != NULL);316 assert(filterCoeffsAlign != NULL);
316 assert(((ulong)filterCoeffsAlign) % 16 == 0);317 assert(((uintptr_t)filterCoeffsAlign) % 16 == 0);
317318
318 // filter is evaluated for two stereo samples with each iteration, thus use of 'j += 2'319 // filter is evaluated for two stereo samples with each iteration, thus use of 'j += 2'
319 for (j = 0; j < count; j += 2)320 for (j = 0; j < count; j += 2)
320321
=== modified file 'mixxx/lib/xwax/lut.cpp'
--- mixxx/lib/xwax/lut.cpp 2012-09-26 17:15:11 +0000
+++ mixxx/lib/xwax/lut.cpp 2013-06-13 22:06:31 +0000
@@ -17,6 +17,8 @@
17 *17 *
18 */18 */
1919
20extern "C" {
21
20#include <stdio.h>22#include <stdio.h>
21#include <stdlib.h>23#include <stdlib.h>
2224
@@ -43,7 +45,7 @@
43 bytes = sizeof(struct slot) * nslots + sizeof(slot_no_t) * hashes;45 bytes = sizeof(struct slot) * nslots + sizeof(slot_no_t) * hashes;
4446
45 fprintf(stderr, "Lookup table has %d hashes to %d slots"47 fprintf(stderr, "Lookup table has %d hashes to %d slots"
46 " (%d slots per hash, %zuKb)\n",48 " (%d slots per hash, %u Kb)\n",
47 hashes, nslots, nslots / hashes, bytes / 1024);49 hashes, nslots, nslots / hashes, bytes / 1024);
4850
49 lut->slot = (struct slot*)malloc(sizeof(struct slot) * nslots);51 lut->slot = (struct slot*)malloc(sizeof(struct slot) * nslots);
@@ -109,3 +111,5 @@
109111
110 return (unsigned)-1;112 return (unsigned)-1;
111}113}
114
115}; // extern "C"
112116
=== modified file 'mixxx/lib/xwax/timecoder.h'
--- mixxx/lib/xwax/timecoder.h 2012-09-26 16:41:26 +0000
+++ mixxx/lib/xwax/timecoder.h 2013-06-13 22:06:31 +0000
@@ -29,6 +29,10 @@
2929
30#define TIMECODER_CHANNELS 230#define TIMECODER_CHANNELS 2
3131
32#ifdef __cplusplus
33extern "C" {
34#endif // __cplusplus
35
32typedef unsigned int bits_t;36typedef unsigned int bits_t;
3337
34struct timecode_def {38struct timecode_def {
@@ -142,4 +146,8 @@
142 return (33.0 + 1.0 / 3) * tc->speed / 60;146 return (33.0 + 1.0 / 3) * tc->speed / 60;
143}147}
144148
149#ifdef __cplusplus
150};
151#endif // __cplusplus
152
145#endif153#endif
146154
=== modified file 'mixxx/lib/xwax/timecoder_win32.cpp'
--- mixxx/lib/xwax/timecoder_win32.cpp 2012-11-03 13:45:25 +0000
+++ mixxx/lib/xwax/timecoder_win32.cpp 2013-06-13 22:06:31 +0000
@@ -17,6 +17,8 @@
17 *17 *
18 */18 */
1919
20extern "C" {
21
20#include <assert.h>22#include <assert.h>
21#include <stdio.h>23#include <stdio.h>
22#include <stdlib.h>24#include <stdlib.h>
@@ -613,3 +615,5 @@
613615
614 return -1;616 return -1;
615}617}
618
619}; // extern "C"
616620
=== modified file 'mixxx/src/SConscript'
--- mixxx/src/SConscript 2013-06-13 03:13:53 +0000
+++ mixxx/src/SConscript 2013-06-13 22:06:31 +0000
@@ -40,11 +40,15 @@
40 str_list.append('#define VER_FILEVERSION ')40 str_list.append('#define VER_FILEVERSION ')
41 # Remove anything after ~ or - in the version number and replace the dots with commas41 # Remove anything after ~ or - in the version number and replace the dots with commas
42 str_list.append(mixxx_version.partition('~')[0].partition('-')[0].replace('.',','))42 str_list.append(mixxx_version.partition('~')[0].partition('-')[0].replace('.',','))
43 str_list.append(','+str(vcs_revision)+'\n')43 if vcs_revision:
44 str_list.append(','+str(vcs_revision))
45 str_list.append('\n')
4446
45 str_list.append('#define VER_PRODUCTVERSION ')47 str_list.append('#define VER_PRODUCTVERSION ')
46 str_list.append(mixxx_version.partition('~')[0].partition('-')[0].replace('.',','))48 str_list.append(mixxx_version.partition('~')[0].partition('-')[0].replace('.',','))
47 str_list.append(','+str(vcs_revision)+'\n')49 if vcs_revision:
50 str_list.append(','+str(vcs_revision))
51 str_list.append('\n')
4852
49 import datetime53 import datetime
50 now = datetime.datetime.now()54 now = datetime.datetime.now()
@@ -58,9 +62,37 @@
58 fo.write(''.join(str_list))62 fo.write(''.join(str_list))
59 fo.close()63 fo.close()
6064
61 mixxx_bin = env.Program('mixxx',65 if build.crosscompile:
62 [sources, env.RES('#src/mixxx.rc')],66 # Taken from http://scons.org/wiki/EmbedManifestIntoTarget
63 LINKCOM = [env['LINKCOM'], 'mt.exe -nologo -manifest ${TARGET}.manifest -outputresource:$TARGET;1'])67 manifest_template = '''\
68<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
69<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
70 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
71 <security>
72 <requestedPrivileges>
73 <requestedExecutionLevel level='asInvoker' uiAccess='false' />
74 </requestedPrivileges>
75 </security>
76 </trustInfo>
77</assembly>
78'''
79 manifest_path = "mixxx.manifest"
80 fout = open (manifest_path, "w");
81 fout.write (manifest_template)
82 fout.close()
83 fout = open ("manifest.rc", "w");
84 fout.write ("""
85#include "winuser.h"
861 RT_MANIFEST %s
87""" % manifest_path)
88 fout.close()
89 mixxx_bin = env.Program('mixxx',
90 [sources, env.RES('#src/mixxx.rc'),
91 env.RES("manifest.rc")]);
92 else:
93 mixxx_bin = env.Program('mixxx',
94 [sources, env.RES('#src/mixxx.rc')],
95 LINKCOM = [env['LINKCOM'], 'mt.exe -nologo -manifest ${TARGET}.manifest -outputresource:$TARGET;1'])
64else:96else:
65 mixxx_bin = env.Program('mixxx', sources)97 mixxx_bin = env.Program('mixxx', sources)
6698
@@ -192,9 +224,36 @@
192 # skip the MSVC DLLs incase they're in there too224 # skip the MSVC DLLs incase they're in there too
193 dll_files = Glob('%s/[!"msvc"]*.dll' % mixxx_winlib_path)225 dll_files = Glob('%s/[!"msvc"]*.dll' % mixxx_winlib_path)
194elif build.crosscompile and build.platform_is_windows and build.toolchain_is_gnu:226elif build.crosscompile and build.platform_is_windows and build.toolchain_is_gnu:
195 # We're cross-compiling, grab these from the crosscompile bin227 # We're cross-compiling; grab these from the crosscompile bin
196 # folder. How should we be doing this?228 # folder.
197 dll_files = Glob('#/../../mixxx-win%slib-crossmingw' % build.bitwidth)229 # TODO(XXX): Rebuild the dependent libraries as static, and
230 # figure out how to tell scons to prefer static libraries.
231 crosscompile_bin_path = os.path.join (build.crosscompile_root, \
232 'bin')
233 dll_files = [ os.path.join (crosscompile_bin_path, \
234 s) for s in [ 'libchromaprint.dll', 'libfftw3-3.dll',
235 'libFLAC-8.dll', 'libid3tag-0.dll', 'libogg-0.dll',
236 'libportaudio-2.dll', 'libportmidi_s.dll',
237 'libprotobuf-lite-7.dll', 'libsndfile-1.dll',
238 'libsqlite3-0.dll', 'libstdc++-6.dll', 'libtag.dll',
239 'libvorbis-0.dll', 'libvorbisenc-2.dll',
240 'libvorbisfile-3.dll', 'pthreadGC2.dll' ] ];
241
242 # The shoutcast build requires a few more DLLs.
243 if int(build.flags['shoutcast']):
244 dll_files += [ os.path.join (crosscompile_bin_path, \
245 s) for s in [ 'libshout-3.dll', 'libspeex-1.dll',
246 'libtheora-0.dll' ] ];
247
248 # The ffmpeg build requires a few more DLLs.
249 if int(build.flags['ffmpeg']):
250 dll_files += [ os.path.join (crosscompile_bin_path, \
251 s) for s in [ 'avcodec-54.dll', 'avformat-54.dll',
252 'avutil-51.dll', 'swresample-0.dll', 'libbz2-1.dll',
253 'libgcrypt-11.dll', 'libgpg-error-0.dll',
254 'libgnutls-26.dll', 'libp11-kit-0.dll',
255 'libtasn1-3.dll' ] ];
256
198elif build.crosscompile and build.platform_is_osx:257elif build.crosscompile and build.platform_is_osx:
199 # Glob appropriate dylib files. We have 4 different library types,258 # Glob appropriate dylib files. We have 4 different library types,
200 # x86_64, x86, powerpc, powerpc64259 # x86_64, x86, powerpc, powerpc64
@@ -202,40 +261,63 @@
202else:261else:
203 dll_files = list() # dll_files += on the next line required dll_files to exist262 dll_files = list() # dll_files += on the next line required dll_files to exist
204263
205if build.msvcdebug:264if int(build.flags['vinylcontrol']) or int(build.flags['hid']):
206 dll_files += Split("""$QTDIR/lib/QtWebKitd4.dll""")265 if build.crosscompile and build.platform_is_windows and build.toolchain_is_gnu:
207else:266 # mingw{32,64}-phonon only has one DLL.
208 dll_files += Split("""$QTDIR/lib/QtWebKit4.dll""")267 dll_files += Split("""$QTDIR/bin/libphonon.dll""")
268 else:
269 if build.msvcdebug:
270 dll_files += Split("""$QTDIR/lib/phonond4.dll""")
271 else:
272 dll_files += Split("""$QTDIR/lib/phonon4.dll""")
209273
210if build.msvcdebug:274if build.msvcdebug:
211 dll_files += Split("""$QTDIR/lib/QtCored4.dll275 if build.crosscompile and build.platform_is_windows and build.toolchain_is_gnu:
212 $QTDIR/lib/QtGuid4.dll276 dll_files += Split("""$QTDIR/bin/QtCored4.dll
213 $QTDIR/lib/QtNetworkd4.dll277 $QTDIR/bin/QtGuid4.dll
214 $QTDIR/lib/QtOpenGLd4.dll278 $QTDIR/bin/QtNetworkd4.dll
215 $QTDIR/lib/QtSqld4.dll279 $QTDIR/bin/QtOpenGLd4.dll
216 $QTDIR/lib/QtXmld4.dll280 $QTDIR/bin/QtSqld4.dll
217 $QTDIR/lib/QtXmlPatternsd4.dll281 $QTDIR/bin/QtXmld4.dll
218 $QTDIR/lib/QtSvgd4.dll282 $QTDIR/bin/QtScriptd4.dll""")
219 $QTDIR/lib/phonond4.dll283 else:
220 $QTDIR/lib/QtScriptd4.dll""")284 dll_files += Split("""$QTDIR/lib/QtCored4.dll
285 $QTDIR/lib/QtGuid4.dll
286 $QTDIR/lib/QtNetworkd4.dll
287 $QTDIR/lib/QtOpenGLd4.dll
288 $QTDIR/lib/QtSqld4.dll
289 $QTDIR/lib/QtXmld4.dll
290 $QTDIR/lib/QtScriptd4.dll""")
221else:291else:
222 # if not int(build.flags['staticlibs']):292 # if not int(build.flags['staticlibs']):
223 dll_files += Split("""$QTDIR/lib/QtCore4.dll293 if build.crosscompile and build.platform_is_windows and build.toolchain_is_gnu:
224 $QTDIR/lib/QtGui4.dll294 dll_files += Split("""$QTDIR/bin/QtCore4.dll
225 $QTDIR/lib/QtNetwork4.dll295 $QTDIR/bin/QtGui4.dll
226 $QTDIR/lib/QtOpenGL4.dll296 $QTDIR/bin/QtNetwork4.dll
227 $QTDIR/lib/QtSql4.dll297 $QTDIR/bin/QtOpenGL4.dll
228 $QTDIR/lib/QtXml4.dll298 $QTDIR/bin/QtSql4.dll
229 $QTDIR/lib/QtXmlPatterns4.dll299 $QTDIR/bin/QtXml4.dll
230 $QTDIR/lib/QtSvg4.dll300 $QTDIR/bin/QtScript4.dll""")
231 $QTDIR/lib/phonon4.dll301 else:
232 $QTDIR/lib/QtScript4.dll""")302 dll_files += Split("""$QTDIR/lib/QtCore4.dll
303 $QTDIR/lib/QtGui4.dll
304 $QTDIR/lib/QtNetwork4.dll
305 $QTDIR/lib/QtOpenGL4.dll
306 $QTDIR/lib/QtSql4.dll
307 $QTDIR/lib/QtXml4.dll
308 $QTDIR/lib/QtScript4.dll""")
233309
234if int(flags.get('sqlitedll', 0)):310if int(flags.get('sqlitedll', 0)):
235 if build.msvcdebug:311 if build.crosscompile and build.platform_is_windows and build.toolchain_is_gnu:
236 sqldll_files = Split("""$QTDIR/plugins/sqldrivers/qsqlited4.dll""") #Qt SQLite plugin312 if build.msvcdebug:
313 sqldll_files = Split("""$QTDIR/lib/qt4/plugins/sqldrivers/qsqlited4.dll""") #Qt SQLite plugin
314 else:
315 sqldll_files = Split("""$QTDIR/lib/qt4/plugins/sqldrivers/qsqlite4.dll""") #Qt SQLite plugin
237 else:316 else:
238 sqldll_files = Split("""$QTDIR/plugins/sqldrivers/qsqlite4.dll""") #Qt SQLite plugin317 if build.msvcdebug:
318 sqldll_files = Split("""$QTDIR/plugins/sqldrivers/qsqlited4.dll""") #Qt SQLite plugin
319 else:
320 sqldll_files = Split("""$QTDIR/plugins/sqldrivers/qsqlite4.dll""") #Qt SQLite plugin
239321
240if build.platform_is_linux or build.platform_is_bsd:322if build.platform_is_linux or build.platform_is_bsd:
241 flags['prefix'] = ARGUMENTS.get('prefix', '/usr/local')323 flags['prefix'] = ARGUMENTS.get('prefix', '/usr/local')
@@ -256,7 +338,7 @@
256 binary = env.Install(unix_bin_path, binary_files)338 binary = env.Install(unix_bin_path, binary_files)
257 resource = env.Install(os.path.join(unix_share_path, 'mixxx'), resource_files)339 resource = env.Install(os.path.join(unix_share_path, 'mixxx'), resource_files)
258 skins = env.Install(os.path.join(unix_share_path, 'mixxx', 'skins'), skin_files)340 skins = env.Install(os.path.join(unix_share_path, 'mixxx', 'skins'), skin_files)
259 vamp_plugin = env.Install(341 vamp_plugin = env.Install(
260 os.path.join(unix_lib_path, 'mixxx', 'plugins', 'vamp'),342 os.path.join(unix_lib_path, 'mixxx', 'plugins', 'vamp'),
261 libmixxxminimal_vamp_plugin)343 libmixxxminimal_vamp_plugin)
262344
@@ -288,7 +370,7 @@
288 env.Alias('install', dotdesktop)370 env.Alias('install', dotdesktop)
289 env.Alias('install', icon)371 env.Alias('install', icon)
290 env.Alias('install', promotracks)372 env.Alias('install', promotracks)
291 env.Alias('install', vamp_plugin)373 env.Alias('install', vamp_plugin)
292374
293 #Delete the old Mixxx installation (because SCONS won't overwrite it)375 #Delete the old Mixxx installation (because SCONS won't overwrite it)
294 #if 'install' in COMMAND_LINE_TARGETS:376 #if 'install' in COMMAND_LINE_TARGETS:
@@ -325,7 +407,7 @@
325 for x in soundsource_plugins:407 for x in soundsource_plugins:
326 plugins.append(x.get_abspath())408 plugins.append(x.get_abspath())
327409
328 for x in mixxxminimal_plugins:410 for x in mixxxminimal_plugins:
329 plugins.append(x.get_abspath())411 plugins.append(x.get_abspath())
330412
331 resource_map = {}413 resource_map = {}
@@ -450,7 +532,7 @@
450 env.Alias('mixxx', docs)532 env.Alias('mixxx', docs)
451 env.Alias('mixxx', dlls)533 env.Alias('mixxx', dlls)
452 env.Alias('mixxx', soundsource_plugins)534 env.Alias('mixxx', soundsource_plugins)
453 env.Alias('mixxx', vamp_plugins)535 env.Alias('mixxx', vamp_plugins)
454 #env.Alias('mixxx', icon)536 #env.Alias('mixxx', icon)
455 env.Alias('mixxx', binary)537 env.Alias('mixxx', binary)
456538
@@ -496,7 +578,7 @@
496 print "YOU ARE ABOUT TO PACKAGE A DEBUG BUILD!!"578 print "YOU ARE ABOUT TO PACKAGE A DEBUG BUILD!!"
497 print579 print
498 print "Binary has size ",580 print "Binary has size ",
499 if build.platform_is_windows:581 if build.platform_is_windows and not build.crosscompile:
500 os.system('for %I in ('+dist_dir+'\mixxx.exe) do @echo %~zI')582 os.system('for %I in ('+dist_dir+'\mixxx.exe) do @echo %~zI')
501 else:583 else:
502 os.system('ls -lh '+dist_dir+'/mixxx.exe | cut -d \' \' -f 5')584 os.system('ls -lh '+dist_dir+'/mixxx.exe | cut -d \' \' -f 5')
@@ -511,13 +593,13 @@
511 print exe_name593 print exe_name
512 print594 print
513 print "Top line of README, check version:"595 print "Top line of README, check version:"
514 if build.platform_is_windows:596 if build.platform_is_windows and not build.crosscompile:
515 os.system('for /l %l in (1,1,1) do @for /f "tokens=1,2* delims=:" %a in (\'findstr /n /r "^" README ^| findstr /r "^%l:"\') do @echo %b')597 os.system('for /l %l in (1,1,1) do @for /f "tokens=1,2* delims=:" %a in (\'findstr /n /r "^" README ^| findstr /r "^%l:"\') do @echo %b')
516 else:598 else:
517 os.system('head -n 1 README')599 os.system('head -n 1 README')
518 print600 print
519 print "Top 2 lines of LICENSE, check version and copyright dates:"601 print "Top 2 lines of LICENSE, check version and copyright dates:"
520 if build.platform_is_windows:602 if build.platform_is_windows and not build.crosscompile:
521 os.system('for /l %l in (1,1,2) do @for /f "tokens=1,2* delims=:" %a in (\'findstr /n /r "^" LICENSE ^| findstr /r "^%l:"\') do @echo %b')603 os.system('for /l %l in (1,1,2) do @for /f "tokens=1,2* delims=:" %a in (\'findstr /n /r "^" LICENSE ^| findstr /r "^%l:"\') do @echo %b')
522 else:604 else:
523 os.system('head -n 2 LICENSE')605 os.system('head -n 2 LICENSE')
@@ -576,14 +658,23 @@
576 print "Cannot find NSIS. Do you have it installed?"658 print "Cannot find NSIS. Do you have it installed?"
577 else:659 else:
578 # Call the NSIS build660 # Call the NSIS build
579 buildwin64 = "/Dx64=1" if build.machine_is_64bit else ''661 if build.crosscompile:
580 command = '%(path)s /DPACKAGE_NAME=%(package_name)s /DPRODUCT_VERSION=%(version)s /DQTDIR=%(qtpath)s /DWINLIB_PATH=%(winlibpath)s %(64bit)s build\\nsis\\Mixxx.nsi' % \662 buildwin64 = "-Dx64=1" if build.machine_is_64bit else ''
581 {'path': nsis_path,663 command = '%(path)s -DPACKAGE_NAME=%(package_name)s -DPRODUCT_VERSION=%(version)s -DQTDIR=%(qtpath)s %(64bit)s build/nsis/Mixxx.nsi' % \
582 'package_name': exe_name,664 {'path': nsis_path,
583 'version': mixxx_version,665 'package_name': exe_name,
584 'qtpath': os.environ['QTDIR'],666 'version': mixxx_version,
585 'winlibpath': mixxx_winlib_path,667 'qtpath': os.environ['QTDIR'],
586 '64bit': buildwin64}668 '64bit': buildwin64}
669 else:
670 buildwin64 = "/Dx64=1" if build.machine_is_64bit else ''
671 command = '%(path)s /DPACKAGE_NAME=%(package_name)s /DPRODUCT_VERSION=%(version)s /DQTDIR=%(qtpath)s /DWINLIB_PATH=%(winlibpath)s %(64bit)s build\\nsis\\Mixxx.nsi' % \
672 {'path': nsis_path,
673 'package_name': exe_name,
674 'version': mixxx_version,
675 'qtpath': os.environ['QTDIR'],
676 'winlibpath': mixxx_winlib_path,
677 '64bit': buildwin64}
587 print "Using command: " + command678 print "Using command: " + command
588 subprocess.check_call(command)679 subprocess.check_call(command)
589 else:680 else:
590681
=== modified file 'mixxx/src/analyserbeats.cpp'
--- mixxx/src/analyserbeats.cpp 2012-12-22 08:17:20 +0000
+++ mixxx/src/analyserbeats.cpp 2013-06-13 22:06:31 +0000
@@ -139,6 +139,7 @@
139 }139 }
140 qDebug() << "Beat calculation started with plugin" << pluginID;140 qDebug() << "Beat calculation started with plugin" << pluginID;
141141
142 #ifdef __VAMP__
142 m_pVamp = new VampAnalyser(m_pConfig);143 m_pVamp = new VampAnalyser(m_pConfig);
143 m_bShouldAnalyze = m_pVamp->Init(library, pluginID, m_iSampleRate, totalSamples,144 m_bShouldAnalyze = m_pVamp->Init(library, pluginID, m_iSampleRate, totalSamples,
144 m_bPreferencesFastAnalysis);145 m_bPreferencesFastAnalysis);
@@ -146,6 +147,7 @@
146 delete m_pVamp;147 delete m_pVamp;
147 m_pVamp = NULL;148 m_pVamp = NULL;
148 }149 }
150 #endif // __VAMP__
149 return m_bShouldAnalyze;151 return m_bShouldAnalyze;
150}152}
151153
@@ -239,6 +241,7 @@
239241
240242
241void AnalyserBeats::process(const CSAMPLE *pIn, const int iLen) {243void AnalyserBeats::process(const CSAMPLE *pIn, const int iLen) {
244 #ifdef __VAMP__
242 if (!m_bShouldAnalyze || m_pVamp == NULL)245 if (!m_bShouldAnalyze || m_pVamp == NULL)
243 return;246 return;
244 m_bShouldAnalyze = m_pVamp->Process(pIn, iLen);247 m_bShouldAnalyze = m_pVamp->Process(pIn, iLen);
@@ -246,6 +249,7 @@
246 delete m_pVamp;249 delete m_pVamp;
247 m_pVamp = NULL;250 m_pVamp = NULL;
248 }251 }
252 #endif // __VAMP__
249}253}
250254
251void AnalyserBeats::cleanup(TrackPointer tio)255void AnalyserBeats::cleanup(TrackPointer tio)
@@ -265,10 +269,12 @@
265269
266 // Call End() here, because the number of total samples may have been270 // Call End() here, because the number of total samples may have been
267 // estimated incorrectly.271 // estimated incorrectly.
272 QVector<double> beats;
273 #ifdef __VAMP__
268 bool success = m_pVamp->End();274 bool success = m_pVamp->End();
269 qDebug() << "Beat Calculation" << (success ? "complete" : "failed");275 qDebug() << "Beat Calculation" << (success ? "complete" : "failed");
270276
271 QVector<double> beats = m_pVamp->GetInitFramesVector();277 beats = m_pVamp->GetInitFramesVector();
272 delete m_pVamp;278 delete m_pVamp;
273 m_pVamp = NULL;279 m_pVamp = NULL;
274280
@@ -276,6 +282,7 @@
276 qDebug() << "Could not detect beat positions from Vamp.";282 qDebug() << "Could not detect beat positions from Vamp.";
277 return;283 return;
278 }284 }
285 #endif // __VAMP__
279286
280 QHash<QString, QString> extraVersionInfo;287 QHash<QString, QString> extraVersionInfo;
281 extraVersionInfo["vamp_plugin_id"] = m_pluginId;288 extraVersionInfo["vamp_plugin_id"] = m_pluginId;
282289
=== modified file 'mixxx/src/analyserqueue.cpp'
--- mixxx/src/analyserqueue.cpp 2013-05-18 16:23:08 +0000
+++ mixxx/src/analyserqueue.cpp 2013-06-13 22:06:31 +0000
@@ -404,8 +404,10 @@
404404
405 ret->addAnalyser(new AnalyserWaveform(_config));405 ret->addAnalyser(new AnalyserWaveform(_config));
406 ret->addAnalyser(new AnalyserGain(_config));406 ret->addAnalyser(new AnalyserGain(_config));
407 #ifdef __VAMP__
407 VampAnalyser::initializePluginPaths();408 VampAnalyser::initializePluginPaths();
408 ret->addAnalyser(new AnalyserBeats(_config));409 ret->addAnalyser(new AnalyserBeats(_config));
410 #endif // __VAMP__
409 //ret->addAnalyser(new AnalyserVampKeyTest(_config));411 //ret->addAnalyser(new AnalyserVampKeyTest(_config));
410412
411 ret->start(QThread::IdlePriority);413 ret->start(QThread::IdlePriority);
@@ -419,8 +421,10 @@
419421
420 ret->addAnalyser(new AnalyserWaveform(_config));422 ret->addAnalyser(new AnalyserWaveform(_config));
421 ret->addAnalyser(new AnalyserGain(_config));423 ret->addAnalyser(new AnalyserGain(_config));
424 #ifdef __VAMP__
422 VampAnalyser::initializePluginPaths();425 VampAnalyser::initializePluginPaths();
423 ret->addAnalyser(new AnalyserBeats(_config));426 ret->addAnalyser(new AnalyserBeats(_config));
427 #endif // __VAMP__
424 //ret->addAnalyser(new AnalyserVampKeyTest(_config));428 //ret->addAnalyser(new AnalyserVampKeyTest(_config));
425429
426 ret->start(QThread::IdlePriority);430 ret->start(QThread::IdlePriority);
427431
=== modified file 'mixxx/src/controllers/controllermanager.cpp'
--- mixxx/src/controllers/controllermanager.cpp 2013-03-16 21:58:40 +0000
+++ mixxx/src/controllers/controllermanager.cpp 2013-06-13 22:06:31 +0000
@@ -78,7 +78,9 @@
78 m_pPresetInfoManager = new PresetInfoEnumerator(m_pConfig);78 m_pPresetInfoManager = new PresetInfoEnumerator(m_pConfig);
7979
80 // Instantiate all enumerators80 // Instantiate all enumerators
81#ifdef __PORTMIDI__
81 m_enumerators.append(new PortMidiEnumerator());82 m_enumerators.append(new PortMidiEnumerator());
83#endif // __PORTMIDI__
82#ifdef __HSS1394__84#ifdef __HSS1394__
83 m_enumerators.append(new Hss1394Enumerator());85 m_enumerators.append(new Hss1394Enumerator());
84#endif86#endif
8587
=== modified file 'mixxx/src/dlgprefbeats.cpp'
--- mixxx/src/dlgprefbeats.cpp 2012-12-22 08:17:20 +0000
+++ mixxx/src/dlgprefbeats.cpp 2013-06-13 22:06:31 +0000
@@ -14,18 +14,24 @@
14#include <QVector>14#include <QVector>
15#include <QList>15#include <QList>
16#include <QtCore>16#include <QtCore>
17#ifdef __VAMP__
17#include <vamp-hostsdk/vamp-hostsdk.h>18#include <vamp-hostsdk/vamp-hostsdk.h>
19#endif // __VAMP__
1820
19#include "track/beat_preferences.h"21#include "track/beat_preferences.h"
20#include "controlobject.h"22#include "controlobject.h"
21#include "dlgprefbeats.h"23#include "dlgprefbeats.h"
24#ifdef __VAMP__
22#include "vamp/vampanalyser.h"25#include "vamp/vampanalyser.h"
26#endif // __VAMP__
2327
28#ifdef __VAMP__
24using Vamp::Plugin;29using Vamp::Plugin;
25using Vamp::PluginHostAdapter;30using Vamp::PluginHostAdapter;
26using Vamp::HostExt::PluginLoader;31using Vamp::HostExt::PluginLoader;
27using Vamp::HostExt::PluginWrapper;32using Vamp::HostExt::PluginWrapper;
28using Vamp::HostExt::PluginInputDomainAdapter;33using Vamp::HostExt::PluginInputDomainAdapter;
34#endif // __VAMP__
2935
30DlgPrefBeats::DlgPrefBeats(QWidget *parent, ConfigObject<ConfigValue> *_config)36DlgPrefBeats::DlgPrefBeats(QWidget *parent, ConfigObject<ConfigValue> *_config)
31 : QWidget(parent),37 : QWidget(parent),
@@ -225,6 +231,7 @@
225}231}
226232
227void DlgPrefBeats::populate() {233void DlgPrefBeats::populate() {
234#ifdef __VAMP__
228 VampAnalyser::initializePluginPaths();235 VampAnalyser::initializePluginPaths();
229 m_listIdentifier.clear();236 m_listIdentifier.clear();
230 m_listName.clear();237 m_listName.clear();
@@ -269,5 +276,6 @@
269 }276 }
270 }277 }
271 // m_selectedAnalyser = selectedAnalyser;278 // m_selectedAnalyser = selectedAnalyser;
279#endif // __VAMP__
272}280}
273281
274282
=== modified file 'mixxx/src/dlgprefbeats.h'
--- mixxx/src/dlgprefbeats.h 2012-12-22 08:17:20 +0000
+++ mixxx/src/dlgprefbeats.h 2013-06-13 22:06:31 +0000
@@ -10,7 +10,9 @@
10#include <QList>10#include <QList>
1111
12#include "ui_dlgprefbeatsdlg.h"12#include "ui_dlgprefbeatsdlg.h"
13#ifdef __VAMP__
13#include "vamp/vamppluginloader.h"14#include "vamp/vamppluginloader.h"
15#endif // __VAMP__
14#include "configobject.h"16#include "configobject.h"
1517
16class DlgPrefBeats : public QWidget, public Ui::DlgBeatsDlg {18class DlgPrefBeats : public QWidget, public Ui::DlgBeatsDlg {
1719
=== modified file 'mixxx/src/dlgpreferences.cpp'
--- mixxx/src/dlgpreferences.cpp 2013-05-12 10:15:29 +0000
+++ mixxx/src/dlgpreferences.cpp 2013-06-13 22:06:31 +0000
@@ -87,8 +87,10 @@
87 m_wcrossfader = new DlgPrefCrossfader(this, config);87 m_wcrossfader = new DlgPrefCrossfader(this, config);
88 addPageWidget(m_wcrossfader);88 addPageWidget(m_wcrossfader);
8989
90 #ifdef __VAMP__
90 m_wbeats = new DlgPrefBeats(this, config);91 m_wbeats = new DlgPrefBeats(this, config);
91 addPageWidget (m_wbeats);92 addPageWidget (m_wbeats);
93 #endif // __VAMP__
92 m_wreplaygain = new DlgPrefReplayGain(this, config);94 m_wreplaygain = new DlgPrefReplayGain(this, config);
93 addPageWidget(m_wreplaygain);95 addPageWidget(m_wreplaygain);
94 m_wrecord = new DlgPrefRecord(this, config);96 m_wrecord = new DlgPrefRecord(this, config);
9597
=== modified file 'mixxx/src/library/basesqltablemodel.cpp'
--- mixxx/src/library/basesqltablemodel.cpp 2013-05-22 19:42:09 +0000
+++ mixxx/src/library/basesqltablemodel.cpp 2013-06-13 22:06:31 +0000
@@ -201,10 +201,10 @@
201 // table query has succeeded. See Bug #1090888.201 // table query has succeeded. See Bug #1090888.
202 // TODO(rryan) we could edit the table in place instead of clearing it?202 // TODO(rryan) we could edit the table in place instead of clearing it?
203 if (m_rowInfo.size() > 0) {203 if (m_rowInfo.size() > 0) {
204 beginRemoveRows(QModelIndex(), 0, m_rowInfo.size()-1);204 beginResetModel();
205 m_rowInfo.clear();205 m_rowInfo.clear();
206 m_trackIdToRows.clear();206 m_trackIdToRows.clear();
207 endRemoveRows();207 endResetModel();
208 }208 }
209209
210 QSqlRecord record = query.record();210 QSqlRecord record = query.record();
211211
=== modified file 'mixxx/src/library/browse/foldertreemodel.cpp'
--- mixxx/src/library/browse/foldertreemodel.cpp 2012-07-18 21:22:53 +0000
+++ mixxx/src/library/browse/foldertreemodel.cpp 2013-06-13 22:06:31 +0000
@@ -1,7 +1,7 @@
1#if defined (__WINDOWS__)1#if defined (__WINDOWS__)
2#include <windows.h>2#include <windows.h>
3#include <Shellapi.h>3#include <shellapi.h>
4#include <Shobjidl.h>4#include <shlobj.h>
5#else5#else
6#include <sys/types.h>6#include <sys/types.h>
7#include <sys/stat.h>7#include <sys/stat.h>
88
=== modified file 'mixxx/src/library/treeitemmodel.cpp'
--- mixxx/src/library/treeitemmodel.cpp 2013-05-22 19:14:25 +0000
+++ mixxx/src/library/treeitemmodel.cpp 2013-06-13 22:06:31 +0000
@@ -138,6 +138,9 @@
138 * make sure you have initialized138 * make sure you have initialized
139 */139 */
140bool TreeItemModel::insertRows(QList<TreeItem*> &data, int position, int rows, const QModelIndex &parent) {140bool TreeItemModel::insertRows(QList<TreeItem*> &data, int position, int rows, const QModelIndex &parent) {
141 if (rows == 0)
142 return true;
143
141 TreeItem *parentItem = getItem(parent);144 TreeItem *parentItem = getItem(parent);
142 bool success;145 bool success;
143146
@@ -149,6 +152,9 @@
149}152}
150153
151bool TreeItemModel::removeRows(int position, int rows, const QModelIndex &parent) {154bool TreeItemModel::removeRows(int position, int rows, const QModelIndex &parent) {
155 if (rows == 0)
156 return true;
157
152 TreeItem *parentItem = getItem(parent);158 TreeItem *parentItem = getItem(parent);
153 bool success = true;159 bool success = true;
154160
155161
=== modified file 'mixxx/src/sampleutil.cpp'
--- mixxx/src/sampleutil.cpp 2011-12-08 11:47:54 +0000
+++ mixxx/src/sampleutil.cpp 2013-06-13 22:06:31 +0000
@@ -7,8 +7,9 @@
77
8#ifdef __WINDOWS__8#ifdef __WINDOWS__
9#pragma intrinsic(fabs)sc9#pragma intrinsic(fabs)sc
10typedef __int64 int64_t;10#include <QtGlobal>
11typedef __int32 int32_t;11typedef qint64 int64_t;
12typedef qint32 int32_t;
12#endif13#endif
1314
14#include <QtDebug>15#include <QtDebug>
1516
=== modified file 'mixxx/src/util/stat.h'
--- mixxx/src/util/stat.h 2012-12-24 09:54:25 +0000
+++ mixxx/src/util/stat.h 2013-06-13 22:06:31 +0000
@@ -5,7 +5,7 @@
5#include <QVector>5#include <QVector>
6#include <QString>6#include <QString>
77
8class StatReport;8struct StatReport;
99
10class Stat {10class Stat {
11 public:11 public:
1212
=== modified file 'mixxx/src/vamp/vampanalyser.h'
--- mixxx/src/vamp/vampanalyser.h 2012-04-12 05:48:40 +0000
+++ mixxx/src/vamp/vampanalyser.h 2013-06-13 22:06:31 +0000
@@ -11,9 +11,10 @@
11#include <QString>11#include <QString>
12#include <QList>12#include <QList>
13#include <QVector>13#include <QVector>
14#ifdef __VAMP__
14#include <vamp-hostsdk/vamp-hostsdk.h>15#include <vamp-hostsdk/vamp-hostsdk.h>
15
16#include "vamp/vamppluginloader.h"16#include "vamp/vamppluginloader.h"
17#endif // __VAMP__
17#include "sampleutil.h"18#include "sampleutil.h"
18#include "configobject.h"19#include "configobject.h"
1920
@@ -43,6 +44,7 @@
43 private:44 private:
44 void SelectOutput(const int outputnumber);45 void SelectOutput(const int outputnumber);
4546
47 #ifdef __VAMP__
46 Vamp::HostExt::PluginLoader::PluginKey m_key;48 Vamp::HostExt::PluginLoader::PluginKey m_key;
47 int m_iSampleCount, m_iOUT, m_iRemainingSamples,49 int m_iSampleCount, m_iOUT, m_iRemainingSamples,
48 m_iBlockSize, m_iStepSize, m_rate, m_iOutput;50 m_iBlockSize, m_iStepSize, m_rate, m_iOutput;
@@ -50,6 +52,7 @@
50 Vamp::Plugin *m_plugin;52 Vamp::Plugin *m_plugin;
51 Vamp::Plugin::ParameterList mParameters;53 Vamp::Plugin::ParameterList mParameters;
52 Vamp::Plugin::FeatureList m_Results;54 Vamp::Plugin::FeatureList m_Results;
55 #endif // __VAMP__
5356
54 bool m_bDoNotAnalyseMoreSamples;57 bool m_bDoNotAnalyseMoreSamples;
55 bool m_FastAnalysisEnabled;58 bool m_FastAnalysisEnabled;
5659
=== modified file 'mixxx/src/widget/wspinny.cpp'
--- mixxx/src/widget/wspinny.cpp 2013-05-19 09:50:56 +0000
+++ mixxx/src/widget/wspinny.cpp 2013-06-13 22:06:31 +0000
@@ -349,6 +349,7 @@
349void WSpinny::updateVinylControlSignalEnabled(double enabled) {349void WSpinny::updateVinylControlSignalEnabled(double enabled) {
350 m_bSignalActive = enabled;350 m_bSignalActive = enabled;
351351
352#ifdef __VINYLCONTROL__
352 if (enabled && m_iVinylInput != -1) {353 if (enabled && m_iVinylInput != -1) {
353 m_pVCManager->addSignalQualityListener(this);354 m_pVCManager->addSignalQualityListener(this);
354 } else {355 } else {
@@ -356,6 +357,10 @@
356 // fill with transparent black357 // fill with transparent black
357 m_qImage.fill(qRgba(0,0,0,0));358 m_qImage.fill(qRgba(0,0,0,0));
358 }359 }
360#else // __VINYLCONTROL__
361 // fill with transparent black
362 m_qImage.fill(qRgba(0,0,0,0));
363#endif // __VINYLCONTROL__
359}364}
360365
361void WSpinny::updateVinylControlEnabled(double enabled) {366void WSpinny::updateVinylControlEnabled(double enabled) {
@@ -470,16 +475,21 @@
470void WSpinny::showEvent(QShowEvent* event) {475void WSpinny::showEvent(QShowEvent* event) {
471 // If we want to draw the VC signal on this widget then register for476 // If we want to draw the VC signal on this widget then register for
472 // updates.477 // updates.
478 #ifdef __VINYLCONTROL__
473 if (m_bSignalActive && m_iVinylInput != -1 && m_pVCManager) {479 if (m_bSignalActive && m_iVinylInput != -1 && m_pVCManager) {
474 m_pVCManager->addSignalQualityListener(this);480 m_pVCManager->addSignalQualityListener(this);
475 }481 }
482 #endif // __VINYLCONTROL__
476}483}
477484
478void WSpinny::hideEvent(QHideEvent* event) {485void WSpinny::hideEvent(QHideEvent* event) {
479 // When we are hidden we do not want signal quality updates.486 // When we are hidden we do not want signal quality updates.
487 #ifdef __VINYLCONTROL__
480 if (m_pVCManager) {488 if (m_pVCManager) {
481 m_pVCManager->removeSignalQualityListener(this);489 m_pVCManager->removeSignalQualityListener(this);
482 }490 }
491 #endif // __VINYLCONTROL__
492
483 // fill with transparent black493 // fill with transparent black
484 m_qImage.fill(qRgba(0,0,0,0));494 m_qImage.fill(qRgba(0,0,0,0));
485}495}
486496
=== modified file 'mixxx/vamp-plugins/SConscript'
--- mixxx/vamp-plugins/SConscript 2013-06-13 02:53:33 +0000
+++ mixxx/vamp-plugins/SConscript 2013-06-13 22:06:31 +0000
@@ -67,7 +67,7 @@
67 env = conf.Finish()67 env = conf.Finish()
68 if build.platform_is_linux:68 if build.platform_is_linux:
69 env["LINKFLAGS"].append("-Wl,--version-script=vamp-plugins/vamp-plugin.map")69 env["LINKFLAGS"].append("-Wl,--version-script=vamp-plugins/vamp-plugin.map")
70 if build.platform_is_windows:70 if build.platform_is_windows and not build.crosscompile:
71 env["LINKFLAGS"].remove("/entry:mainCRTStartup")71 env["LINKFLAGS"].remove("/entry:mainCRTStartup")
72 env["LINKFLAGS"].append("/EXPORT:vampGetPluginDescriptor")72 env["LINKFLAGS"].append("/EXPORT:vampGetPluginDescriptor")
73 #this will reduce DLL dependencies; no need to depend on MSVCRT.dll, etc73 #this will reduce DLL dependencies; no need to depend on MSVCRT.dll, etc
7474
=== modified file 'mixxx/vamp-plugins/dsp/DownBeat.h'
--- mixxx/vamp-plugins/dsp/DownBeat.h 2011-10-30 19:57:22 +0000
+++ mixxx/vamp-plugins/dsp/DownBeat.h 2013-06-13 22:06:31 +0000
@@ -18,7 +18,7 @@
1818
19#include <vector>19#include <vector>
2020
21#ifdef __LINUX__21#ifdef __GNUC__
22#include <stddef.h> //resolves size_t compile error on Ubuntu 11.1022#include <stddef.h> //resolves size_t compile error on Ubuntu 11.10
23#endif23#endif
2424
2525
=== modified file 'mixxx/vamp-plugins/dsp/GetKeyMode.h'
--- mixxx/vamp-plugins/dsp/GetKeyMode.h 2012-07-07 23:09:24 +0000
+++ mixxx/vamp-plugins/dsp/GetKeyMode.h 2013-06-13 22:06:31 +0000
@@ -39,7 +39,7 @@
39 #ifdef WIN6439 #ifdef WIN64
40 #define lrint(dbl) ((int)(dbl))40 #define lrint(dbl) ((int)(dbl))
41 #define lrintf(flt) ((int)(flt))41 #define lrintf(flt) ((int)(flt))
42 #else42 #elif !defined (__GNUC__)
4343
44 /* Win32 doesn't seem to have these functions. 44 /* Win32 doesn't seem to have these functions.
45 ** Therefore implement inline versions of them here.45 ** Therefore implement inline versions of them here.
4646
=== modified file 'mixxx/vamp-plugins/dsp/TempoTrackV2.h'
--- mixxx/vamp-plugins/dsp/TempoTrackV2.h 2011-10-30 19:57:22 +0000
+++ mixxx/vamp-plugins/dsp/TempoTrackV2.h 2013-06-13 22:06:31 +0000
@@ -18,7 +18,7 @@
18#define TEMPOTRACKV2_H18#define TEMPOTRACKV2_H
1919
20#include <vector>20#include <vector>
21#ifdef __LINUX__21#ifdef __GNUC__
22#include <stddef.h> //resolves size_t compile error on Ubuntu 11.1022#include <stddef.h> //resolves size_t compile error on Ubuntu 11.10
23#endif23#endif
2424