changeset 56:e2b7f7462618

Single Makefile, build Vamp by default
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 30 Jan 2014 10:33:38 +0000
parents 2a21b4506d7f
children 65575499e4b9
files .hgignore Makefile.inc Makefile.linux cpp-qm-dsp/CQKernel.cpp cpp-qm-dsp/ConstantQ.cpp vamp/CQVamp.cpp vamp/Makefile vamp/vamp-plugin.list vamp/vamp-plugin.map yeti/test.yeti
diffstat 10 files changed, 93 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Thu Jan 30 10:33:38 2014 +0000
@@ -0,0 +1,5 @@
+syntax: glob
+*~
+*.o
+*.so
+cpp-qm-dsp/test
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.inc	Thu Jan 30 10:33:38 2014 +0000
@@ -0,0 +1,54 @@
+
+LIB_DIR	  := cpp-qm-dsp
+VAMP_DIR  := vamp
+
+QMDSP_DIR ?= ../qm-dsp
+VAMPSDK_DIR  ?= ../vamp-plugin-sdk
+
+PLUGIN_EXT	?= .so
+
+CXX	?= g++
+CC	?= gcc
+
+CFLAGS := $(CFLAGS) 
+CXXFLAGS := -I. -I$(VAMPSDK_DIR) -I$(QMDSP_DIR) $(CXXFLAGS)
+
+LDFLAGS := $(LDFLAGS) 
+PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS)
+TEST_LDFLAGS := $(LDFLAGS) -lboost_unit_test_framework
+
+PLUGIN	:= cqvamp$(PLUGIN_EXT)
+TEST	:= $(LIB_DIR)/test
+
+LIB_HEADERS := $(LIB_DIR)/CQKernel.h $(LIB_DIR)/ConstantQ.h
+LIB_SOURCES := $(LIB_DIR)/CQKernel.cpp $(LIB_DIR)/ConstantQ.cpp
+
+VAMP_HEADERS := $(VAMP_DIR)/CQVamp.h
+VAMP_SOURCES := $(VAMP_DIR)/CQVamp.cpp $(VAMP_DIR)/libmain.cpp
+
+HEADERS	     := $(LIB_HEADERS) $(VAMP_HEADERS)
+SOURCES	     := $(LIB_SOURCES) $(VAMP_SOURCES)
+OBJECTS	     := $(SOURCES:.cpp=.o)
+
+TEST_SOURCES := $(LIB_DIR)/test.cpp $(SOURCES)
+TEST_OBJECTS := $(TEST_SOURCES:.cpp=.o)
+
+LIBS	:= $(QMDSP_DIR)/libqm-dsp.a $(VAMPSDK_DIR)/libvamp-sdk.a -lpthread
+
+all: $(PLUGIN) $(TEST)
+
+$(PLUGIN):	$(OBJECTS)
+	$(CXX) -o $@ $^ $(LIBS) $(PLUGIN_LDFLAGS)
+
+$(TEST):	$(TEST_OBJECTS)
+	$(CXX) -o $@ $^ $(LIBS) $(TEST_LDFLAGS)
+
+clean:		
+	rm -f $(OBJECTS)
+
+distclean:	clean
+	rm -f $(PLUGIN)
+
+depend:
+	makedepend -Y -fMakefile.inc $(SOURCES) $(HEADERS)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.linux	Thu Jan 30 10:33:38 2014 +0000
@@ -0,0 +1,13 @@
+
+CFLAGS := -Wall -O3 -fPIC -I../vamp-plugin-sdk/
+#CFLAGS := -g -fPIC -I../vamp-plugin-sdk
+
+CXXFLAGS := $(CFLAGS)
+
+VAMPSDK_DIR := ../vamp-plugin-sdk
+PLUGIN_LDFLAGS := -shared -Wl,--version-script=vamp/vamp-plugin.map
+
+PLUGIN_EXT := .so
+
+include Makefile.inc
+
--- a/cpp-qm-dsp/CQKernel.cpp	Thu Nov 28 17:03:57 2013 +0000
+++ b/cpp-qm-dsp/CQKernel.cpp	Thu Jan 30 10:33:38 2014 +0000
@@ -2,9 +2,9 @@
 
 #include "CQKernel.h"
 
-#include "qm-dsp/maths/MathUtilities.h"
-#include "qm-dsp/dsp/transforms/FFT.h"
-#include "qm-dsp/base/Window.h"
+#include "maths/MathUtilities.h"
+#include "dsp/transforms/FFT.h"
+#include "base/Window.h"
 
 #include <cmath>
 #include <cassert>
--- a/cpp-qm-dsp/ConstantQ.cpp	Thu Nov 28 17:03:57 2013 +0000
+++ b/cpp-qm-dsp/ConstantQ.cpp	Thu Jan 30 10:33:38 2014 +0000
@@ -3,9 +3,9 @@
 
 #include "CQKernel.h"
 
-#include "qm-dsp/dsp/rateconversion/Resampler.h"
-#include "qm-dsp/maths/MathUtilities.h"
-#include "qm-dsp/dsp/transforms/FFT.h"
+#include "dsp/rateconversion/Resampler.h"
+#include "maths/MathUtilities.h"
+#include "dsp/transforms/FFT.h"
 
 #include <algorithm>
 #include <complex>
@@ -52,7 +52,7 @@
     double actualMinFreq =
         (m_maxFrequency / pow(2.0, m_octaves)) * pow(2.0, 1.0/m_binsPerOctave);
 
-    cerr << "actual min freq = " << actualMinFreq << endl;
+//    cerr << "actual min freq = " << actualMinFreq << endl;
 
     m_kernel = new CQKernel(m_sampleRate, m_maxFrequency, m_binsPerOctave);
     m_p = m_kernel->getProperties();
@@ -146,13 +146,16 @@
     totalLatency = ceil(double(lat0 / m_p.fftHop) * m_p.fftHop)
 	+ latencies[0] + drops[0];
 
-    cerr << "total latency = " << totalLatency << endl;
+//    cerr << "total latency = " << totalLatency << endl;
 
     // Padding as in the reference (will be introduced with the
     // latency compensation in the loop below)
     m_outputLatency = totalLatency + m_bigBlockSize
 	- m_p.firstCentre * pow(2, m_octaves-1);
 
+//    cerr << "m_bigBlockSize = " << m_bigBlockSize << ", firstCentre = "
+//	 << m_p.firstCentre << ", m_octaves = " << m_octaves << ", so m_outputLatency = " << m_outputLatency << endl;
+
     for (int i = 0; i < m_octaves; ++i) {
 
 	double factor = pow(2, i);
@@ -173,8 +176,6 @@
     }
 
     m_fft = new FFTReal(m_p.fftSize);
-
-    cerr << "m_bigBlockSize = " << m_bigBlockSize << " for " << m_octaves << " octaves" << endl;
 }
 
 vector<vector<double> > 
--- a/vamp/CQVamp.cpp	Thu Nov 28 17:03:57 2013 +0000
+++ b/vamp/CQVamp.cpp	Thu Jan 30 10:33:38 2014 +0000
@@ -2,9 +2,9 @@
 
 #include "CQVamp.h"
 
-#include "../cpp-qm-dsp/ConstantQ.h"
+#include "cpp-qm-dsp/ConstantQ.h"
 
-#include "qm-dsp/base/Pitch.h"
+#include "base/Pitch.h"
 
 using std::string;
 using std::vector;
@@ -318,7 +318,7 @@
 	feature.values = column;
 	feature.label = "";
 
-//        cerr << "timestamp = " << feature.timestamp << " (latency = " << m_cq->getLatency() << ", sample rate " << m_inputSampleRate << ")" << endl;
+//        cerr << "timestamp = " << feature.timestamp << " (start time = " << m_startTime << ", column count = " << m_columnCount << ", latency = " << m_cq->getLatency() << ", sample rate " << m_inputSampleRate << ")" << endl;
 
         if (feature.timestamp >= m_startTime) {
             returnFeatures[0].push_back(feature);
--- a/vamp/Makefile	Thu Nov 28 17:03:57 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-
-DEFINES := -DUSE_PTHREADS
-
-CFLAGS := -I../.. $(CFLAGS) $(DEFINES)
-
-#CXXFLAGS := -I../.. -Wall -fPIC -g $(CXXFLAGS) $(DEFINES)
-CXXFLAGS := -I../.. -Wall -fPIC -O3 -ffast-math -ftree-vectorize $(CXXFLAGS) $(DEFINES)
-
-LDFLAGS := $(LDFLAGS)
-
-#VG	:= valgrind
-
-LIBS 		:= ../../qm-dsp/libqm-dsp.a ../../vamp-plugin-sdk/libvamp-sdk.a -lpthread 
-
-SOURCES	:= CQVamp.cpp libmain.cpp
-
-OBJECTS := $(SOURCES:.cpp=.o)
-OBJECTS := $(OBJECTS:.c=.o)
-
-EXTRA_OBJECTS	:= ../cpp-qm-dsp/ConstantQ.o ../cpp-qm-dsp/CQKernel.o 
-
-PLUGIN_EXT := so
-PLUGIN = cqvamp.$(PLUGIN_EXT)
-
-all: $(PLUGIN)
-
-$(PLUGIN):	$(OBJECTS)
-	$(CXX) -shared -o $@ $^ $(EXTRA_OBJECTS) $(LDFLAGS) $(LIBS)
-
-clean: 
-	rm -f *.o 
-
-depend:
-	makedepend -Y $(SOURCES)
-
-# DO NOT DELETE
-
-CQVamp.o: CQVamp.h ../cpp-qm-dsp/ConstantQ.h ../cpp-qm-dsp/CQKernel.h
-libmain.o: CQVamp.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vamp/vamp-plugin.list	Thu Jan 30 10:33:38 2014 +0000
@@ -0,0 +1,1 @@
+_vampGetPluginDescriptor
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vamp/vamp-plugin.map	Thu Jan 30 10:33:38 2014 +0000
@@ -0,0 +1,4 @@
+{
+	global: vampGetPluginDescriptor;
+	local: *;
+};
--- a/yeti/test.yeti	Thu Nov 28 17:03:57 2013 +0000
+++ b/yeti/test.yeti	Thu Jan 30 10:33:38 2014 +0000
@@ -19,7 +19,7 @@
 // So the stream is [ 0, 1, 0, -1, 0, 1, 0, -1, ... ] :
 //testStream = manipulate.withDuration 64 (syn.sinusoid 8 2);
 
-//testStream = manipulate.withDuration 32 (syn.pulseTrain 8 0.001);
+testStream = manipulate.withDuration 32 (syn.pulseTrain 8 0.001);
 
 eprintln "have test stream";
 
@@ -41,7 +41,7 @@
 mat.print bigM;
 
 //\() (plot.plot [Contour bigM]);
-//\() (plot.plot [Grid bigM]);
+\() (plot.plot [Grid bigM]);
 
 ()