Mercurial > hg > libxtract
diff src/scalar.c @ 205:f6fcf3bec020
Add xtract_midicent() convenience function to convert from frequency to MIDI cent
author | Jamie Bullock <jamie@jamiebullock.com> |
---|---|
date | Tue, 11 Mar 2014 18:14:45 +0000 |
parents | 951035634fb1 |
children | c6488df9e5c0 |
line wrap: on
line diff
--- a/src/scalar.c Fri Mar 07 22:14:55 2014 +0000 +++ b/src/scalar.c Tue Mar 11 18:14:45 2014 +0000 @@ -983,4 +983,15 @@ return XTRACT_SUCCESS; } +int xtract_midicent(const double *data, const int N, const void *argv, double *result) +{ + double f0 = *(double *)argv; + double note = 0.0; + + note = 69 + log(f0 / 440.f) * 17.31234; + note *= 100; + note = round(note); + + return XTRACT_SUCCESS; +}