clsid2 / mpc-hc

Media Player Classic
GNU General Public License v3.0
11.27k stars 495 forks source link

Multichannel ASIO renderer #463

Closed mbuchber closed 4 years ago

mbuchber commented 4 years ago

The Multichannel ASIO renderer is used by many people in connection with MPC-HC. The problem is, that if internal Audioswitcher filter is activated in MPC-HC, Multichannel ASIO Renderer will not load. There is one function in DSUtil.cpp that checks for the renderer. The change would be to modify/add GUID in the following function in DSUtil.cpp: bool IsAudioWaveRenderer(IBaseFilter* pBF)

MPC-HC DSUtil.Cpp.Changes.txt

Here, basically the GUID of the renderer needs to be added. Basically, there are 2 versions of the Multichannel ASIO Renderer, one very old one (Version 2.00) and a new and completely redone version starting from version 3.00. The old and new renderer has different GUIDs, so it would be nice if both of them would work. The new renderer can be found at: https://www.mb-software.at/audiorenderer-downloads/ (Version MPC-HC DSUtil.Cpp.Changes.txt 3 and above) The old (legacy) version (Version 2.00 and lower) is still around, but has known bugs and limitations.

Here are the GUIDs: Old 2.00 Version "Multichannel ASIO Renderer": 8DE31E85-10FC-4088-8861-E0EC8E70744A New 3.00 Version: "MBSE Multichannel ASIO Renderer": 205F9417-8EEF-40B4-91CF-C7C6A96936EF

It would be great if you could add/change the GUID of the new version. Version 2.00 is dead and will not be developed further.

Suggested change attached...

Thanks and best regards, Michael Buchberger

vladaurosh commented 4 years ago

Hello Clsid. You may want to add these 2 as well, MediaPortal Audio Renderer and Surodev Asio Renderer. clsid == GUIDFromCString(L"{EC9ED6FC-7B03-4cb6-8C01-4EABE109F26B}") || // MediaPortal Audio Renderer clsid == GUIDFromCString(L"{50063380-2B2F-4855-9A1E-40FCA344C7AC}") || // Surodev ASIO Renderer

Thanks, Vlad

EDIT: I just saw that last commit added all these 3rd party rendered, Very nice!

mbuchber commented 4 years ago

Thanks for fast correction! Perfect!