Winamp.com Developer Network Blog Gear Download Winamp AOL Developer Network
  • getting started
  • developers
    • skins
    • visualizations
    • plugins
    • online services
  • wiki
  • community
    • help winamp
    • blog
    • forum
  • news
  • downloads
  •  

Plug-in Developer

From Winamp Developer Wiki

Jump to: navigation, search

Wiki Main : Skin Developer : Visual Developer : Plug-in Developer : Online Service Developer : SHOUTcast Broadcaster : SHOUTcast Developer : Articles Page : FAQ : Glossary

Contents

  • 1 Plug-in Overview
    • 1.1 Writing A Plug-in
      • 1.1.1 Basic start
    • 1.2 Submitting Your Plug-in
      • 1.2.1 Submission Checklist
      • 1.2.2 Plug-in Category Descriptions
  • 2 Tools
  • 3 SDK Documentation
  • 4 Resources
  • 5 Community Links

Plug-in Overview

Writing A Plug-in

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:

  1. Input plug-ins: Input plug-ins give Winamp the ability to play additional file types that aren't supported by Nullsoft directly.
  2. Output plug-ins: Output plug-ins allow Winamp to manifest audio data in different ways.
  3. 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.
  4. 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).
  5. Visualization plug-ins: "Vis" plug-ins display some sort of visual effect based on audio that's being decoded by Winamp.
  6. Language packs: Language packs are used to internationalize Winamp to the language of your choice.
  7. 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.

Most of the plug-in types (with the exception of Language packs) export one function, which is used to query the plug-in of its interface. The way each plug-in is queried varies, and will be covered on a type-by-type basis.

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 are a good place to start.

Basic start

Check out the Beginner's Basic Plugin Guide.

Submitting Your Plug-in

Once your plug-in is bug-free, the ultimate step is to share your masterpiece with the world. This is where Winamp.com steps in. Submitting your plug-in will allow people all over the world to enjoy the fruits of your labor. To do this, just follow these steps:

  1. Go to www.winamp.com/user/submit
  2. Click the "Submit a plug-in" button.
  3. Fill in the blanks:
    1. Name: The name of your plug-in.
    2. Comment: The short blurb that comes up when people browse the plug-ins page.
    3. Description: The longer blurb that is displayed when people view the plug-in details page.
    4. Categories: Choose Primary and/or Secondary (optional) categories to properly sort your plug-in.
    5. Thumbnail: Click on the "Browse" button to find the .gif, .jpg, or .png file on your computer. Note: the image file dimensions should be no larger than 178px by 75px.
    6. Screenshot: (Full-sized screenshot of your plug-in.) Click on the "Browse" button to find the .gif, .jpg, or .png file on your computer. Note: the image file dimensions should be no larger than 275px by 600px.
    7. Plug-in File: Click on the "Browse" button to find your PiMP-ed .EXE file on your computer.
  4. Click the "Submit" Button, and...
  5. Voila! Your plug-in is on its way to being displayed before the world.

Submission Checklist

Please ensure that your Plugin meets the following terms before submitting it to www.winamp.com:

  • Your Plugin is tested and won't blow away other's computers due to silly bugs. For getting your plugin tested, please post it in this forum first.
  • You have packed the Plugin with an installer that auto-detects the Winamp installation directory (or where the plugin should go to in order to work). We recommend using NSIS. It is free and you can find an example installer script here.
  • You havn't submitted the plugin already. If so, please use the 'edit' function for your plugin shown in your User Account Central.

Plug-in Category Descriptions

Please choose the categories thoughtfully. It will make finding your plug-in much easier if it is in the right categories.

AVS Presets: Any presets or APEs for Nullsoft's AVS plug-in. DSP/Effect: Manipulates audio data. Encoding: Plug-ins that encode media. Games: Any plug-in that takes input and rewards "good" behavior. General: Does not depend on audio data to run. Input: Reads new audio file type. Language Packs: Translates Winamp to a new language. Output: Converts to new type of audio file or sends audio through alternate path. Plug-in Skins: Plug-ins that change the look and feel of Winamp. Portable Devices: Plug-ins that interact with removable media. Visualizations: Visualization ... plug-ins.

Tools

  • Visual Studio 6.0 or higher (Visual Studio 2003 is highly recommended.You can download a free copy of Visual Studio Express from Microsoft. Unfortunately it is a newer version and not full-featured and we cannot guarantee that the SDK examples will work properly with this edition.
  • Nullsoft Scriptable Install System or other installer software for packaging your completed plug-in. Check this example for creating a NSIS Installer for your plugin.
  • 7-Zip or other archiver for packaging your WSZ or WAL skin files.

SDK Documentation

The SDK includes everything you'll need to develop a Winamp plug-in. It also includes a basketful of example plug-ins to get you going. It is recommended that you create your plug-in as a subdirectory of the install path ("C:\Program Files\Winamp SDK" by default) as the #include paths of the examples assume this.

  • SDK Contents
  • Download SDK

Resources

  • Plug-in Articles
  • Plug-in FAQ

Community Links

  • Forums: Winamp Developer Forum
  • Upload: Submit Your Plug-in
  • Browse: Download Plug-ins
Retrieved from "wiki.winamp.com/wiki/Plug-in_Developer"
Views
  • Page
  • Discussion
  • View source
  • History
Personal tools
  •     
  • Log in / create account
Navigation
  • Main Page
  • Community portal
  • Current events
  • Recent changes
  • Random page
  • Help
Toolbox
  • What links here
  • Related changes
  • Upload file
  • Special pages
  • Printable version
spacer
  • More on Winamp:

    Winamp Media Player
    Winamp Search
    Winamp Toolbar
    Winamp Remote
    Winamp Blog
    Winamp Player Help
    Winamp Player FAQ
    Site Map
    Support
    About Us
    Terms
    Privacy Policy
    Advertise With Us

  • More on AOL Music:

    Music
    Spinner
    SHOUTcast Radio
    Online Radio
    Music Videos
    Lyrics
    Country Music
    Songs
    Celebrity Tattoos
    Celebrities Without Makeup

  • More on AOL:

    Mail
    TMZ
    Mapquest
    CityGuide
    Celebrity
    Money
    Engadget
    Autoblog
    Joystiq
    BloggingStocks
    Digital City

  •  

    TUAW
    DownloadSquad
    Styledash
    AOL Video
    Movies
    Games
    Big Download
    Television

spacer
spacer

Download Winamp, The #1 Free Media Player. Play your MP3, AAC, MPEG, AVI files, and more. Get free MP3 songs, videos, skins and plug-ins. Sync your iPod or Creative Zen, and get mobile music with Winamp Remote.

Copyright © 1999 - 2012 Nullsoft. All Rights Reserved.

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.