SDL_Mixer Проблемы с громкостью MIDI в Windows Vista / 7

На самом деле я не очень хорошо разбираюсь в C ++ или SDL_Mixer, но я все равно задаю этот вопрос от имени сообщества Doom. Проще говоря, никто, пишущий порты источников Doom, похоже, не может понять, как управлять нормальной громкостью звука и громкостью звука MIDI независимо с помощью SDL_Mixer в Windows Vista или 7. I ' Позвольте Джеймсу Хейли, автору Eternity Engine, выразить это своими словами:

Кажется, концепция независимой громкости для встроенного MIDI не существует в Windows Vista или 7, как использование ползунков громкости MIDI в любом приложении, в котором они есть. (включая большинство игр, использующих SDL_mixer) также влияет на громкость вывода цифрового звука. Это делает невозможной попытку отрегулировать относительную громкость музыки для комфорта.

Кто-нибудь нашел обходные пути для этого? Я предполагаю, что это маловероятно, учитывая, что Microsoft, похоже, сэкономила на всей ОС в любом способе управлять громкостью отдельных звуковых устройств по отдельности.

Я слышал о различных обходных путях, связанных с драйвером Timidity, но для этого от пользователя требуется не только просто установить игру в своей системе. Единственный известный мне порт, который окончательно решает эту проблему, - это ZDoom, но он использует несовместимый с GPL FModEx и, следовательно, не является подходящим решением.

Если вы хотите посмотреть какой-то код, Chocolate Doom, возможно, самый простой Doom порт исходного кода на Grok, и вы можете получить его исходный код здесь .

Также приветствуются любые предложения по другим библиотекам звука и музыки с открытым исходным кодом.

6
задан AlexMax 3 May 2011 в 02:58
поделиться