Title: Winamp Proxy
Author: David J. Stein, Esq.
Version: 1.0 - last updated Friday, September 05, 2008


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:

Two demo projects are also included that demonstrate the properties and capabilities of these classes.

Installation Instructions: Just unzip the archive. You may run the enclosed executable demos. To use any of these classes in your project, simply reference the compiled DLLs and include "using WinampProxyNS;" in the header of your .Net code.

Operating Instructions: Operation is fairly easy:

Comments: This project arose out of a need to use a multimedia library in a DJing application (SpinDragon), and a mountain of frustration ensuing from many false starts and dead-ends. The state of multimedia programming on Windows is tragically broken... so much so that my fairly straightforward project almost foundered for lack of a simple solution! It's quite telling that, after 20+ hours of research and experimentation, I settled on a platform and interface dating from the 20th century... I am hopeful that may efforts This project builds on and combines the efforts of many predecessors. Most directly, this project descends from earlier work by Polis Pilavas (available at CodeProject) that ported most of the Winamp SDK to C#. Other support was provided in the fom of various bits of code for particular functions, such as determining the length of an MP3 file (thanks to Gustav Munkby and Robert Wlodarczyk) and invocation of earlier libraries through interop services (thanks to Giorgi Dalakishvili and Craig Cook.) Extensive comments and documentation are available in the file entitled "Winamp Proxy documentation.txt" included with the Winamp Proxy project package.

Application History:

Questions/Comments: Please contact David J. Stein, Esq. via email at djs10@po.cwru.edu.

Terms and Conditions of Use: Please see the enclosed "License.html" file for terms and conditions of use of this software package.