summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXANTRONIX Development2022-03-07 13:10:41 -0500
committerXANTRONIX Development2022-03-07 13:10:41 -0500
commit563b5ba828d40c0c791e056504a53aa86ea359e1 (patch)
treeb17b294c0c607859c3f0bf014d978e9203715df4
parent5f2b64b0c667f754131bce652339f401324d72ca (diff)
downloadxas-563b5ba828d40c0c791e056504a53aa86ea359e1.tar.gz
xas-563b5ba828d40c0c791e056504a53aa86ea359e1.tar.bz2
xas-563b5ba828d40c0c791e056504a53aa86ea359e1.zip
Implement xas_bank_entry_duration()
Implement xas_bank_entry_duration() to return the number of PCM samples in a sample bank entry
-rw-r--r--include/xas/bank.h2
-rw-r--r--src/bank.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/include/xas/bank.h b/include/xas/bank.h
index 716ad64..7828587 100644
--- a/include/xas/bank.h
+++ b/include/xas/bank.h
@@ -46,6 +46,8 @@ xas_bank *xas_bank_new(xas_audio_format format,
void xas_bank_destroy(xas_bank *bank);
+size_t xas_bank_entry_duration(xas_bank *bank, size_t entry_index);
+
ssize_t xas_bank_record(xas_bank *bank,
xas_audio_stream *input,
size_t entry_index,
diff --git a/src/bank.c b/src/bank.c
index d2c7de9..698cbfb 100644
--- a/src/bank.c
+++ b/src/bank.c
@@ -162,6 +162,12 @@ void xas_bank_player_destroy(xas_bank_player *player) {
free(player);
}
+size_t xas_bank_entry_duration(xas_bank *bank, size_t entry_index) {
+ xas_bank_entry *entry = entry_by_index(bank, entry_index);
+
+ return entry->duration;
+}
+
int xas_bank_player_set_entry(xas_bank_player *player, size_t entry) {
if (entry > player->bank->entry_count) {
errno = EINVAL;