From: Anton Baskanov <baskanov(a)gmail.com> --- dlls/dmime/performance.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c index ac0777c2dc0..ef33fc3dac6 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -1379,6 +1379,8 @@ static HRESULT WINAPI performance_SetGlobalParam(IDirectMusicPerformance8 *iface void *pParam, DWORD dwSize) { struct performance *This = impl_from_IDirectMusicPerformance8(iface); + struct channel_block *block; + int i; TRACE("(%p, %s, %p, %ld)\n", This, debugstr_dmguid(rguidType), pParam, dwSize); @@ -1396,6 +1398,11 @@ static HRESULT WINAPI performance_SetGlobalParam(IDirectMusicPerformance8 *iface } if (IsEqualGUID (rguidType, &GUID_PerfMasterVolume)) { memcpy(&This->lMasterVolume, pParam, dwSize); + RB_FOR_EACH_ENTRY(block, &This->channel_blocks, struct channel_block, entry) + { + for (i = 0; i < ARRAYSIZE(block->channels); ++i) + set_port_volume(block->channels[i].port, This->lMasterVolume); + } TRACE("=> MasterVolume set to %li\n", This->lMasterVolume); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9259