From 863ae0e8c353139ec4a68261366cfa2fcae92ac6 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Fri, 28 Dec 2018 14:49:02 +0000 Subject: [PATCH] Implement `stop()`. --- src/backends/speech_dispatcher.rs | 5 +++++ src/lib.rs | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/backends/speech_dispatcher.rs b/src/backends/speech_dispatcher.rs index 8b656b0..18087ef 100644 --- a/src/backends/speech_dispatcher.rs +++ b/src/backends/speech_dispatcher.rs @@ -38,6 +38,11 @@ impl Backend for SpeechDispatcher { self.0.say(Priority::Important, text); } + fn stop(&self) { + trace!("stop()"); + self.0.cancel(); + } + fn get_rate(&self) -> u8 { i32_to_u8(self.0.get_voice_rate()) } diff --git a/src/lib.rs b/src/lib.rs index 3588475..5a6adb1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,6 +9,7 @@ pub enum Backends { trait Backend { fn speak(&self, text: &str, interrupt: bool); + fn stop(&self); fn get_rate(&self) -> u8; fn set_rate(&self, rate: u8); fn get_pitch(&self) -> u8; @@ -32,6 +33,11 @@ impl TTS { self } + pub fn stop(&self) -> &Self { + self.0.stop(); + self + } + pub fn get_rate(&self) -> u8 { self.0.get_rate() }