MPV should respect volume levels now

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
This commit is contained in:
Alexis Maiquez 2023-02-07 11:29:57 +01:00
parent 95713ae439
commit 26f6156f34
4 changed files with 10 additions and 1 deletions

View File

@ -66,5 +66,7 @@ int main (int argc, char* argv[])
// show the wallpaper application
app.show ();
appPointer = nullptr;
return 0;
}

View File

@ -20,6 +20,9 @@ using namespace WallpaperEngine::Application;
CWallpaperApplication::CWallpaperApplication (CApplicationContext& context) :
m_context (context)
{
// copy state to global variables for now
g_AudioVolume = context.audioVolume;
g_AudioEnabled = context.audioEnabled;
this->setupContainer ();
this->loadProject ();
this->setupProperties ();

View File

@ -12,7 +12,7 @@ using namespace WallpaperEngine::Audio::Drivers;
void audio_callback (void* userdata, uint8_t* streamData, int length)
{
CSDLAudioDriver* driver = reinterpret_cast <CSDLAudioDriver*> (userdata);
auto* driver = reinterpret_cast <CSDLAudioDriver*> (userdata);
memset (streamData, 0, length);

View File

@ -5,6 +5,7 @@
#include <GL/glew.h>
extern bool g_AudioEnabled;
extern int g_AudioVolume;
using namespace WallpaperEngine;
using namespace WallpaperEngine::Render;
@ -19,6 +20,8 @@ CVideo::CVideo (Core::CVideo* video, CRenderContext* context, CAudioContext* aud
m_width (16),
m_height (16)
{
double volume = g_AudioVolume * 100.0 / 128.0;
// create mpv contexts
this->m_mpv = mpv_create ();
@ -37,6 +40,7 @@ CVideo::CVideo (Core::CVideo* video, CRenderContext* context, CAudioContext* aud
mpv_set_option_string (this->m_mpv, "hwdec", "auto");
mpv_set_option_string (this->m_mpv, "loop", "inf");
mpv_set_option (this->m_mpv, "volume", MPV_FORMAT_DOUBLE, &volume);
// initialize gl context for mpv
mpv_opengl_init_params gl_init_params {get_proc_address, nullptr};