Voice Processor (VP) multipass feature allows configuring lists of voices
that are first mixed (in order) into a designated mixbin which is then used
as a sample source when processing voices with multipass flag set to true
in NV_PAVS_VOICE_CFG_FMT. Setting correct voice order in lists is the
responsibility of the game/application and in practice is handled by the
DirectSound library. The multipass mixbin is hardcoded to 31 in
DirectSound, but hardware would allow other bins.
This implementation also adds additional info to audio debug UI to see what
the source and destination voices involved are. The info is only shown
when DSP processing is off, i.e. "VP Only" (MON_VP) is selected. This is
because storing the voice numbers requires additional digging which is
required for MON_VP anyway and therefore is free. The multipass feature
itself works fine with DSP (i.e. GP and EP) enabled, only the additional
debug info is not shown.
* Added XMU Settings to the Input Screen
* Added Peripherals to config
* Prevent overwriting existing XMUs
* Added blockdev.h to try to fix the MacOS build
* Fixed some issues that antangelo pointed out
* Moved the peripheralType and param vars into the loop
* Moved fatx.h and fatx.c to ui\thirdparty\fatx
* Added Validation for Peripheral Settings
* Fixed some nits that were pointed out
* don't pass NULL into xemu_settings_set_string
* Changes following Matt's recommendations
* Changes to XMU FilePicker
* XMU image auto-bind logic refactor
* renamed peripheralType to peripheral_type
* removed unnecessary calls to g_strdup_printf and g_free
* Cleaned up some comments, removed an unnecessary variable
* handle overwrite prompt in Windows
* Fixed some code format and style inconsistencies
* More formatting fixes
* Fixed a few memory leaks
* qemu_access: check for Read and Write access
* Run clang-format
* Remove unused xemu_new_xmu declaration
* Fix use after free in rebind code
* rebase code
* remove unsused item
* restore "system" displaying on first boot
* restore popup menu functions (separate commit)
* restore snapshot function in popup menu
* get current index value from config file