Nochmal allgemein eine Erklärung zur BASS.DLL und ihren Versionen:
Innerhalb der gleiche “Haupt-Version” (hier 2.3) sollte man die BASS.DLL jederzeit problemlos austauschen können.
Man muss aber auch immer die BASSMIX.DLL, BASSENC.DLL und BASS_FX.DLL mit tauschen, weil die gegenseitig darauf angewiesen sind, in der jeweils gleichen Version vorzuliegen.
Eine Ausnahme bildet die BASSASIO.DLL, die ist grunsätzlich von den anderen unabhängig. Allerdings befindet BASSASIO sich noch im Beta-Stadium. Beim letzten Update (seit mAirList 2.1.39) war eine Änderung am Sourcecode notwendig. mAirList läuft also ab Version 2.1.39 nur mit der neuesten BASSASIO.DLL, die Versionen davor nur mit der älteren BASSASIO.DLL.
Ich habe für Version 2.1.41 nochmal die gesamten BASS-Routinen aufgeräumt und noch einmal die neuesten Delphi-Units von www.un4seen.com eingespielt. Vielleicht gab es irgendwo eine Mini-Änderung, die ich übersehen habe. Ich bin gespannt, ob das bei euch zu einer Besserung führt.
Ich werde in den nächsten Tagen eine kleine .exe-Datei zur Verfügung stellen, mit der sich hoffentlich ausprobieren lässt, woran es nun wirklich liegt - BASS.DLL, BASSASIO.DLL oder doch mAirList. Bitte noch etwas Geduld.
Das dort erwähnte Flag BASS_DEVICE_NOSPEAKER wird von mAirList bislang noch nicht verwendet. Ich werde es aber schnellstmöglich einbauen (optional natürlich). Damit sollte dann jedenfalls die Vertauschung der Kanäle bei WDM-Ausgabe Geschichte sein.
Dort drin findest du im Ordner “c\bin” diverse Testprogramme. Eins davon ist speakers.exe. Schau doch mal, ob du damit alle Lautsprecher angesteuert bekommst. Wenn ja, liegt das Problem bei mAirList. Wenn nein, dann an der BASSASIO.DLL.