I don't use acm, now I use dynamic libraries(dll) and thereafter, I want to use static libraries (lib or obj) to produce only one exe (without dll or acm that i beleive must be installed).
Indeed, there is two point of view but I insist, if we separe audio data (WaveStorage) and audio playing (other files), as It's already done at 99%
(1%=TStockAudioPlayer.GetWaveFormat that use GetWaveAudioInfo directly without use TWave Stream), and if audio data class (Twave) is modify to use codec,
we will be able to create, only one object that herit of Twave or IAbstractWave to do encoding, decoding and seeking, and also we will be able use this object in all Players (TAudioPlayer and TStockAudioPlayer, idem for recorders).
Add to this, we will also add a RegisterClass system that can purpose to TAudioPlayer and TStockAudioPlayer to chose between wave or differents codecs installed in delphi).
The "problem" is that TStockAudioPlayer was wrote to use every type of stream directly, and not Twave and TWaveStorage only.
So, if somebody use TStockAudioPlayer without use Twave or TWaveStorage object, it's can be a problem to change it.
Now, we must to wait for Kambiz reply, only the boss can tell us how we can do.