From c91511c93ef08aab5db6204b6eed32a4ab9c069f Mon Sep 17 00:00:00 2001 From: Omar Amin <65174210+omaramin-2000@users.noreply.github.com> Date: Sat, 21 Feb 2026 16:24:40 +0200 Subject: [PATCH] Initialize volume from preferences on startup Load initial volume from preferences and constrain it between 0.0 and 1.0. Set volume for music and TTS players based on initial volume. --- linux_voice_assistant/__main__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/linux_voice_assistant/__main__.py b/linux_voice_assistant/__main__.py index af92b7b..7f303e0 100644 --- a/linux_voice_assistant/__main__.py +++ b/linux_voice_assistant/__main__.py @@ -246,6 +246,11 @@ async def main() -> None: else: preferences = Preferences() + # Load volume from preferences on startup, and ensure it's between 0.0 and 1.0 + initial_volume = preferences.volume if preferences.volume is not None else 1.0 + initial_volume = max(0.0, min(1.0, float(initial_volume))) + preferences.volume = initial_volume + if args.enable_thinking_sound: preferences.thinking_sound = 1 @@ -308,11 +313,16 @@ async def main() -> None: preferences_path=preferences_path, refractory_seconds=args.refractory_seconds, download_dir=args.download_dir, + volume=initial_volume, ) if args.enable_thinking_sound: state.save_preferences() + initial_volume_percent = int(round(initial_volume * 100)) + state.music_player.set_volume(initial_volume_percent) + state.tts_player.set_volume(initial_volume_percent) + process_audio_thread = threading.Thread( target=process_audio, args=(state, mic, args.audio_input_block_size),