Bladeren bron

fix: mute video wallpapers when --silent is used (#605)

--silent sets audio.enabled = false, but CVideo always initialised the mpv
player with the configured volume, so video (mpv) wallpapers kept playing
audio; only --volume 0 muted them. Honour audio.enabled when setting the
initial volume so --silent mutes video wallpapers too.

Fixes #482
Karashi 3 maanden geleden
bovenliggende
commit
ab76bc0264
1 gewijzigde bestanden met toevoegingen van 4 en 1 verwijderingen
  1. 4 1
      src/WallpaperEngine/Render/Wallpapers/CVideo.cpp

+ 4 - 1
src/WallpaperEngine/Render/Wallpapers/CVideo.cpp

@@ -25,7 +25,10 @@ CVideo::CVideo (
 	this->getContext (), this->CWallpaper::getWallpaperTexture (), videopath, 64, 64,
 	this->CWallpaper::getWallpaperFramebuffer ()
     );
-    this->m_player->setVolume (this->getContext ().getApp ().getContext ().settings.audio.volume * 100.0 / 128.0);
+    // --silent disables audio (audio.enabled = false) and must mute video wallpapers too;
+    // a volume of 0 mutes the mpv backend (matching what --volume 0 already does).
+    const auto& audioSettings = this->getContext ().getApp ().getContext ().settings.audio;
+    this->m_player->setVolume (audioSettings.enabled ? audioSettings.volume * 100.0 / 128.0 : 0.0);
     // make sure the video has at least one usage marked, this ensures the video plays
     this->m_player->incrementUsageCount ();
 }