Question

I'm attempting to write a simple bpm calculation program in C with using the aubio library.

Everything seems to be going smoothly until I attempt to call upon aubio_tempo_do (documentation)

Unfortuantely, make provides me with the error:

‘aubio_tempo_do’ was not declared in this scope

which doesn't seem to make too much sense, considering the aubio library provides this function:

grep -r "aubio_tempo_do" /usr/local/include/aubio/
/usr/local/include/aubio/tempo/tempo.h:void aubio_tempo_do (aubio_tempo_t *o, fvec_t * input, fvec_t * tempo);

I attempt to include the tempo.h file in my header file, but alas the make routine continues to spout out the same error.

// header file
#include <aubio/aubio.h>
#include <aubio/tempo.h>

Any thoughts?

== Edit ===========

It should also be said that I've attempted:

#include <aubio/tempo/tempo.h>

With no luck :\

== Edit ===========

Output of g++ with the -E flag to check preprocesses: http://pastebin.com/mbFEysJ2

Source code can be found here: http://github.com/kellydunn/grover

Relevant source code excerpt: http://pastebin.com/KRmbZqg4

Was it helpful?

Solution

do the arguments you are passing to aubio_tempo_do have the right types?
(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo) I can't tell from the sample code.

If not, the compiler could be complaining that it doesn't see an overloaded version of the function with a signature that matches your arguments... (Although I would think there would be a more descriptive error message for that situation).

OTHER TIPS

As far as I can see you should include another file

#include <aubio/tempo/tempo.h>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top