djstein.com | projects | Winamp Proxy
Winamp Proxy
Abstract: Playing multimedia in a Windows project can be difficult: many APIs are available from Microsoft (WinMM, DirectSound, DirectShow, Xaudio2, and Windows Media Player plug-ins) and other vendors, but all have an incomplete feature set, and compatibility issues and documentation gaps abound. For some projects, it may be easiest to stream audio through a running instance of Winamp through its (very limited) support for remote control through interprocess communication, which is documented in a package called the Winamp SDK.
This project is a set of classes that offer various ways of interfacing with Winamp:
- The lowest-level class (WinampInterface) simply acts as a messaging proxy, so that .Net projects (particularly C#) can send commands to Winamp and get some (limited) information about its status.
- A more sophisticated class (WinampProxy) adds an internal polling component that offers on-demand information and subscribable events that are fired on significant status changes of Winamp.
- An even more sophisticated class (WinampQueue) improves the playlist queue by expanding the range of queue management functions.
- A Windows user control (WinampUserControl) provides a graphical control that can be dropped into a Windows Forms project to permit the user to control the enqueuing and playing of media through Winamp.
Two demo projects are also included that demonstrate the properties and capabilities of these classes.
Version: 1.0 - last updated Friday, September 05, 2008
Links: Download (Contents: Executable (Windows), Source Code (C#))
Screenshots: