12 Commits
Author SHA1 Message Date
imonlinux 4da78c7435 Update mpv_player.py
What this fixes:

On boot, if PipeWire/Pulse starts with the sink at ~40%, LVA now pushes the sink volume to match the persisted LVA volume (0.0–1.0).

When you move the HA media_player volume slider, LVA now updates:

wpctl (PipeWire) if available

pactl (PulseAudio / PipeWire-Pulse) if available

amixer (ALSA) as a fallback

No reboot / alsactl store required — LVA simply re-applies the persisted volume at start.
2026-01-05 21:52:41 -08:00
imonlinux 7abce1060d Update mpv_player.py
Fix play status sync error between mpv and HA when skipping tracks.
2025-12-11 18:46:31 -08:00
imonlinux 93ceffebae Update mpv_player.py
Removed the home-grown backend probing / priority logic (pipewire → pulse → alsa) when no device is explicitly configured.

Kept support for explicitly specifying an audio_output_device in the config/CLI; if provided, it is passed through to mpv.

Added debug logging after mpv initialization to show:

current ao

current audio-device

the full audio-device-list
2025-11-21 11:00:03 -08:00
imonlinux bd21743c49 Update mpv_player.py
Fix bug with audio backend detection. ALSA was not being detected correctly.
2025-11-17 16:46:15 -08:00
imonlinux 64c46fce2d Update mpv_player.py
added loop: asyncio.AbstractEventLoop to __init__ and used self.loop.call_threadsafe in _run_done_callback
2025-11-17 14:42:06 -08:00
imonlinux 31ea2762a3 Add support for PipeWire, PulseAudio, and Alsa
Selects the best available audio output backend for mpv.
    
The selection follows a clear priority:
    1. A fully qualified device string (e.g., 'alsa/plughw:...') is used directly.
    2. A simple device name tries PipeWire, then PulseAudio, then ALSA.
    3. No device specified (or 'default') tries the default for PipeWire, PulseAudio, and ALSA in order.
2025-10-14 18:35:30 -07:00
imonlinux d98ed168a4 Simplify mpv_player.py Backend dection logic code cleanup 2025-10-14 15:45:26 -07:00
imonlinux efbcbc599f Implement Volume Persistence
Updates the MpvMediaPlayer constructor (__init__) to accept an initial_volume parameter.

This allows the volume to be set immediately when the mpv process is created, applying the saved setting at startup.
2025-10-11 15:34:09 -07:00
imonlinux 70ca927617 bug squashing 2025-10-10 19:40:01 -07:00
imonlinux 21a0108a82 Indentation Bug mpv_player.py 2025-10-10 19:36:23 -07:00
imonlinux 6a66bd7128 Add PulseAudio and PipeWire functionality to mpv_player.py 2025-10-10 19:11:21 -07:00
Michael Hansen 4356633ed6 Rename to Linux Voice Assistant 2025-08-26 09:30:58 -05:00