Quick Links   dBpoweramp [Music Converter,  Audio PlayerCD Writer]    Sveta Portable Audio,    Codec Central,    Register dBpoweramp,     Spoons Audio Guide

 

   

Developer Corner - Input Decoder Dll

 
An input decoder DLL enables dBpowerAMP, or dMC to read from an non-previously supported audio file type. 
Example Raw Input Decoder DLL (23KB) Example that reads Raw PCM (a wave file without a header). Written in Visual C++ V6.
 
   

Spoons Tips

 
dBpowerAMP is has advanced features such as crossfade, because of  this you will want to write your DLL as a class based object system (the raw example does this), as crossfade will create a 2nd instance of your input DLL whilst the other one is still active, so global variables are a no no. When dBpowerAMP calls CreateANewDecoderObject you can return a pointer to a new class you have created, this pointer is supplied to all the other calls which require it.

When OutputWantsABlockOfData is called, you should try to return as much data as you can, rather than small chunks (as OutputWantsABlockOfData is only called 10 times per second, or so).

If your DLL streams data out (i.e. gives dBpowerAMP data) then functions such as SetVolume, Pause, Unpause should not be used (dBpowerAMP's own output DLLs handle this).

ShowAboutOptionsPage should create a dialog message with the style MB_TOPMOST, or a window with WM_TOPMOST style.