From afc9cc592f9d66e4a58fe519d7d907575b82b765 Mon Sep 17 00:00:00 2001 From: Adrian Cochrane Date: Mon, 11 May 2020 20:03:57 +1200 Subject: [PATCH] Extract navigation state out of SSML s. --- src/main.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 27aa630..c7fc691 100644 --- a/src/main.c +++ b/src/main.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "HsFFI.h" #include @@ -55,9 +56,20 @@ int read_mono(SNDFILE *fd, SF_INFO *info, short *out) { return i; } +pthread_mutex_t marker_mutex = PTHREAD_MUTEX_INITIALIZER; +int paragraph_no, section_no; +int tablerow, tablecol, tableno, in_table; int capture_marks(short *wav, int numsamples, espeak_EVENT *events) { while (events->type != 0) { - if (events->type == espeakEVENT_MARK) printf("%s:\n", events->id.name); + if (events->type == espeakEVENT_MARK) { + pthread_mutex_lock(&marker_mutex); + in_table = 0; + if (sscanf(events->id.name, "-rhaps-paragraph%i", ¶graph_no) == 1) {} + else if (sscanf(events->id.name, "-rhaps-section%i", §ion_no) == 1) {} + else if (sscanf(events->id.name, "-rhaps-tablecell%i:%ix%i", + &tableno, &tablerow, &tablecol) == 3) {in_table = 1;} + pthread_mutex_unlock(&marker_mutex); + } events++; } return 0; -- 2.30.2