Skip to content

When soundSplitter is active, the volume of NVDA cannot be changed #6

@paulber19

Description

@paulber19

Some add-ons like soundManager, NVDAExtensionGlobalPlugin, volumeAdjustment, allow modification of the NVDA volume.
But when soundSplitter is active, this is no longer possible.
In the "noWASAPI_preWaveOpen" function this is clearly announced:

All we care about is splitting sounds, so set volume to 100 percent always.

volume = 100
volume2 = int(0xFFFF * (volume / 100))

In order for other add-ons to continue to function normally when soundSplitter is active, this function should take the current volume into account.
This can perhaps be done like this:
from ctypes import wintypes
from ctypes import byref
curVolume = wintypes.DWORD(0)

get current volume

winmm.waveOutGetVolume(selfself._waveout, byref(curVolume))
curVolume = curVolume.value
volume2 = int(curVolume) if curVolume <= 0xffff else int(curVolume>> 16)
Please find a solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions