Skip to content

Commit

Permalink
Delete most VAMP code and move Queen Mary DSP library to lib/qm-dsp.
Browse files Browse the repository at this point in the history
  • Loading branch information
rryan committed Jan 31, 2016
1 parent f8fa369 commit 2147838
Show file tree
Hide file tree
Showing 105 changed files with 36 additions and 12,007 deletions.
11 changes: 1 addition & 10 deletions SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ available_features = [features.Mad,
features.WavPack,
features.ModPlug,
features.TestSuite,
features.Vamp,
features.AutoDjCrates,
features.ColorDiagnostics,
features.AddressSanitizer,
Expand Down Expand Up @@ -90,18 +89,10 @@ soundsource_plugins = SConscript(
File('plugins/SConscript'), variant_dir=Dir(build.build_dir + "/plugins"),
duplicate=0, exports=['build'])

#Build Vamp minimal plugins
#VariantDir("vamp-plugins", "src", duplicate=0)
mixxxminimal_depends = [ depends.SoundTouch ]
mixxxminimal_plugins = SConscript(
File('vamp-plugins/SConscript'),
variant_dir=Dir(build.build_dir + "/vamp-plugins"),
duplicate=0, exports=['build', 'mixxxminimal_depends'])

# Setup and build the "mixxx" executable target. Also sets up our install
# targets for each platform.
SConscript(File('src/SConscript'), variant_dir=Dir(build.build_dir), duplicate=0,
exports=['build', 'sources', 'soundsource_plugins', 'mixxxminimal_plugins'])
exports=['build', 'sources', 'soundsource_plugins'])

#On OS X, if the bundle has been built, copy it up:
#Command("Mixxx.app", os.path.join(build.build_dir, "Mixxx.app"), Copy("$TARGET", "$SOURCE"))
1 change: 0 additions & 1 deletion build/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ Build-Depends: debhelper (>= 4.0.0),
libtag1-dev,
libshout-dev,
libqtwebkit-dev,
vamp-plugin-sdk,
libprotobuf-dev,
protobuf-compiler,
libusb-1.0-0-dev,
Expand Down
36 changes: 35 additions & 1 deletion build/depends.py
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,36 @@ def configure(self, build, conf, env=None):
"Could not find librubberband or its development headers.")


class QueenMaryDsp(Dependence):
def sources(self, build):
return ["#lib/qm-dsp/ChangeDetectionFunction.cpp",
"#lib/qm-dsp/DownBeat.cpp",
"#lib/qm-dsp/PeakPicking.cpp",
"#lib/qm-dsp/Chromagram.cpp",
"#lib/qm-dsp/FFT.cpp",
"#lib/qm-dsp/PhaseVocoder.cpp",
"#lib/qm-dsp/ConstantQ.cpp",
"#lib/qm-dsp/Filter.cpp",
"#lib/qm-dsp/Pitch.cpp",
"#lib/qm-dsp/Correlation.cpp",
"#lib/qm-dsp/FiltFilt.cpp",
"#lib/qm-dsp/TCSgram.cpp",
"#lib/qm-dsp/CQprecalc.cpp",
"#lib/qm-dsp/Framer.cpp",
"#lib/qm-dsp/TempoTrack.cpp",
"#lib/qm-dsp/Decimator.cpp",
"#lib/qm-dsp/GetKeyMode.cpp",
"#lib/qm-dsp/TempoTrackV2.cpp",
"#lib/qm-dsp/DetectionFunction.cpp",
"#lib/qm-dsp/KLDivergence.cpp",
"#lib/qm-dsp/TonalEstimator.cpp",
"#lib/qm-dsp/DFProcess.cpp",
"#lib/qm-dsp/MathUtilities.cpp"]

def configure(self, build, conf):
build.env.Append(CPPPATH="#lib/qm-dsp")


class TagLib(Dependence):
def configure(self, build, conf):
libs = ['tag']
Expand Down Expand Up @@ -575,6 +605,8 @@ def sources(self, build):
"preferences/dialog/dlgprefsound.cpp",
"preferences/dialog/dlgprefsounditem.cpp",
"preferences/dialog/dlgprefwaveform.cpp",
'preferences/dialog/dlgprefbeats.cpp',
'preferences/dialog/dlgprefkey.cpp',
"preferences/settingsmanager.cpp",
"preferences/upgrade.cpp",
"preferences/dlgpreferencepage.cpp",
Expand Down Expand Up @@ -667,6 +699,8 @@ def sources(self, build):
"analyzer/analyzerqueue.cpp",
"analyzer/analyzerwaveform.cpp",
"analyzer/analyzergain.cpp",
'analyzer/analyzerbeats.cpp',
'analyzer/analyzerkey.cpp',

"controllers/controller.cpp",
"controllers/controllerengine.cpp",
Expand Down Expand Up @@ -1260,7 +1294,7 @@ def depends(self, build):
return [SoundTouch, ReplayGain, PortAudio, PortMIDI, Qt, TestHeaders,
FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf,
Chromaprint, RubberBand, SecurityFramework, CoreServices,
QtScriptByteArray, Reverb, FpClassify]
QtScriptByteArray, Reverb, FpClassify, QueenMaryDsp]

def post_dependency_check_configure(self, build, conf):
"""Sets up additional things in the Environment that must happen
Expand Down
64 changes: 0 additions & 64 deletions build/features.py
Original file line number Diff line number Diff line change
Expand Up @@ -358,70 +358,6 @@ def sources(self, build):
return sources


class Vamp(Feature):
INTERNAL_LINK = False
INTERNAL_VAMP_PATH = '#lib/vamp-2.3'

def description(self):
return "Vamp Analyzer support"

def enabled(self, build):
build.flags['vamp'] = util.get_flags(build.env, 'vamp', 1)
if int(build.flags['vamp']):
return True
return False

def add_options(self, build, vars):
vars.Add('vamp', 'Set to 1 to enable vamp analysers', 1)

def configure(self, build, conf):
if not self.enabled(build):
return

build.env.Append(CPPDEFINES='__VAMP__')

# If there is no system vamp-hostdk installed, then we'll directly link
# the vamp-hostsdk.
if not conf.CheckLib(['vamp-hostsdk']):
# For header includes
build.env.Append(CPPPATH=[self.INTERNAL_VAMP_PATH])
self.INTERNAL_LINK = True

# Needed on Linux at least. Maybe needed elsewhere?
if build.platform_is_linux:
# Optionally link libdl Required for some distros.
conf.CheckLib(['dl', 'libdl'])

# FFTW3 support
have_fftw3_h = conf.CheckHeader('fftw3.h')
have_fftw3 = conf.CheckLib('fftw3', autoadd=False)
if have_fftw3_h and have_fftw3 and build.platform_is_linux:
build.env.Append(CPPDEFINES='HAVE_FFTW3')
build.env.ParseConfig(
'pkg-config fftw3 --silence-errors --cflags --libs')

def sources(self, build):
sources = ['analyzer/vamp/vampanalyzer.cpp',
'analyzer/vamp/vamppluginloader.cpp',
'analyzer/analyzerbeats.cpp',
'analyzer/analyzerkey.cpp',
'preferences/dialog/dlgprefbeats.cpp',
'preferences/dialog/dlgprefkey.cpp']

if self.INTERNAL_LINK:
hostsdk_src_path = '%s/src/vamp-hostsdk' % self.INTERNAL_VAMP_PATH
sources.extend(path % hostsdk_src_path for path in
['%s/PluginBufferingAdapter.cpp',
'%s/PluginChannelAdapter.cpp',
'%s/PluginHostAdapter.cpp',
'%s/PluginInputDomainAdapter.cpp',
'%s/PluginLoader.cpp',
'%s/PluginSummarisingAdapter.cpp',
'%s/PluginWrapper.cpp',
'%s/RealTime.cpp'])
return sources


class ModPlug(Feature):
def description(self):
return "Modplug module decoder plugin"
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 2147838

Please sign in to comment.