summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor_timefx.cc2
-rw-r--r--libs/ardour/rb_effect.cc2
-rw-r--r--libs/ardour/wscript11
-rw-r--r--libs/pbd/wscript6
-rw-r--r--libs/rubberband/SConscript2
-rw-r--r--libs/rubberband/src/FFT.cpp2
-rw-r--r--libs/rubberband/wscript64
-rw-r--r--wscript1
8 files changed, 80 insertions, 10 deletions
diff --git a/gtk2_ardour/editor_timefx.cc b/gtk2_ardour/editor_timefx.cc
index 19d574db27..e31ce4d955 100644
--- a/gtk2_ardour/editor_timefx.cc
+++ b/gtk2_ardour/editor_timefx.cc
@@ -46,7 +46,7 @@
#include "ardour/pitch.h"
#ifdef USE_RUBBERBAND
-#include <rubberband/RubberBandStretcher.h>
+#include "rubberband/RubberBandStretcher.h"
using namespace RubberBand;
#endif
diff --git a/libs/ardour/rb_effect.cc b/libs/ardour/rb_effect.cc
index b709c9bd1f..3cda2eb706 100644
--- a/libs/ardour/rb_effect.cc
+++ b/libs/ardour/rb_effect.cc
@@ -21,7 +21,7 @@
#include <cmath>
#include "pbd/error.h"
-#include <rubberband/RubberBandStretcher.h>
+#include "rubberband/RubberBandStretcher.h"
#include "ardour/types.h"
#include "ardour/stretch.h"
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 564c611d63..3001d063d3 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -38,8 +38,9 @@ def configure(conf):
autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.0')
autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18')
- autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18')
- autowaf.check_pkg(conf, 'soundtouch-1.0', uselib_store='SOUNDTOUCH')
+ #autowaf.check_pkg(conf, 'soundtouch-1.0', uselib_store='SOUNDTOUCH')
+
+ conf.env.append_value('CXXFLAGS', '-DUSE_RUBBERBAND')
check_header_and_define(conf, 'sys/vfs.h', 'HAVE_SYS_VFS_H')
check_header_and_define(conf, 'wordexp.h', 'HAVE_WORDEXP')
@@ -215,8 +216,10 @@ def build(bld):
os.path.normpath(bld.env['DATADIRNAME']), 'locale') + '\\\"'
obj.cxxflags += ' -DVAMP_DIR=\\\"' + os.path.join(
os.path.normpath(bld.env['LIBDIRNAME']), 'ardour3', 'vamp') + '\\\"'
- obj.source += ' st_stretch.cc st_pitch.cc '
- obj.uselib += ' SOUNDTOUCH '
+ obj.source += ' rb_effect.cc '
+ obj.uselib_local += ' librubberband '
+ #obj.source += ' st_stretch.cc st_pitch.cc '
+ #obj.uselib += ' SOUNDTOUCH '
def shutdown():
autowaf.shutdown()
diff --git a/libs/pbd/wscript b/libs/pbd/wscript
index b5e0bce088..a523956617 100644
--- a/libs/pbd/wscript
+++ b/libs/pbd/wscript
@@ -77,15 +77,15 @@ def build(bld):
xml++.cc
'''
obj.export_incdirs = ['.']
- obj.cxxflags = '-DPACKAGE=\\\"libpbd\\\"'
- if bld.env['PBD_HAVE_EXECINFO']:
- obj.cxxflags += ' -DHAVE_EXECINFO '
obj.includes = ['.']
obj.name = 'libpbd'
obj.target = 'pbd'
obj.uselib = 'GLIBMM SIGCPP XML UUID'
obj.vnum = LIBPBD_LIB_VERSION
obj.install_path = ''
+ obj.cxxflags = '-DPACKAGE=\\\"libpbd\\\"'
+ if bld.env['PBD_HAVE_EXECINFO']:
+ obj.cxxflags += ' -DHAVE_EXECINFO '
def shutdown():
autowaf.shutdown()
diff --git a/libs/rubberband/SConscript b/libs/rubberband/SConscript
index adad16a8b3..9c3226526c 100644
--- a/libs/rubberband/SConscript
+++ b/libs/rubberband/SConscript
@@ -10,7 +10,7 @@ Import('env install_prefix libraries')
rb = env.Clone()
rb.Merge ([libraries['fftw3f'],
- libraries['fftw3'],
+ libraries['fftw3'],
libraries['vamp'],
libraries['samplerate'],
libraries['sndfile']
diff --git a/libs/rubberband/src/FFT.cpp b/libs/rubberband/src/FFT.cpp
index 98201350a2..077c2c57a4 100644
--- a/libs/rubberband/src/FFT.cpp
+++ b/libs/rubberband/src/FFT.cpp
@@ -18,7 +18,9 @@
//#define FFT_MEASUREMENT 1
+#ifndef HAVE_FFTW3
#define HAVE_FFTW3 // for Ardour
+#endif
#ifdef HAVE_FFTW3
#include <fftw3.h>
diff --git a/libs/rubberband/wscript b/libs/rubberband/wscript
new file mode 100644
index 0000000000..d43ec08c16
--- /dev/null
+++ b/libs/rubberband/wscript
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+import autowaf
+import glob
+
+# Version of this package (even if built as a child)
+LIBRUBBERBAND_VERSION = '0.0.0'
+
+# Library version (UNIX style major, minor, micro)
+# major increment <=> incompatible changes
+# minor increment <=> compatible changes (additions)
+# micro increment <=> no interface changes
+LIBRUBBERBAND_LIB_VERSION = '4.1.0'
+
+# Variables for 'waf dist'
+APPNAME = 'librubberband'
+VERSION = LIBRUBBERBAND_VERSION
+
+# Mandatory variables
+srcdir = '.'
+blddir = 'build'
+
+def set_options(opt):
+ autowaf.set_options(opt)
+
+def configure(conf):
+ autowaf.configure(conf)
+ autowaf.check_tool(conf, 'compiler_cxx')
+ autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML')
+ autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
+ autowaf.check_pkg(conf, 'uuid', uselib_store='UUID')
+
+ conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT')
+
+ # This must be defined for librubberband only, it breaks ardour
+ conf.check(header_name='execinfo.h', define_name='PBD_HAVE_EXECINFO')
+
+ conf.env.append_value('CXXFLAGS', '-DHAVE_WAFCONFIG_H')
+ conf.write_config_header('wafconfig.h')
+
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+
+def build(bld):
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ prefix = 'libs/rubberband/'
+ sources = glob.glob(prefix + 'src/*.cpp')
+ obj.source = [ ]
+ for i in sources:
+ obj.source += [ i.replace(prefix, '') ]
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', 'rubberband']
+ obj.name = 'librubberband'
+ obj.target = 'rubberband'
+ obj.uselib = 'FFTW3 FFTW3F SAMPLERATE SNDFILE'
+ obj.uselib_local = 'libvamp'
+ obj.vnum = LIBRUBBERBAND_LIB_VERSION
+ obj.install_path = ''
+ obj.cxxflags = '-DPACKAGE=\\\"librubberband\\\"'
+
+def shutdown():
+ autowaf.shutdown()
+
diff --git a/wscript b/wscript
index c3fe34452e..332e9907cf 100644
--- a/wscript
+++ b/wscript
@@ -15,6 +15,7 @@ children = [
'libs/evoral',
'libs/vamp-sdk',
'libs/taglib',
+ 'libs/rubberband',
'libs/surfaces',
'libs/ardour',
'libs/gtkmm2ext',