Na mach als ersten Parameter aller Funktionen eine ID.
Delphi-Quellcode:
const
BASSVIS_SONIQUE = 1;
BASSVIS_WINAMP = 2;
BASSVIS_WMP = 3;
Intern verzweigst du dann einfach auf die spezifischen Funktionen. Das Set der
API-Funktionen wird vereinheitlicht. Erstelle ein Superset aller Funktionen. Einige Funktionen tun dann halt nichts.
Ich glaube BASS_SONIQUEVIS_CreateFakeSoniqueWnd und BASS_SONIQUEVIS_DestroyFakeSoniqueWnd koennen ganz aus dem
API fallen. Es sotlle doch moeglich sein das intern in der
DLL zu regeln.
BTW deklariere 'bass_vis.dll' als Konstante und verwende sie. Das spart ein bischen, da dann der String nur einmal vorhanden ist.