cdfb84f19a
* Implement TTS using windows crate * Use API calls instead of SSML * Properly stop player in case of TTS error * Add context to WindowsErrors * Validate available voices * Remove TTS text from synthesize error * Limit maximum buffer size * Make validation optional and list it in tts filter * We no longer need the winrt module (dae) * Use a separate request object so the meaning of the bool is clear (dae) * Slightly shorten runtime error message (dae) The default message appears to clip slightly. * Alternate buffer implementation (dae) * Use array instead of vec * Drop the max buffer size to 128k (dae)
116 lines
3.2 KiB
TOML
116 lines
3.2 KiB
TOML
[package]
|
|
name = "anki"
|
|
build = "build/main.rs"
|
|
publish = false
|
|
description = "Anki's Rust library code"
|
|
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[lib]
|
|
name = "anki"
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
bench = ["criterion"]
|
|
rustls = ["reqwest/rustls-tls", "reqwest/rustls-tls-native-roots"]
|
|
native-tls = ["reqwest/native-tls"]
|
|
|
|
[[bench]]
|
|
name = "benchmark"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# After updating anything below, run ../cargo/update.py
|
|
|
|
[build-dependencies]
|
|
prost-build = "0.11.6"
|
|
which = "4.3.0"
|
|
|
|
[dev-dependencies]
|
|
async-stream = "0.3.3"
|
|
env_logger = "0.10.0"
|
|
wiremock = "0.5.17"
|
|
|
|
[dependencies.reqwest]
|
|
version = "0.11.13"
|
|
default-features = false
|
|
features = ["json", "socks", "stream", "multipart"]
|
|
|
|
[dependencies]
|
|
anki_i18n = { path = "i18n" }
|
|
ascii_percent_encoding = { path = "ascii_percent_encoding" }
|
|
|
|
csv = { git = "https://github.com/ankitects/rust-csv.git", rev = "1c9d3aab6f79a7d815c69f925a46a4590c115f90" }
|
|
|
|
# pinned as any changes could invalidate sqlite indexes
|
|
unicase = "=2.6.0"
|
|
|
|
# keep this at 0.4.19 until an Android-compatible update is ready
|
|
chrono = { version = "0.4.19", default-features = false, features = ["std", "clock"] }
|
|
|
|
criterion = { version = "0.4.0", optional = true }
|
|
|
|
ammonia = "3.3.0"
|
|
async-compression = { version = "0.3.15", features = ["zstd", "tokio"] }
|
|
async-trait = "0.1.61"
|
|
axum = { version = "0.6.2", features = ["multipart", "macros", "headers"] }
|
|
axum-client-ip = "0.3.1"
|
|
blake3 = "1.3.3"
|
|
bytes = "1.3.0"
|
|
coarsetime = "0.1.22"
|
|
convert_case = "0.6.0"
|
|
difflib = "0.4.0"
|
|
flate2 = "1.0.25"
|
|
fluent = "0.16.0"
|
|
fluent-bundle = "0.15.2"
|
|
fnv = "1.0.7"
|
|
futures = "0.3.25"
|
|
hex = "0.4.3"
|
|
htmlescape = "0.3.1"
|
|
hyper = "0.14.23"
|
|
id_tree = "1.8.0"
|
|
itertools = "0.10.5"
|
|
lazy_static = "1.4.0"
|
|
nom = "7.1.3"
|
|
num-integer = "0.1.45"
|
|
num_cpus = "1.15.0"
|
|
num_enum = "0.5.7"
|
|
once_cell = "1.17.0"
|
|
pin-project = "1.0.12"
|
|
prost = "0.11.6"
|
|
pulldown-cmark = "0.9.2"
|
|
rand = "0.8.5"
|
|
regex = "1.7.1"
|
|
rusqlite = { version = "0.28.0", features = ["trace", "functions", "collation", "bundled"] }
|
|
scopeguard = "1.1.0"
|
|
serde = "1.0.152"
|
|
serde-aux = "4.1.2"
|
|
serde_derive = "1.0.152"
|
|
serde_json = "1.0.91"
|
|
serde_repr = "0.1.10"
|
|
serde_tuple = "0.5.0"
|
|
sha1 = "0.10.5"
|
|
snafu = { version = "0.7.4", features = ["backtraces"] }
|
|
strum = { version = "0.24.1", features = ["derive"] }
|
|
tempfile = "3.3.0"
|
|
tokio = { version = "1.24", features = ["fs", "rt-multi-thread", "macros"] }
|
|
tokio-util = { version = "0.7.4", features = ["io"] }
|
|
tower-http = { version = "0.3.5", features = ["trace"] }
|
|
tracing = { version = "0.1.37", features = ["max_level_trace", "release_max_level_debug"] }
|
|
tracing-appender = "0.2.2"
|
|
tracing-subscriber = { version = "0.3.16", features = ["fmt", "env-filter"] }
|
|
unic-ucd-category = "0.9.0"
|
|
unicode-normalization = "0.1.22"
|
|
utime = "0.3.1"
|
|
workspace-hack = { version = "0.1", path = "../tools/workspace-hack" }
|
|
zip = { version = "0.6.3", default-features = false, features = ["deflate", "time"] }
|
|
zstd = { version = "0.12.2", features = ["zstdmt"] }
|
|
|
|
[target.'cfg(windows)'.dependencies.windows]
|
|
version = "0.44.0"
|
|
features = ["Media_SpeechSynthesis", "Foundation_Collections", "Storage_Streams"]
|