Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .cargo/config.toml

This file was deleted.

9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed
- **BREAKING: the built-in defaults now match `sumvox init`.** The default TTS chain is the platform's local engine (`macos` on macOS, `espeak` elsewhere) then `google` (voice `Aoede`, was `Zephyr`), and the Notification hook speaks through that local engine by default. `sumvox init` writes exactly these defaults. A config with no `[tts]` table, or no `[hooks.claude_code]` table, picks them up.
- `--tts gemini` is now accepted as an alias for the `google` engine, matching the provider-name alias.
- A set-but-empty `GEMINI_API_KEY` no longer hides `GOOGLE_API_KEY`.

### Removed
- **BREAKING: legacy `config.yaml` / `config.yml` / `config.json` are no longer read or migrated.** If one of them exists without a `config.toml`, sumvox now fails with an error telling you to convert it to `config.toml` or run `sumvox init`. `sumvox init` no longer treats them as an existing config.
- The `TTS cost estimate` info log line is gone.

### Fixed
- Over-long text for ElevenLabs and xAI TTS no longer crashes sumvox when it contains Chinese or other multi-byte characters; it is cut at a character boundary.
- `--rate` is now optional: when omitted, the `rate` from your config (or the engine default) is used instead of being overwritten with 200.
Expand Down
21 changes: 0 additions & 21 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ tokio = { version = "1", features = ["rt-multi-thread", "macros", "fs", "io-util
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "charset", "http2", "macos-system-configuration"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
toml = "0.8"
chrono = { version = "0.4", features = ["serde"] }
chrono = "0.4"
thiserror = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
Expand All @@ -27,7 +26,7 @@ async-trait = "0.1"
shellexpand = "3"
clap = { version = "4", features = ["derive"] }
base64 = "0.22"
nix = { version = "0.29", features = ["fs", "process", "user"] }
nix = { version = "0.29", features = ["fs", "user"] }
rand = "0.8"
jsonwebtoken = "9"

Expand Down
16 changes: 0 additions & 16 deletions Cross.toml

This file was deleted.

50 changes: 0 additions & 50 deletions scripts/test_hooks.sh

This file was deleted.

6 changes: 0 additions & 6 deletions src/audio/file.rs
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,6 @@ impl TtsProvider for AudioFileProvider {

Ok(true)
}

fn estimate_cost(&self, _char_count: usize) -> f64 {
// Audio file playback is free
0.0
}
}

#[cfg(test)]
Expand All @@ -156,7 +151,6 @@ mod tests {
assert_eq!(provider.name(), "audio_file");
assert_eq!(provider.volume, 80);
assert!(matches!(provider.mode, AudioFileMode::SingleFile(_)));
assert_eq!(provider.estimate_cost(100), 0.0);
assert!(provider.is_available());
assert_eq!(provider.get_playback_file().unwrap(), temp_file.path());
}
Expand Down
Loading
Loading