Merge branch 'master' into feature/pitchshift
authorPaul Brossier <piem@piem.org>
Wed, 5 Dec 2018 21:34:39 +0000 (22:34 +0100)
committerPaul Brossier <piem@piem.org>
Wed, 5 Dec 2018 21:34:39 +0000 (22:34 +0100)
1  2 
.travis.yml
python/lib/gen_code.py
python/lib/moresetuptools.py
src/aubio.h
src/wscript_build
wscript

diff --cc .travis.yml
@@@ -49,7 -33,7 +33,7 @@@ matrix
      - language: C
        os: osx
        compiler: clang
-       env: ARCH=i386 HAVE_DOUBLE=1
 -      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
++      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile --disable-samplerate --disable-rubberband"
      - language: C
        os: osx
        compiler: clang
@@@ -68,8 -60,15 +60,18 @@@ addons
      - libjack-dev
      - libasound2-dev
      - libfftw3-dev
 +    - librubberband-dev
      - sox
+     - lcov
+   homebrew:
+     packages:
+     - sox
+     - ffmpeg
+     - libsndfile
++    - libsamplerate
++    - rubberband
+     - lcov
+     #update: true
  
  before_install:
     - |
@@@ -83,7 -83,7 +84,8 @@@ objoutsize = 
          'tempo': '1',
          'filterbank': 'self->n_filters',
          'tss': 'self->buf_size',
 +        'pitchshift': 'self->hop_size',
+         'dct': 'self->size',
          }
  
  objinputsize = {
@@@ -69,14 -73,19 +73,21 @@@ def add_local_macros(ext, usedouble = F
                           'HAVE_MEMCPY_HACKS']:
          ext.define_macros += [(define_macro, 1)]
  
+ def add_external_deps(ext, usedouble = False):
      # loof for additional packages
      print("Info: looking for *optional* additional packages")
-     packages = ['libavcodec', 'libavformat', 'libavutil', 'libavresample',
+     packages = ['libavcodec', 'libavformat', 'libavutil',
+                 'libswresample', 'libavresample',
 +                'jack',
-                 'sndfile', 'samplerate',
+                 'sndfile',
 +                'rubberband',
                  #'fftw3f',
                 ]
+     # samplerate only works with float
+     if usedouble is False:
+         packages += ['samplerate']
+     else:
+         print("Info: not adding libsamplerate in double precision mode")
      add_packages(packages, ext=ext)
      if 'avcodec' in ext.libraries \
              and 'avformat' in ext.libraries \
diff --cc src/aubio.h
Simple merge
@@@ -3,11 -3,12 +3,13 @@@
  uselib = []
  uselib += ['M']
  uselib += ['FFTW3', 'FFTW3F']
+ uselib += ['INTEL_IPP']
  uselib += ['SAMPLERATE']
  uselib += ['SNDFILE']
 +uselib += ['RUBBERBAND']
  uselib += ['AVCODEC']
  uselib += ['AVFORMAT']
+ uselib += ['SWRESAMPLE']
  uselib += ['AVRESAMPLE']
  uselib += ['AVUTIL']
  uselib += ['BLAS']
diff --cc wscript
+++ b/wscript
@@@ -258,17 -367,19 +370,25 @@@ def configure(ctx)
                  mandatory = ctx.options.enable_sndfile)
  
      # check for libsamplerate
+     if (ctx.options.enable_double):
+         if (ctx.options.enable_samplerate):
+             ctx.fatal("Could not compile aubio in double precision mode' \
+                     ' with libsamplerate")
+         else:
+             ctx.options.enable_samplerate = False
+             ctx.msg('Checking if using samplerate',
+                     'no (disabled in double precision mode)', color = 'YELLOW')
      if (ctx.options.enable_samplerate != False):
-         ctx.check_cfg(package = 'samplerate', atleast_version = '0.0.15',
-                 args = '--cflags --libs',
+         ctx.check_cfg(package = 'samplerate',
+                 args = '--cflags --libs samplerate >= 0.0.15',
                  mandatory = ctx.options.enable_samplerate)
  
 +    # check for librubberband
 +    if (ctx.options.enable_rubberband != False):
 +        ctx.check_cfg(package = 'rubberband', atleast_version = '1.3',
 +                args = '--cflags --libs',
 +                mandatory = ctx.options.enable_rubberband)
 +
      # check for jack
      if (ctx.options.enable_jack != False):
          ctx.check_cfg(package = 'jack',