mirror of https://github.com/ndarilek/tts-rs.git
Merge extra module into main module.
This commit is contained in:
parent
c222c087b2
commit
55f841d887
21
src/lib.rs
21
src/lib.rs
|
@ -22,6 +22,7 @@ use std::{boxed::Box, sync::RwLock};
|
||||||
#[cfg(any(target_os = "macos", target_os = "ios"))]
|
#[cfg(any(target_os = "macos", target_os = "ios"))]
|
||||||
use cocoa_foundation::base::id;
|
use cocoa_foundation::base::id;
|
||||||
use dyn_clonable::*;
|
use dyn_clonable::*;
|
||||||
|
pub use unic_langid::LanguageIdentifier;
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
use libc::c_char;
|
use libc::c_char;
|
||||||
|
@ -34,7 +35,6 @@ use thiserror::Error;
|
||||||
use tolk::Tolk;
|
use tolk::Tolk;
|
||||||
|
|
||||||
mod backends;
|
mod backends;
|
||||||
mod voices;
|
|
||||||
|
|
||||||
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq, PartialOrd, Ord)]
|
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq, PartialOrd, Ord)]
|
||||||
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
|
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
|
||||||
|
@ -690,3 +690,22 @@ impl Drop for Tts {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub enum Gender {
|
||||||
|
Other,
|
||||||
|
Male,
|
||||||
|
Female,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub trait VoiceImpl: Sized {
|
||||||
|
type Backend: crate::Backend;
|
||||||
|
fn from_id(id: String) -> Self;
|
||||||
|
fn from_language(lang: LanguageIdentifier) -> Self;
|
||||||
|
fn list() -> Vec<Self>;
|
||||||
|
fn name(self) -> String;
|
||||||
|
fn gender(self) -> Gender;
|
||||||
|
fn id(self) -> String;
|
||||||
|
fn language(self) -> LanguageIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct Voice<T: VoiceImpl + Sized>(Box<T>);
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
pub use unic_langid::LanguageIdentifier;
|
|
||||||
|
|
||||||
pub enum Gender {
|
|
||||||
Other,
|
|
||||||
Male,
|
|
||||||
Female,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub trait Backend: Sized {
|
|
||||||
type Backend: crate::Backend;
|
|
||||||
fn from_id(id: String) -> Self;
|
|
||||||
fn from_language(lang: LanguageIdentifier) -> Self;
|
|
||||||
fn list() -> Vec<Self>;
|
|
||||||
fn name(self) -> String;
|
|
||||||
fn gender(self) -> Gender;
|
|
||||||
fn id(self) -> String;
|
|
||||||
fn language(self) -> LanguageIdentifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
pub struct Voice<T: Backend + Sized>(Box<T>);
|
|
Loading…
Reference in New Issue