Writing Plug-ins
Winamp plug-ins are files that extend Winamp's functionality. There are currently seven
different plug-in types, each of which extends Winamp in a particular way. Winamp plug-ins
are implemented as 32-bit Windows DLLs. Here are the plug-in categories:
- Input plug-ins: Input plug-ins give Winamp the ability to play additional file types that aren't supported by Nullsoft directly.
- Output plug-ins: Output plug-ins allow Winamp to manifest audio data in different ways.
- General purpose plug-ins: Anything that needs to run continuously in the background or doesn't require audio processing qualifies as a General purpose plug-in.
- DSP/effect plug-ins: DSP Plug-ins manipulate audio data before actually being sent to the speakers (or whatever the Output plug-in decides to do with it).
- Visualization plug-ins: "Vis" plug-ins display some sort of visual effect based on audio that's being decoded by Winamp.
- Language packs: Language packs are used to internationalize Winamp to the language of your choice.
- Media Library plug-ins: Media Library plug-ins extend the media library for instance, for portable devices such as iPods, accessing Media Library databases, etc.
All of the plug-ins are designed to be written in C or C++, using Microsoft Visual C++ 4.0 or later. Other people have reported success with writing some forms of plug-ins using Delphi, LCC, and Visual Basic. We don't use these alternate development platforms, so we can't really support development on them (writing this page alone took way too much time, wink). The Winamp forums is a good place to start.