- Fix mix_audio to return target buffer (was not modifying in-place)
- Fix samples_for_duration to return 0 for negative durations
- Fix test assertions for numpy 2.x compatibility (share_memory -> shares_memory)
- Adjust subtitle_generation tests to match actual behavior
- Add abogen/domain/subtitle_generation.py with:
- process_subtitle_tokens(): main function for converting TTS tokens to subtitles
- Support for all subtitle modes: Line, Sentence, Sentence + Comma, Sentence + Highlighting
- Support for word-count based grouping (e.g., '5' for 5 words per entry)
- spaCy integration for English sentence boundary detection
- Karaoke highlighting tags for Sentence + Highlighting mode
- Punctuation constants for sentence splitting
- Update abogen/pyqt/conversion.py:
- Replace _process_subtitle_tokens method body with call to domain function
- Remove ~260 lines of duplicate logic
- Add tests/test_subtitle_generation.py with comprehensive unit tests