I'm developing a .NET library to work with MIDI files and MIDI devices (DryWetMIDI
). I have an issue related to setting volume to Microsoft GS Wavetable Synth (https://github.com/melanchall/drywetmidi/issues/75
) using WinAPI functions. Here steps to reproduce the problem:
- call midiOutGetDevCaps to determine whether device supports volume control or not; for Microsoft GS Wavetable Synth the MIDICAPS_VOLUME flag is set;
- call midiOutSetVolume to set volume.
After that exception will be thrown. In user's case the exception is This function is not supported. Use the Capabilities function to determine which functions and messages the driver supports
. In test on my machine I get There is no driver installed on your system
Looks like bug in Microsoft GS Wavetable Synth. Or maybe midiOutSetVolume is obsolete? Why this happens? Volume control should be supported but changing the volume throws an exception.