0
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2025-02-07 20:59:51 +00:00
2024-11-14 22:22:38 +01:00

46 lines
1.2 KiB
Python

import pulseaudio
import service
import utils
class Service(service.Service):
@utils.logged_method
def __init__(self):
self.pulseaudio = pulseaudio.PulseAudio()
backend = "pulseaudio"
device = self.pulseaudio.get_device()
file = self.pulseaudio.get_file()
super().__init__(backend, device, file)
@utils.logged_method
def run(self):
with self.pulseaudio:
yield from super().run()
def on_event_paused(self, **kwargs):
self.pulseaudio.suspend_sink("0")
self.player.do_paused(**kwargs)
def on_event_playing(self, **kwargs):
self.pulseaudio.suspend_sink("0")
self.player.do_playing(**kwargs)
def on_event_position_correction(self, **kwargs):
self.player.do_seeked(**kwargs)
def on_event_seeked(self, **kwargs):
self.player.do_seeked(**kwargs)
def on_event_stopped(self, **_):
self.player.do_stopped()
self.pulseaudio.suspend_sink("1")
def on_event_track_changed(self, **kwargs):
self.player.do_track_changed(**kwargs)
def on_librespot_started(self):
self.pulseaudio.suspend_sink("1")
def on_librespot_stopped(self):
self.pulseaudio.suspend_sink("1")