From 2378e7b60ce9d2923e9c631299732cb5ef3a6b3c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 16 Dec 2016 10:43:41 +0000 Subject: [PATCH] add function to get number of tempos found in SMF tempo map --- libs/evoral/src/libsmf/smf.h | 1 + libs/evoral/src/libsmf/smf_tempo.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/libs/evoral/src/libsmf/smf.h b/libs/evoral/src/libsmf/smf.h index 2be80a571c..82647779e8 100644 --- a/libs/evoral/src/libsmf/smf.h +++ b/libs/evoral/src/libsmf/smf.h @@ -404,6 +404,7 @@ int smf_save(smf_t *smf, FILE *file) WARN_UNUSED_RESULT; /* Routines for manipulating smf_tempo_t. */ smf_tempo_t *smf_get_tempo_by_pulses(const smf_t *smf, size_t pulses) WARN_UNUSED_RESULT; smf_tempo_t *smf_get_tempo_by_seconds(const smf_t *smf, double seconds) WARN_UNUSED_RESULT; +int smf_get_tempo_count (const smf_t *smf) WARN_UNUSED_RESULT; smf_tempo_t *smf_get_tempo_by_number(const smf_t *smf, size_t number) WARN_UNUSED_RESULT; smf_tempo_t *smf_get_last_tempo(const smf_t *smf) WARN_UNUSED_RESULT; diff --git a/libs/evoral/src/libsmf/smf_tempo.c b/libs/evoral/src/libsmf/smf_tempo.c index c172314815..b2549d5511 100644 --- a/libs/evoral/src/libsmf/smf_tempo.c +++ b/libs/evoral/src/libsmf/smf_tempo.c @@ -253,6 +253,16 @@ smf_create_tempo_map_and_compute_seconds(smf_t *smf) /* Not reached. */ } +int +smf_get_tempo_count (const smf_t *smf) +{ + if (!smf->tempo_array) { + return 0; + } + + return smf->tempo_array->len; +} + smf_tempo_t * smf_get_tempo_by_number(const smf_t *smf, size_t number) { -- 2.30.2