Limitations of Winamp 2.x
Skins only consist of static bitmap replacement. The app cannot be deployed with radically different interfaces or behaviors.
Plugins cannot publish interfaces to each other, thereby limiting their ability to leverage one another.
Winamp 2.x was not built with portability in mind.
Features of Winamp 3+
Skin engine:
- XML-based format
- freeform
- scripting
- emulation of Winamp 2.x skins
- on-the-fly bilinear filtered scaling of any winamp piece
- animations, realtime transformations
- alpha transparency
- color correction of any skin
Component architecture:
- allows any kind of plugin you can think of
- components become part of the system and extend it
- components can interoperate without even knowing who they are talking to
- component windows and interfaces are skinnable
- components are built with the same C++ library as the main product for consistency and to enable developers to quickly create powerful addons
- using a dispatchable interface to make interaction of multiple plugin versions easier
New audio playback system:
- crossfading
- "dsp" plugins can be stacked
- gapless output (even for cd playback)
Playlist:
- XML-based format
- ability to queue up files in playlist out of order (hold down alt)
- Media library
Database:
- caching
- queries
- multiple indexes and views on tables