Revision 41:16908c2bd781

View differences:

Makefile.inc
1 1

  
2 2
PLUGIN_EXT	?= .so
3
PLUGIN	?= cepstral-pitchtracker$(PLUGIN_EXT)
3

  
4 4
CXX	?= g++
5 5
CC	?= gcc
6 6

  
7
CFLAGS		:= $(CFLAGS) 
8
CXXFLAGS	:= $(CXXFLAGS) 
9
LDFLAGS		:= $(LDFLAGS) -lvamp-sdk
7
CFLAGS := $(CFLAGS) 
8
CXXFLAGS := -I. $(CXXFLAGS)
9

  
10
LDFLAGS := $(LDFLAGS) -lvamp-sdk
11
PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS)
12
TEST_LDFLAGS := $(LDFLAGS) -lboost_unit_test_framework
13

  
14
PLUGIN := cepstral-pitchtracker$(PLUGIN_EXT)
10 15

  
11 16
HEADERS := CepstralPitchTracker.h \
12 17
	   NoteHypothesis.h \
......
14 19

  
15 20
SOURCES := CepstralPitchTracker.cpp \
16 21
	   NoteHypothesis.cpp \
17
	   PeakInterpolator.cpp \
18
           libmain.cpp
22
	   PeakInterpolator.cpp
23

  
24
PLUGIN_MAIN := libmain.cpp
25

  
26
TESTS := test/test-notehypothesis \
27
         test/test-peakinterpolator
19 28

  
20 29
OBJECTS := $(SOURCES:.cpp=.o)
21 30
OBJECTS := $(OBJECTS:.c=.o)
22 31

  
23
all: $(PLUGIN)
32
PLUGIN_OBJECTS := $(OBJECTS) $(PLUGIN_MAIN:.cpp=.o)
24 33

  
25
$(PLUGIN):	$(OBJECTS)
26
		$(CXX) -o $@ $^ $(LDFLAGS)
27
		$(MAKE) -C test
34
all: $(PLUGIN) $(TESTS)
35
	for t in $(TESTS); do echo "Running $$t"; ./"$$t" || exit 1; done
36

  
37
$(PLUGIN): $(PLUGIN_OBJECTS)
38
	$(CXX) -o $@ $^ $(PLUGIN_LDFLAGS)
39

  
40
test/test-notehypothesis: test/TestNoteHypothesis.o $(OBJECTS)
41
	$(CXX) -o $@ $^ $(TEST_LDFLAGS)
42

  
43
test/test-peakinterpolator: test/TestPeakInterpolator.o $(OBJECTS)
44
	$(CXX) -o $@ $^ $(TEST_LDFLAGS)
28 45

  
29 46
clean:		
30
		rm -f $(OBJECTS)
31
		$(MAKE) -C test clean
47
		rm -f $(OBJECTS) test/*.o
32 48

  
33 49
distclean:	clean
34
		rm -f $(PLUGIN)
35
		$(MAKE) -C test distclean
50
		rm -f $(PLUGIN) $(TESTS)
36 51

  
37
libmain.o:	$(HEADERS) $(SOURCES)
38
CepstralPitchTracker.o:	$(HEADERS) $(SOURCES)
39
NoteHypothesis.o:	$(HEADERS) $(SOURCES)
40
PeakInterpolator.o:	$(HEADERS) $(SOURCES)
52
# DO NOT DELETE
53

  
54
CepstralPitchTracker.o: CepstralPitchTracker.h NoteHypothesis.h
55
libmain.o: CepstralPitchTracker.h NoteHypothesis.h
56
NoteHypothesis.o: NoteHypothesis.h
57
PeakInterpolator.o: PeakInterpolator.h
58
test/TestNoteHypothesis.o: NoteHypothesis.h
59
test/TestPeakInterpolator.o: PeakInterpolator.h
Makefile.linux64
2 2
CFLAGS := -Wall -g -fPIC 
3 3
CXXFLAGS := $(CFLAGS)
4 4

  
5
LDFLAGS := -shared -Wl,-Bstatic -lvamp-sdk -Wl,-Bdynamic 
5
PLUGIN_LDFLAGS := -shared -Wl,-Bstatic -lvamp-sdk -Wl,-Bdynamic 
6 6

  
7 7
PLUGIN_EXT := .so
8 8

  
test/Makefile
1
CXX	?= g++
2
CC	?= gcc
3

  
4
CFLAGS		:= $(CFLAGS) 
5
CXXFLAGS	:= $(CXXFLAGS) -I..
6
LDFLAGS		:= $(LDFLAGS) -lvamp-sdk -lboost_unit_test_framework
7

  
8
SUPER_OBJECTS	:= ../NoteHypothesis.o ../PeakInterpolator.o
9

  
10
OBJECTS		:= TestNoteHypothesis.o TestPeakInterpolator.o
11

  
12
TESTS		:= test-notehypothesis test-peakinterpolator
13

  
14
all:	run-tests
15

  
16
test-notehypothesis:	TestNoteHypothesis.o
17
	$(CXX) -o $@ $^ $(SUPER_OBJECTS) $(LDFLAGS)
18

  
19
test-peakinterpolator:	TestPeakInterpolator.o
20
	$(CXX) -o $@ $^ $(SUPER_OBJECTS) $(LDFLAGS)
21

  
22
run-tests:	$(TESTS)
23
		for t in $(TESTS); do ./"$$t" || exit 1; done
24

  
25
clean:	
26
	rm -f $(OBJECTS)
27

  
28
distclean:	clean
29
	rm -f $(TESTS)
30

  
test/TestPeakInterpolator.cpp
98 98
    BOOST_CHECK_EQUAL(result, 1.5);
99 99
}
100 100

  
101
BOOST_AUTO_TEST_CASE(aboveHalfway)
102
{
103
    double data[] = { 1.0, 1.5, 2.0, 1.0 };
104
    PeakInterpolator p;
105
    double result = p.findPeakLocation(data, 4, 2);
106
    BOOST_CHECK(result > 1.5 && result < 2.0);
107
}
108

  
109
BOOST_AUTO_TEST_CASE(belowHalfway)
110
{
111
    double data[] = { 1.0, 2.0, 1.5, 1.0 };
112
    PeakInterpolator p;
113
    double result = p.findPeakLocation(data, 4, 1);
114
    BOOST_CHECK(result > 1.0 && result < 1.5);
115
}
116

  
101 117
BOOST_AUTO_TEST_SUITE_END()
102 118

  

Also available in: Unified diff