Welcome to Winamp's Developer Network wiki. By consolidating Winamp documentation, code samples, reference materials, and sample articles, we've created a one-stop shop for all things related to Winamp development. The purpose of this site is to help facilitate the development of Winamp skins, plug-ins, and visualization presets. In order to offer the most relevant material (and since no one is more of an expert than you), our goal is to present a wiki that is updated, maintained, and moderated by the Winamp developer community. Initially, the core pages of the site will be locked except for the FAQ page and the Article page. Feel free to create your own page with sample code and examples and link it to the Articles page, or help our build out the developer FAQ.
Why develop for Winamp, you ask? Besides being a kickass media player with a flexible programming platform, Winamp has a very loyal fan base with over 72 million worldwide users per month. So chances are your creative masterpiece will live well beyond the boundaries of your hard drive. Now that we've got your creative juices flowing (or at a minimum, appealed to your desire for fame and adoration), you can use the Developer Network as a springboard for everything you need. Most importantly, you can upload your creation and share it with the World. (Note: You'll need a winamp.com account to upload).
How to use the Wiki
If you've never edited a wiki before, you might want to check out Wikipedia: How to edit a pagefor some pointers.
Who Should Use the Wiki
This wiki is for everyone. Whether you're a seasoned vet, intermediate coder, loyal fan, or even newbie. Primarily though, it's for Winamp developers and user-contributors who want to be actively engaged in the advancement of the Winamp media player. Either by leveraging the content of this site to build better skins, plug-ins, and visualizations; or by sharing your knowledge and expertise with the community.
To put it as simply as possible, skins change the way your Winamp player looks. If you want to get fancy and say that it changes the GUI (graphical user interface) then you can, but really all you need to know is if you download or create a new skin, Winamp will put on a little mask and pretend to look different. Check Skin Developer page for more details.
Based on the Winamp 2 model, Classic skins are easier to create than Modern skins, but they do not allow the developer to change the form or function of the player. Classic skins developers may only replace a standard set of images that alter the player's visual appearance.
Modern skins are skins that adhere to the Winamp 3+ skin model. Modern (or freeform) skins offer developers a tremendous amount of flexibility by allowing you to change the player's shape, size, layout, and function. Learn how to create a modern skin for Winamp!
You know those funny dancing colors you see when you hear music – and no Autumn Moonpuppy, I’m not talking about that time you "toured" with The Dead. Visualizers are dynamic add-ons that produce images, colors, and textures that change based elements of the music being played. Winamp offers two primary visualization platforms (AVS & MilkDrop) allowing you to create different presets. If you’re feeling invincible, you can even attempt to create your own visualization environment.
Plug-ins can pretty much do anything! ...within reason, of course. You can alter the sound of your music, turn your mobile phone into a Winamp remote control, or if ya’d like, translate Winamp into another language. Basically, we’ve made the platform flexible enough so that you can craft your idyllic feature and plug it right into Winamp.
Types of Plug-ins
There are all kinds of categorizes of plug-ins: Input, Output, Visualization, DSP/Effect, General Purpose, Media Library and Portables. That means, you can go nuts in discovering how a single plug-in can change your life. You can read up on the taxonomy of a plug-in here.
Start Creating Your Plug-in
If you feel like developing one yourself, you can –
- Check out the suggested tools
- Read-up on the SDK documentation
- Download the SDK
- Visit the Winamp Forums
- Submit your plug-in. Ain’t it easy?
- Articles - link consolidation of all articles written by all types of developers
- SDK Documentation
- Download the SDK
- Frequently Asked Questions
- Skin Developer
- Visual Developer
- Plug-in Developer
Glossary of Terms
- Agent - Winamp's taskbar component. Maintains file type associations.
- APE - Advanced Plug-in Effect. Third party Effect Module created for AVS.
- AVS - Advanced Visualization Studio comes bundled with Winamp. Allows endless user customization.
- Base Skin - The standard skin built into Winamp. Also the downloadable template used to create new skins.
- Bookmark - Winamp feature that allows quick access to favorite songs or streams.
- Codec - Short for coder/decoder. A software program for converting between digital data and analog signals. Winamp uses codecs to play many different kinds of audio files.
- Developer - Any one who creates a skin or writes an application or plug-in for Winamp.
- Discussion List - A mailing list hosted by Winamp.com to help foster the developer community.
- DLL - Dynamically Linked Library. A Win32 property that allows Winamp's plug-in architecture.
- DoubleSize Mode - Winamp option that doubles the width and height of the Main and Equalizer components.
- DSP Plug-in - A plug-in that manipulates audio data before being sent to the speakers.
- Easter Egg - A programming term used for a hidden, often humorous feature.
- Equalizer - Winamp component that allows audio tweaking for optimal sound quality.
- FAQ - Frequently Asked Questions.
- Forum - A message board hosted by Winamp.com to help foster the Winamp community.
- Flounder - Any of various marine flatfishes of the families Bothidae and Pleuronectidae, which include important food fishes.
- General Purpose Plug-in - A plug-in that does not require access to audio data.
- Input Plug-in - A plug-in that adds a new file type to Winamp's list of supported types.
- IPC - Inter-process communication. Basically, anytime one program communicates with another.
- Language Pack - A special plug-in that translates most Winamp text.
- Llama - A domesticated South American ruminant mammal (Lama glama) related to the camel, raised for its soft, fleecy wool. The only animal fully endorsed by Nullsoft.
- Mini-browser - Winamp component that allows internet browsing during audio play.
- MP3 - MPEG-1 Audio Layer 3. A digital audio compression algorithm that acheives a compression factor of about twelve while preserving sound quality.
- NSDN - Nullsoft Developers Network. The developers source for official Nullsoft information.
- NSIS - Nullsoft Scriptable Install System. Nullsoft's in-house installer utility. Required for plug-in installation.
- Nullsoft - Group of benevolent artisans who revolutionize the computer world on a regular basis.
- Output Plug-in - A plug-in that directs audio flow to one or more destinations.
- PiMP - Plug-in Mini Packager. Predecessor to NSIS.
- PMP - Portable Media Player. Creative Zen, Apple iPod, etc. Not to be confused with the original name for NSIS (PiMP).
- Playlist Editor - Winamp component that allows easy sorting and sequencing of audio files.
- Plug-in - Basis of Winamp architecture. Allows third parties to add functionality to Winamp by "plugging in" additional code.
- Preset - Visually pleasing sequence of Effect Modules in AVS or Milkdrop.
- SDK - Software Development Kit. All the tools you need to perform a programming job.
- SHOUTcast - Nullsoft's internet streaming MP3 solution.
- Skin - Interchangeable visual interface for Winamp.
- Visualization Plug-in - A plug-in that uses audio data to drive graphics.
- WAL - Required format for Modern skins before submittal.
- WAV - Widely used uncompressed audio format. Usually more than 10X larger than MP3.
- Winamp - The ultimate high-fidelity music player for Windows 2000/XP/Vista. Winamp supports MP3, CD and other audio formats, not to mention hundreds of plug-ins and thousands of skins.
- Winamp.com - Official website of Winamp. Houses all approved skins, plug-ins, updates, forums, etc.
- WindowShade Mode - Winamp option that shrinks most components to a narrow bar with only most basic functionality.
- WSZ - Required format for Classic skins before submittal.
- WVS - Obsolete name for AVS.
Check out the Developers FAQ. Not to mistaken for the standard frequently asked questions that live on the Winamp Forums (although there may be some overlap. This FAQ is specific to developers.
Contribute to the Wiki
Just like the success of Winamp itself, the success of the Developer Network relies on you. We encourage everyone to contribute. From the expert developer, to the passionate user. Your updates, additions, and moderation efforts are critical and we definitely appreciate your efforts making this one of the premier developer sites.