Artem Akymenko
1193185833
refactor: create domain/conversion_pipeline.py with shared TTS emission loop
- domain/conversion_pipeline.py: emit_text_segments() — generator yielding
SegmentResult for each TTS segment; emit_text_to_sinks() — convenience
wrapper handling audio writing + token accumulation + subtitle flushing
- Both WebUI and PyQt can call these instead of reimplementing the TTS loop
- Caller provides backend, voice, speed, split_pattern; domain handles
normalization, TTS invocation, token extraction
- +7 tests (segment yielding, empty audio skip, chunk_start, tokens, fallback)
- 1185 tests pass
2026-07-19 10:31:58 +00:00
..
2026-07-12 16:20:42 +03:00
2025-12-15 15:41:41 -08:00
2026-07-16 10:02:01 +03:00
2026-01-10 00:09:04 +03:00
2025-12-15 17:27:08 -08:00
2026-07-15 20:26:31 +03:00
2026-07-15 13:28:21 +00:00
2026-01-09 01:36:14 +03:00
2026-07-12 16:20:42 +03:00
2026-01-09 08:44:33 +08:00
2026-01-10 00:09:04 +03:00
2025-12-21 08:12:48 -08:00
2026-01-09 01:36:14 +03:00
2026-07-16 08:13:37 +00:00
2026-07-15 15:19:01 +00:00
2026-01-09 01:36:14 +03:00
2026-07-14 10:17:20 +00:00
2026-07-15 11:00:18 +00:00
2026-07-15 11:00:18 +00:00
2026-07-15 11:00:18 +00:00
2026-07-15 14:29:29 +00:00
2026-01-09 01:36:14 +03:00
2026-07-12 16:20:42 +03:00
2026-01-09 01:36:14 +03:00
2026-01-09 01:36:14 +03:00
2026-07-19 09:34:17 +00:00
2026-07-18 14:12:01 +03:00
2026-07-19 10:31:58 +00:00
2026-07-16 10:19:01 +03:00
2026-07-19 09:51:50 +00:00
2026-07-16 08:53:15 +00:00
2026-07-18 14:13:17 +03:00
2026-07-16 09:31:26 +00:00
2026-07-19 09:34:17 +00:00
2026-07-19 07:50:02 +00:00
2026-07-19 09:34:17 +00:00
2026-07-19 07:50:02 +00:00
2026-07-18 14:13:17 +03:00
2026-01-09 01:36:14 +03:00
2026-07-08 17:16:33 +00:00
2026-01-09 01:36:14 +03:00
2026-01-09 01:36:14 +03:00
2026-01-09 01:36:14 +03:00
2026-01-09 01:36:14 +03:00
2026-01-09 01:36:14 +03:00
2026-07-14 10:09:27 +00:00
2026-07-14 10:09:27 +00:00
2026-07-16 10:02:01 +03:00
2025-12-21 08:12:48 -08:00
2026-07-15 20:44:19 +03:00
2026-07-16 07:34:58 +00:00
2026-07-14 10:26:05 +00:00
2025-12-21 08:12:48 -08:00
2026-07-15 11:56:06 +00:00
2026-01-10 00:09:04 +03:00
2026-01-09 01:36:14 +03:00
2026-07-16 10:19:01 +03:00
2026-07-14 18:27:22 +00:00
2026-01-09 01:36:14 +03:00
2026-07-18 14:13:17 +03:00
2026-07-15 14:45:38 +00:00
2026-01-09 01:36:14 +03:00
2025-12-21 08:12:48 -08:00
2026-01-09 01:36:14 +03:00
2026-07-14 10:11:52 +00:00
2026-07-15 20:26:31 +03:00
2026-07-14 10:06:51 +00:00
2026-07-12 16:20:42 +03:00
2026-07-16 10:19:01 +03:00
2026-01-10 00:09:04 +03:00
2026-01-09 01:36:14 +03:00
2026-07-14 10:27:48 +00:00
2025-10-10 18:07:18 -07:00
2026-07-12 16:20:42 +03:00
2026-07-15 15:01:17 +00:00
2026-07-19 10:02:14 +00:00
2026-07-15 20:20:18 +03:00
2026-07-05 19:07:57 +00:00
2026-07-15 10:20:58 +00:00
2026-07-14 11:02:34 +00:00
2026-07-14 08:51:40 +08:00