v1.11.2#296
Merged
Merged
Conversation
Update Translations
Move Gemini TTS streaming pipe creation behind the cast queue wait so the HTTP stream does not expire before the Chromecast connects. This adds a deferred post-queue pipe callback in `castToGoogleHome` and bumps the plugin version to 1.11.2.
Updates runtime Python dependencies by upgrading `piper-tts` from 1.4.2 to 1.5.0 and `google-genai` from 2.9.0 to 2.12.1 in the requirements files.
Update the configuration UI layout for log filters by merging the checkbox and "Gérer les filtres" button into the same column. The checkbox now has inline spacing/alignment styles so both controls appear grouped and better aligned.
Remove the Gemini 3.1 Flash-Lite Preview model from the AI model selector and its pricing info in the tooltip, as it is no longer available/relevant.
Update the reformulation model UI labels to better distinguish recommended Gemini 3.x models from Gemini 2.5 models now marked as deprecated (Oct 2026). The pricing tooltip and dropdown sections were reorganized accordingly, and the 2.5 Flash-Lite naming was made consistent.
Update the configuration UI to mark the Gemini 2.5 TTS section as deprecated as of May 2025, helping users prefer the recommended Gemini 3.1 option.
For `cmdWait > 1`, the daemon now uses a short 100ms grace window to let lower-priority waits register, then continues standalone if no prior wait is detected. This removes the previous 1s polling timeout that canceled playback, improving behavior on loaded systems while preserving queue ticketing.
Updates the daemon wait-queue debug message to better reflect behavior when no prior notification is active and playback starts directly for the target UUID.
Wrap post-playback volume restoration in a dedicated try/except block so cleanup failures no longer interrupt the error-exit flow. Group and single-cast volume restores are still attempted, and failures are now logged with a clear debug message.
Move wait-queue registration to socket handling so commands take a ticket before worker threads start, preserving arrival order for TTS and media actions. Add centralized hold/exit handling in `getTTS` and `controllerActions`, remove duplicated queue enter/exit logic from casting/controller helpers, and simplify `castToGoogleHome` by dropping queue arguments. The TTS pipeline now also precomputes AI reformulation before queue blocking, reducing latency when the command reaches playback while keeping fallback behavior and queue cleanup in all paths.
Updates the assistant prompt in `resources/ttscastd/utils.py` to better define output style: no Markdown or emojis, while explicitly preserving accents, apostrophes, and language-specific typographic characters.
Move Markdown/emoji cleanup out of `genAI()` so raw Gemini output is preserved for result notifications, while TTS engines receive a cleaned plain-text version. Added the `emoji` dependency and updated `markdownToPlainText()` to strip emojis and normalize whitespace. AI prompt defaults were also relaxed to stop forcing no-Markdown/no-emoji output.
Apply `Functions.markdownToPlainText(...)` whenever AI-reformulated text is sent to TTS engines (Google Cloud TTS, gTTS, Jeedom TTS, and VoiceRSS) in both TestTTS and GenerateTTS flows. This ensures markdown formatting from AI output is cleaned before synthesis while keeping the original AI text for result reporting.
Reordered cleanup in `ttscastd.py` so volume restoration happens before `cast.quit_app()` in all affected playback flows. This preserves proper volume rollback (including group member snapshots) by avoiding restore calls after the cast app has already been closed.
Switch wait queue ticket handling from arithmetic (+/-) to bitwise set/clear operations (`|=` and `&= ~`) in `ttscastd.py`. This prevents duplicate registrations from inflating the queue value and avoids incorrect decrements on release. The special `wait=1` reset path was removed so queue state is managed consistently through bitmask semantics.
Remove the `> 0` guard in `waitQueueExit` so queue-bit cleanup runs whenever the target UUID exists. This ensures the wait token is consistently cleared and avoids stale queue state when the value is zero.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the TTS Cast plugin to version 1.11.2, focusing on improvements to AI model selection, dependency updates, and minor UI/UX adjustments. The changes clarify model deprecation timelines, update cost information, and improve requirements for better compatibility and features.
AI Model Selection & Information:
configuration.phpto clarify which Gemini models are recommended, which are deprecated (with deprecation dates), and updated pricing details. Deprecated models are now grouped and labeled with their respective end-of-support dates. [1] [2]UI/UX Improvements:
configuration.phpfor better alignment and usability.Dependency Updates:
google-genaito version 2.12.1 and added theemojipackage torequirements.txtfor enhanced AI and text processing capabilities.piper-ttsto version 1.5.0 inrequirements-piper.txtfor improved TTS features and bug fixes.System Prompt Adjustment:
utils.pyto require preservation of accents and typographic characters, improving language fidelity in responses.Versioning:
info.json.