diff --git a/speech-dispatcher/Cargo.toml b/speech-dispatcher/Cargo.toml index 2c7d595..31f8374 100644 --- a/speech-dispatcher/Cargo.toml +++ b/speech-dispatcher/Cargo.toml @@ -7,6 +7,10 @@ description = "Rusty interface to the speech-dispatcher speech synthesis library license = "LGPL-2.1 OR MIT OR Apache-2.0" edition = "2021" +[features] +"0.10" = [] +default = ["0.10"] + [dependencies] lazy_static = "1" speech-dispatcher-sys = { version = "0.7", path = "../speech-dispatcher-sys" } diff --git a/speech-dispatcher/src/lib.rs b/speech-dispatcher/src/lib.rs index 1638e73..3abc870 100644 --- a/speech-dispatcher/src/lib.rs +++ b/speech-dispatcher/src/lib.rs @@ -98,8 +98,10 @@ pub enum Notification { #[repr(u32)] pub enum Punctuation { All = SPDPunctuation::SPD_PUNCT_ALL, - None = SPDPunctuation::SPD_PUNCT_NONE, + #[cfg(feature = "0.10")] + Most = SPDPunctuation::SPD_PUNCT_MOST, Some = SPDPunctuation::SPD_PUNCT_SOME, + None = SPDPunctuation::SPD_PUNCT_NONE, } #[derive(Clone, Copy, Debug)] @@ -411,17 +413,26 @@ impl Connection { } pub fn set_voice_type(&self, voice_type: VoiceType) -> Result<(), Error> { + #[cfg(feature = "0.10.0")] let v = unsafe { spd_set_voice_type(*self.0, voice_type as i32) }; + #[cfg(not(feature = "0.10.0"))] + let v = unsafe { spd_set_voice_type(*self.0, voice_type as u32) }; c_int_to_result(v) } pub fn set_voice_type_all(&self, voice_type: VoiceType) -> Result<(), Error> { + #[cfg(feature = "0.10")] let v = unsafe { spd_set_voice_type_all(*self.0, voice_type as i32) }; + #[cfg(not(feature = "0.10"))] + let v = unsafe { spd_set_voice_type_all(*self.0, voice_type as u32) }; c_int_to_result(v) } pub fn set_voice_type_uid(&self, voice_type: VoiceType, target_uid: u32) -> Result<(), Error> { + #[cfg(feature = "0.10")] let v = unsafe { spd_set_voice_type_uid(*self.0, voice_type as i32, target_uid) }; + #[cfg(not(feature = "0.10"))] + let v = unsafe { spd_set_voice_type_uid(*self.0, voice_type as u32, target_uid) }; c_int_to_result(v) }