Access to the BPM Counting Algorithm |
There are three routes to hapiness. The first relies on the data streaming library we use. The second uses the BpmDj specific object to represent a song and te last one offers a commandline tool that processes .wav files.
The dataformat on disk is actually through a library I wrote for general purpose object streaming. It is documented at http://bpmdj.yellowcouch.org/doxy/group__data.html
The good thing with this library is that it contains a serializer to pretty print the binary content in ascii.
#include
"data.h"
#include "data-io.h"
int main(int argc, char* argv[])
{
Data t=DataBinner::read_file(argv[1]);
DataTexter::write(t,stdout);
}
idx2txt:
idx2txt.o data.a
@echo " [link] "$@
@$(LINK) $^ -o idx2txt
The second route to hapiness is through an object called 'Index'. Documented at http://bpmdj.yellowcouch.org/doxy/classIndex.html. A demo on how to use this class follows:
BpmDj contains a commandline tool called 'bpmcount' which takes a list of files as argument and which will produce a tab seperated output of tempo with the filename analyzed.