Restore configured volume after playback stops
This commit is contained in:
@@ -716,6 +716,7 @@ class MumbleBot:
|
||||
var.cache.free_and_delete(current.id)
|
||||
else:
|
||||
self._loop_status = 'Empty queue'
|
||||
self.restore_default_volume()
|
||||
else:
|
||||
# if wait_for_ready flag is true, means the pointer is already
|
||||
# pointing to target song. start playing
|
||||
@@ -855,6 +856,7 @@ class MumbleBot:
|
||||
self._cleanup_ffmpeg_process() # Ensure proper cleanup
|
||||
var.playlist.clear()
|
||||
self.wait_for_ready = False
|
||||
self.restore_default_volume()
|
||||
self.log.info("bot: music stopped. playlist trashed.")
|
||||
|
||||
def stop(self):
|
||||
@@ -865,8 +867,21 @@ class MumbleBot:
|
||||
self.wait_for_ready = True
|
||||
else:
|
||||
self.wait_for_ready = False
|
||||
self.restore_default_volume()
|
||||
self.log.info("bot: music stopped.")
|
||||
|
||||
def restore_default_volume(self):
|
||||
if not var.config.getboolean("bot", "restore_volume_on_stop"):
|
||||
return
|
||||
|
||||
max_volume = var.config.getfloat("bot", "max_volume")
|
||||
if var.db.has_option("bot", "max_volume"):
|
||||
max_volume = var.db.getfloat("bot", "max_volume")
|
||||
|
||||
target_volume = min(var.config.getfloat("bot", "volume"), max_volume)
|
||||
self.volume_helper.set_volume(target_volume)
|
||||
var.db.set("bot", "volume", str(target_volume))
|
||||
|
||||
def _cleanup_ffmpeg_process(self):
|
||||
"""Properly cleanup FFmpeg process and associated resources"""
|
||||
if self.thread:
|
||||
|
||||
Reference in New Issue
Block a user