changeset 122:edbec47f4a3d

Build stuff
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 15 May 2014 14:36:10 +0100
parents 2375457f2876
children e5c36c054c48
files Makefile.inc src/dsp/FFT.cpp src/dsp/KaiserWindow.cpp src/dsp/Resampler.cpp
diffstat 4 files changed, 20 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.inc	Thu May 15 14:23:42 2014 +0100
+++ b/Makefile.inc	Thu May 15 14:36:10 2014 +0100
@@ -3,6 +3,7 @@
 INC_DIR	  := cq
 TEST_DIR  := test
 VAMP_DIR  := vamp
+KFFT_DIR  := src/ext/kissfft
 
 VAMPSDK_DIR  ?= ../vamp-plugin-sdk
 
@@ -11,8 +12,9 @@
 CXX	?= g++
 CC	?= gcc
 
-CFLAGS := $(CFLAGS) 
-CXXFLAGS := -I. -I$(VAMPSDK_DIR) -I$(INC_DIR) -I$(LIB_DIR) $(CXXFLAGS)
+GENERAL_FLAGS	:= -I. -I$(VAMPSDK_DIR) -I$(INC_DIR) -I$(LIB_DIR) -I$(KFFT_DIR) -I$(KFFT_DIR)/tools -Dkiss_fft_scalar=double
+CFLAGS := $(GENERAL_FLAGS) $(CFLAGS) 
+CXXFLAGS := $(GENERAL_FLAGS) $(CXXFLAGS)
 
 LDFLAGS := $(LDFLAGS) 
 PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS)
@@ -23,8 +25,8 @@
 TEST	:= $(TEST_DIR)/test
 PF	:= $(TEST_DIR)/processfile
 
-LIB_HEADERS := $(INC_DIR)/CQBase.h $(LIB_DIR)/CQKernel.h $(INC_DIR)/ConstantQ.h $(INC_DIR)/CQSpectrogram.h $(INC_DIR)/CQInverse.h
-LIB_SOURCES := $(LIB_DIR)/CQKernel.cpp $(LIB_DIR)/ConstantQ.cpp $(LIB_DIR)/CQSpectrogram.cpp $(LIB_DIR)/CQInverse.cpp
+LIB_HEADERS := $(INC_DIR)/CQBase.h $(LIB_DIR)/CQKernel.h $(INC_DIR)/ConstantQ.h $(INC_DIR)/CQSpectrogram.h $(INC_DIR)/CQInverse.h $(LIB_DIR)/dsp/FFT.h $(LIB_DIR)/dsp/KaiserWindow.h $(LIB_DIR)/dsp/MathUtilities.h $(LIB_DIR)/dsp/nan-inf.h $(LIB_DIR)/dsp/Resampler.h $(LIB_DIR)/dsp/SincWindow.h $(LIB_DIR)/dsp/Window.h $(KFFT_DIR)/kiss_fft.h $(KFFT_DIR)/tools/kiss_fftr.h
+LIB_SOURCES := $(LIB_DIR)/CQKernel.cpp $(LIB_DIR)/ConstantQ.cpp $(LIB_DIR)/CQSpectrogram.cpp $(LIB_DIR)/CQInverse.cpp $(LIB_DIR)/dsp/FFT.cpp $(LIB_DIR)/dsp/KaiserWindow.cpp $(LIB_DIR)/dsp/MathUtilities.cpp $(LIB_DIR)/dsp/Resampler.cpp $(LIB_DIR)/dsp/SincWindow.cpp $(KFFT_DIR)/kiss_fft.c $(KFFT_DIR)/tools/kiss_fftr.c
 
 VAMP_HEADERS := $(VAMP_DIR)/CQVamp.h $(VAMP_DIR)/CQChromaVamp.h $(VAMP_DIR)/Pitch.h
 VAMP_SOURCES := $(VAMP_DIR)/CQVamp.cpp $(VAMP_DIR)/CQChromaVamp.cpp $(VAMP_DIR)/libmain.cpp $(VAMP_DIR)/Pitch.cpp
@@ -32,6 +34,7 @@
 HEADERS	     := $(LIB_HEADERS) $(VAMP_HEADERS)
 SOURCES	     := $(LIB_SOURCES) $(VAMP_SOURCES)
 OBJECTS	     := $(SOURCES:.cpp=.o)
+OBJECTS	     := $(OBJECTS:.c=.o)
 
 TEST_SOURCES := $(TEST_DIR)/test.cpp 
 TEST_OBJECTS := $(TEST_SOURCES:.cpp=.o) $(OBJECTS)
--- a/src/dsp/FFT.cpp	Thu May 15 14:23:42 2014 +0100
+++ b/src/dsp/FFT.cpp	Thu May 15 14:36:10 2014 +0100
@@ -31,7 +31,7 @@
 
 #include "FFT.h"
 
-#include "maths/MathUtilities.h"
+#include "MathUtilities.h"
 
 #include "kiss_fft.h"
 #include "kiss_fftr.h"
--- a/src/dsp/KaiserWindow.cpp	Thu May 15 14:23:42 2014 +0100
+++ b/src/dsp/KaiserWindow.cpp	Thu May 15 14:36:10 2014 +0100
@@ -31,7 +31,7 @@
 
 #include "KaiserWindow.h"
 
-#include "maths/MathUtilities.h"
+#include "MathUtilities.h"
 
 KaiserWindow::Parameters
 KaiserWindow::parametersForTransitionWidth(double attenuation,
--- a/src/dsp/Resampler.cpp	Thu May 15 14:23:42 2014 +0100
+++ b/src/dsp/Resampler.cpp	Thu May 15 14:36:10 2014 +0100
@@ -31,16 +31,17 @@
 
 #include "Resampler.h"
 
-#include "maths/MathUtilities.h"
-#include "base/KaiserWindow.h"
-#include "base/SincWindow.h"
-#include "thread/Thread.h"
+#include "MathUtilities.h"
+#include "KaiserWindow.h"
+#include "SincWindow.h"
 
 #include <iostream>
 #include <vector>
 #include <map>
 #include <cassert>
 
+#include <pthread.h>
+
 using std::vector;
 using std::map;
 using std::cerr;
@@ -73,8 +74,8 @@
 static map<double, map<int, map<double, vector<double> > > >
 knownFilters;
 
-static Mutex
-knownFilterMutex;
+static pthread_mutex_t
+knownFilterMutex = PTHREAD_MUTEX_INITIALIZER;
 
 void
 Resampler::initialise(double snr, double bandwidth)
@@ -102,7 +103,8 @@
     m_filterLength = params.length;
 
     vector<double> filter;
-    knownFilterMutex.lock();
+
+    pthread_mutex_lock(&knownFilterMutex);
 
     if (knownFilters[m_peakToPole][m_filterLength].find(params.beta) ==
 	knownFilters[m_peakToPole][m_filterLength].end()) {
@@ -119,7 +121,8 @@
     }
 
     filter = knownFilters[m_peakToPole][m_filterLength][params.beta];
-    knownFilterMutex.unlock();
+    
+    pthread_mutex_unlock(&knownFilterMutex);
 
     int inputSpacing = m_targetRate / m_gcd;
     int outputSpacing = m_sourceRate / m_gcd;