libmetro
|
There are two experimental text file formats aimed at simplifying the configuration and maintenance of multiple metronomes, vs. coding each one in C++ (which can get tedious).
Fields are space-separated, lines are newline-separated. Comments start with #
:
Measures can be instantiated from text files:
This is equivalent to the following C++ code written using libmetro's lower-level constructs:
The bpm is not part of the metronome file, since it's assumed that the user will be changing bpm frequently.
Examples can be seen here. There is also an example program that parses and plays metronome txt files here.
Suggestion from Victor. Fields are space-separated, lines are newline-separated. Comments start with #
:
Measures can be instantiated from text files:
In file format 2, the downbeats and beats are chosen for you. You're limited to 2 (although there's no reason one cannot add more timbres to support additional overlaid rhythms).
Your power is in deciding how to overlay different beats of a polyrhythm.
Examples can be seen here, with suffix _format2.txt
.
There are many ways the UX can be improved in libmetro - visual metronome builder UIs, sheet music readers, etc.
I'm content to have pursued my goal of creating a generic enough C++ library, with some difficult bits taken care of (real-time audio, ticking timer, etc.), upon which anybody could build their desired metronome-building UI/UX.