shithub: aacdec

Download patch

ref: b288de8383dbf2f6ed278ceb1bfe80bff8b92129
parent: 6779c81f5180956da1103e29ca0d15d6955c578d
author: menno <menno>
date: Mon Aug 23 15:20:49 EDT 2004

Removed old Winamp plugin source

diff: cannot open a/plugins/winamp//null: file does not exist: 'a/plugins/winamp//null'
--- a/plugins/winamp/OBSOLETE
+++ /dev/null
@@ -1,1 +1,0 @@
-Please use in_mp4
\ No newline at end of file
--- a/plugins/winamp/in2.h
+++ /dev/null
@@ -1,105 +1,0 @@
-#include "out.h"
-
-// note: exported symbol is now winampGetInModule2.
-
-#define IN_VER 0x100
-
-typedef struct
-{
-    int version;                // module type (IN_VER)
-    char *description;          // description of module, with version string
-
-    HWND hMainWindow;           // winamp's main window (filled in by winamp)
-    HINSTANCE hDllInstance;     // DLL instance handle (Also filled in by winamp)
-
-    char *FileExtensions;       // "mp3\0Layer 3 MPEG\0mp2\0Layer 2 MPEG\0mpg\0Layer 1 MPEG\0"
-                                // May be altered from Config, so the user can select what they want
-
-    int is_seekable;            // is this stream seekable?
-    int UsesOutputPlug;         // does this plug-in use the output plug-ins? (musn't ever change, ever :)
-
-    void (*Config)(HWND hwndParent); // configuration dialog
-    void (*About)(HWND hwndParent);  // about dialog
-
-    void (*Init)();             // called at program init
-    void (*Quit)();             // called at program quit
-
-    void (*GetFileInfo)(char *file, char *title, int *length_in_ms); // if file == NULL, current playing is used
-    int (*InfoBox)(char *file, HWND hwndParent);
-
-    int (*IsOurFile)(char *fn); // called before extension checks, to allow detection of mms://, etc
-    // playback stuff
-    int (*Play)(char *fn);      // return zero on success, -1 on file-not-found, some other value on other (stopping winamp) error
-    void (*Pause)();            // pause stream
-    void (*UnPause)();          // unpause stream
-    int (*IsPaused)();          // ispaused? return 1 if paused, 0 if not
-    void (*Stop)();             // stop (unload) stream
-
-    // time stuff
-    int (*GetLength)();         // get length in ms
-    int (*GetOutputTime)();     // returns current output time in ms. (usually returns outMod->GetOutputTime()
-    void (*SetOutputTime)(int time_in_ms);  // seeks to point in stream (in ms). Usually you signal yoru thread to seek, which seeks and calls outMod->Flush()..
-
-    // volume stuff
-    void (*SetVolume)(int volume);  // from 0 to 255.. usually just call outMod->SetVolume
-    void (*SetPan)(int pan);    // from -127 to 127.. usually just call outMod->SetPan
-
-    // in-window builtin vis stuff
-
-    void (*SAVSAInit)(int maxlatency_in_ms, int srate);     // call once in Play(). maxlatency_in_ms should be the value returned from outMod->Open()
-    // call after opening audio device with max latency in ms and samplerate
-    void (*SAVSADeInit)();  // call in Stop()
-
-
-    // simple vis supplying mode
-    void (*SAAddPCMData)(void *PCMData, int nch, int bps, int timestamp);
-                                            // sets the spec data directly from PCM data
-                                            // quick and easy way to get vis working :)
-                                            // needs at least 576 samples :)
-
-    // advanced vis supplying mode, only use if you're cool. Use SAAddPCMData for most stuff.
-    int (*SAGetMode)();     // gets csa (the current type (4=ws,2=osc,1=spec))
-                            // use when calling SAAdd()
-    void (*SAAdd)(void *data, int timestamp, int csa); // sets the spec data, filled in by winamp
-
-
-    // vis stuff (plug-in)
-    // simple vis supplying mode
-    void (*VSAAddPCMData)(void *PCMData, int nch, int bps, int timestamp); // sets the vis data directly from PCM data
-                                            // quick and easy way to get vis working :)
-                                            // needs at least 576 samples :)
-
-    // advanced vis supplying mode, only use if you're cool. Use VSAAddPCMData for most stuff.
-    int (*VSAGetMode)(int *specNch, int *waveNch); // use to figure out what to give to VSAAdd
-    void (*VSAAdd)(void *data, int timestamp); // filled in by winamp, called by plug-in
-
-
-    // call this in Play() to tell the vis plug-ins the current output params.
-    void (*VSASetInfo)(int nch, int srate);
-
-
-    // dsp plug-in processing:
-    // (filled in by winamp, called by input plug)
-
-    // returns 1 if active (which means that the number of samples returned by dsp_dosamples
-    // could be greater than went in.. Use it to estimate if you'll have enough room in the
-    // output buffer
-    int (*dsp_isactive)();
-
-    // returns number of samples to output. This can be as much as twice numsamples.
-    // be sure to allocate enough buffer for samples, then.
-    int (*dsp_dosamples)(short int *samples, int numsamples, int bps, int nch, int srate);
-
-
-    // eq stuff
-    void (*EQSet)(int on, char data[10], int preamp); // 0-64 each, 31 is +0, 0 is +12, 63 is -12. Do nothing to ignore.
-
-    // info setting (filled in by winamp)
-    void (*SetInfo)(int bitrate, int srate, int stereo, int synched); // if -1, changes ignored? :)
-
-    Out_Module *outMod; // filled in by winamp, optionally used :)
-} In_Module;
-
-extern In_Module mod;
-
-
--- a/plugins/winamp/in_faad.c
+++ /dev/null
@@ -1,997 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-** GNU General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: in_faad.c,v 1.4 2002/11/01 11:19:36 menno Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <commctrl.h>
-#include "resource.h"
-
-#include <faad.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <aacinfo.h>
-#include <filestream.h>
-#include <id3v2tag.h>
-
-#include "in2.h"
-
-
-static char app_name[] = "AudioCoding.com AAC Player";
-
-// post this to the main window at end of file (after playback has stopped)
-#define WM_WA_AAC_EOF WM_USER+2
-
-faadAACInfo file_info;
-
-faacDecHandle hDecoder;
-faacDecFrameInfo frameInfo;
-
-In_Module mod; // the output module (declared near the bottom of this file)
-char *lastfn; // currently playing file (used for getting info on the current file)
-int file_length; // file length, in bytes
-int decode_pos_ms; // current decoding position, in milliseconds
-int paused; // are we paused?
-int seek_needed; // if != -1, it is the point that the decode thread should seek to, in ms.
-
-char *sample_buffer; // sample buffer
-unsigned char *buffer; // input buffer
-unsigned char *memmap_buffer; // input buffer for whole file
-long memmap_index;
-
-long buffercount, fileread, bytecount;
-
-// seek table for ADTS header files
-unsigned long *seek_table = NULL;
-int seek_table_length=0;
-
-int killPlayThread=0; // the kill switch for the decode thread
-int PlayThreadAlive=0; // 1=play thread still running
-HANDLE play_thread_handle=INVALID_HANDLE_VALUE; // the handle to the decode thread
-FILE_STREAM *infile;
-
-/* Function definitions */
-int id3v2_tag(unsigned char *buffer);
-DWORD WINAPI PlayThread(void *b); // the decode thread procedure
-
-BOOL CALLBACK config_dialog_proc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam);
-
-
-// 1= use vbr display, 0 = use average bitrate. This value only controls what shows up in the
-// configuration form. Also- Streaming uses an on-the-fly bitrate display regardless of this value.
-long m_variable_bitrate_display=0;
-long m_priority = 5;
-long m_memmap_file = 0;
-char m_format_string[50] = "%1 - %2";
-static char INI_FILE[MAX_PATH];
-
-char *priority_text[] = {	"",
-							"Decode Thread Priority: Lowest",
-							"Decode Thread Priority: Lower",
-							"Decode Thread Priority: Normal",
-							"Decode Thread Priority: Higher",
-							"Decode Thread Priority: Highest (default)"
-						};
-
-long priority_table[] = {0, THREAD_PRIORITY_LOWEST, THREAD_PRIORITY_BELOW_NORMAL, THREAD_PRIORITY_NORMAL, THREAD_PRIORITY_ABOVE_NORMAL, THREAD_PRIORITY_HIGHEST};
-
-long current_file_mode = 0;
-
-int PlayThread_memmap();
-int PlayThread_file();
-
-static void _r_s(char *name,char *data, int mlen)
-{
-	char buf[10];
-	strcpy(buf,data);
-	GetPrivateProfileString(app_name,name,buf,data,mlen,INI_FILE);
-}
-#define RS(x) (_r_s(#x,x,sizeof(x)))
-#define WS(x) (WritePrivateProfileString(app_name,#x,x,INI_FILE))
-
-
-
-static void config_init()
-{
-	char *p=INI_FILE;
-	GetModuleFileName(NULL,INI_FILE,sizeof(INI_FILE));
-	while (*p) p++;
-	while (p >= INI_FILE && *p != '.') p--;
-	strcpy(p+1,"ini");
-}
-
-void config_read()
-{
-    char variable_bitrate_display[10];
-    char priority[10];
-    char memmap_file[10];
-    char local_buffer_size[10];
-    char stream_buffer_size[10];
-
-	config_init();
-
-    strcpy(variable_bitrate_display, "1");
-    strcpy(priority, "4");
-    strcpy(memmap_file, "0");
-    strcpy(local_buffer_size, "128");
-    strcpy(stream_buffer_size, "64");
-
-    RS(variable_bitrate_display);
-    RS(priority);
-    RS(m_format_string);
-    RS(memmap_file);
-    RS(local_buffer_size);
-    RS(stream_buffer_size);
-
-    m_priority = atoi(priority);
-    m_variable_bitrate_display = atoi(variable_bitrate_display);
-    m_memmap_file = atoi(memmap_file);
-    m_local_buffer_size = atoi(local_buffer_size);
-    m_stream_buffer_size = atoi(stream_buffer_size);
-}
-
-void config_write()
-{
-    char variable_bitrate_display[10];
-    char priority[10];
-    char memmap_file[10];
-    char local_buffer_size[10];
-    char stream_buffer_size[10];
-
-    itoa(m_priority, priority, 10);
-    itoa(m_variable_bitrate_display, variable_bitrate_display, 10);
-    itoa(m_memmap_file, memmap_file, 10);
-    itoa(m_local_buffer_size, local_buffer_size, 10);
-    itoa(m_stream_buffer_size, stream_buffer_size, 10);
-
-    WS(variable_bitrate_display);
-    WS(priority);
-    WS(m_format_string);
-    WS(memmap_file);
-    WS(local_buffer_size);
-    WS(stream_buffer_size);
-}
-
-void config(HWND hwndParent)
-{
-	DialogBox(mod.hDllInstance, MAKEINTRESOURCE(IDD_CONFIG), hwndParent, config_dialog_proc);
-}
-
-BOOL CALLBACK config_dialog_proc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
-	char tmp[10];
-
-    switch (message)
-	{
-    case WM_INITDIALOG:
-        
-		SetDlgItemText(hwndDlg, IDC_FORMAT, m_format_string);
-
-		/* Set priority slider range and previous position */
-		SendMessage(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER), TBM_SETRANGE, TRUE, MAKELONG(1, 5)); 
-		SendMessage(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER), TBM_SETPOS, TRUE, m_priority);
-		SetDlgItemText(hwndDlg, IDC_STATIC2, priority_text[m_priority]);
-		
-		/* Put a limit to the amount of characters allowed in the buffer boxes */
-		SendMessage(GetDlgItem(hwndDlg, LOCAL_BUFFER_TXT), EM_LIMITTEXT, 4, 0);
-		SendMessage(GetDlgItem(hwndDlg, STREAM_BUFFER_TXT), EM_LIMITTEXT, 4, 0);
-
-	    if(m_variable_bitrate_display)
-			SendMessage(GetDlgItem(hwndDlg, VARBITRATE_CHK), BM_SETCHECK, BST_CHECKED, 0);
-	    if(m_memmap_file)
-			SendMessage(GetDlgItem(hwndDlg, IDC_MEMMAP), BM_SETCHECK, BST_CHECKED, 0);
-
-		itoa(m_local_buffer_size, tmp, 10);
-		SetDlgItemText(hwndDlg, LOCAL_BUFFER_TXT, tmp);
-
-		itoa(m_stream_buffer_size, tmp, 10);
-		SetDlgItemText(hwndDlg, STREAM_BUFFER_TXT, tmp);
-
-		return TRUE;
-
-	case WM_HSCROLL:
-
-		/* Thread priority slider moved */
-		if(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER) == (HWND) lParam)
-		{
-			int tmp;
-			tmp = SendMessage(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER), TBM_GETPOS, 0, 0);
-
-			if(tmp > 0)
-			{
-				m_priority = tmp;
-
-                SetDlgItemText(hwndDlg, IDC_STATIC2, priority_text[m_priority]);
-
-				if(play_thread_handle)
-					SetThreadPriority(play_thread_handle, priority_table[m_priority]);
-			}
-		}
-
-		return TRUE;
-
-    case WM_COMMAND:
-
-		if(HIWORD(wParam) == BN_CLICKED)
-		{
-			if(GetDlgItem(hwndDlg, VARBITRATE_CHK) == (HWND) lParam)
-			{
-				/* Variable Bitrate checkbox hit */
-				m_variable_bitrate_display = SendMessage(GetDlgItem(hwndDlg, VARBITRATE_CHK), BM_GETCHECK, 0, 0); 
-			}
-			if(GetDlgItem(hwndDlg, IDC_MEMMAP) == (HWND) lParam)
-			{
-				/* Variable Bitrate checkbox hit */
-				m_memmap_file = SendMessage(GetDlgItem(hwndDlg, IDC_MEMMAP), BM_GETCHECK, 0, 0); 
-			}
-		}
-
-        switch (LOWORD(wParam))
-		{
-			case OK_BTN:
-				/* User hit OK, save buffer settings (all others are set on command) */
-				GetDlgItemText(hwndDlg, LOCAL_BUFFER_TXT, tmp, 5);
-				m_local_buffer_size = atol(tmp);
-
-				GetDlgItemText(hwndDlg, STREAM_BUFFER_TXT, tmp, 5);
-				m_stream_buffer_size = atol(tmp);
-
-				GetDlgItemText(hwndDlg, IDC_FORMAT, m_format_string, 50);
-
-                config_write();
-
-			case IDCANCEL:
-			case CANCEL_BTN:
-				/* User hit Cancel or the X, just close without saving buffer settings */
-				EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-void about(HWND hwndParent)
-{
-    MessageBox(hwndParent,"AudioCoding.com AAC Player\n"
-        "Compiled on: " __DATE__ "\n"
-        "http://www.audiocoding.com\n"
-        "Copyright 2002 AudioCoding.com",
-        "About AAC Player",MB_OK);
-}
-
-void init()
-{
-	char plugin_path[1024];
-	int i;
-
-    config_read();
-
-	hInstance_for_id3editor = mod.hDllInstance;
-
-    buffer = (unsigned char*)LocalAlloc(LPTR, 768*2);
-    lastfn = (char*)LocalAlloc(LPTR, 1024*sizeof(char));
-
-    /* Initialize winsock, necessary for streaming */
-    WinsockInit();
-}
-
-void quit()
-{
-    if (lastfn) LocalFree(lastfn);
-    if (buffer) LocalFree(buffer);
-
-    /* Deallocate winsock */
-    WinsockDeInit();
-
-	if(seek_table)
-	{
-		free(seek_table);
-		seek_table = NULL;
-		seek_table_length = 0;
-	}
-}
-
-int isourfile(char *fn)
-{
-    /* Finally fixed */
-    if(StringComp(fn + strlen(fn) - 3, "aac", 3) == 0)
-    {
-        return 1;
-    }
-
-    return 0;
-}
-
-unsigned long samplerate, channels;
-
-int play_memmap(char *fn)
-{
-    int tagsize = 0;
-
-    infile = open_filestream(fn);
-    
-	if (infile == NULL)
-        return 1;
-
-    fileread = filelength_filestream(infile);
-
-    memmap_buffer = (char*)LocalAlloc(LPTR, fileread);
-    read_buffer_filestream(infile, memmap_buffer, fileread);
-
-    /* skip id3v2 tag */
-    memmap_index = id3v2_tag(memmap_buffer);
-
-    hDecoder = faacDecOpen();
-
-	/* Copy the configuration dialog setting and use it as the default */
-	/* initialize the decoder, and get samplerate and channel info */
-
-    if ((buffercount = faacDecInit(hDecoder, memmap_buffer + memmap_index,
-        fileread - memmap_index - 1, &samplerate, &channels)) < 0)
-    {
-		MessageBox(mod.hMainWindow, "Error opening input file\n", "FAAD Error", MB_OK);
-		return 1;
-    }
-
-    memmap_index += buffercount;
-
-    PlayThread_memmap();
-
-    return 0;
-}
-
-int play_file(char *fn)
-{
-    int k;
-    int tagsize;
-
-    ZeroMemory(buffer, 768*2);
-
-    infile = open_filestream(fn);
-    
-	if (infile == NULL)
-        return 1;
-
-    fileread = filelength_filestream(infile);
-
-    buffercount = bytecount = 0;
-    read_buffer_filestream(infile, buffer, 768*2);
-
-    tagsize = id3v2_tag(buffer);
-
-	/* If we find a tag, run right over it */
-    if(tagsize)
-	{
-        if(infile->http)
-        {
-            int i;
-            /* Crude way of doing this, but I believe its fast enough to not make a big difference */
-            close_filestream(infile);
-            infile = open_filestream(fn);
-
-            for(i=0; i < tagsize; i++)
-                read_byte_filestream(infile);
-        }
-        else
-        {
-            seek_filestream(infile, tagsize, FILE_BEGIN);
-        }
-
-        bytecount = tagsize;
-        buffercount = 0;
-        read_buffer_filestream(infile, buffer, 768*2);
-    }
-
-    hDecoder = faacDecOpen();
-
-	/* Copy the configuration dialog setting and use it as the default */
-	/* initialize the decoder, and get samplerate and channel info */
-
-    if((buffercount = faacDecInit(hDecoder, buffer, 768*2, &samplerate, &channels)) < 0)
-    {
-		MessageBox(mod.hMainWindow, "Error opening input file\n", "FAAD Error", MB_OK);
-		return 1;
-    }
-
-    if(buffercount > 0)
-	{
-		bytecount += buffercount;
-
-		for (k = 0; k < (768*2 - buffercount); k++)
-			buffer[k] = buffer[k + buffercount];
-
-		read_buffer_filestream(infile, buffer + (768*2) - buffercount, buffercount);
-		buffercount = 0;
-	}
-
-    PlayThread_file();
-
-    return 0;
-}
-
-int play(char *fn)
-{
-    int maxlatency;
-    int thread_id;
-
-    current_file_mode = m_memmap_file;
-
-    if (current_file_mode) {
-        if (play_memmap(fn))
-            return -1;
-    } else {
-        if (play_file(fn))
-            return -1;
-    }
-
-	if(seek_table)
-	{
-		free(seek_table);
-		seek_table = NULL;
-		seek_table_length = 0;
-	}
-
-	get_AAC_format(fn, &file_info, &seek_table, &seek_table_length, 0);
-
-	if(infile->http)
-	{
-		/* No seeking in http streams */
-		mod.is_seekable = 0;
-	}
-	else
-	{
-		if (file_info.headertype == 2) /* ADTS header - seekable */
-			mod.is_seekable = 1;
-		else
-			mod.is_seekable = 0; /* ADIF or Headerless - not seekable */
-	}
-
-    strcpy(lastfn,fn);
-    paused=0;
-    decode_pos_ms=0;
-    seek_needed=-1;
-
-    /*
-      To RageAmp: This is really needed, because aacinfo isn't very accurate on ADIF files yet.
-                  Can be fixed though :-)
-    */
-    file_info.sampling_rate = samplerate;
-    file_info.channels = frameInfo.channels;
-
-    maxlatency = mod.outMod->Open(file_info.sampling_rate, file_info.channels, 16, -1,-1);
-
-    if (maxlatency < 0) // error opening device
-    {
-        return -1;
-    }
-
-    // initialize vis stuff
-    mod.SAVSAInit(maxlatency, file_info.sampling_rate);
-    mod.VSASetInfo(file_info.sampling_rate, file_info.channels);
-
-    mod.SetInfo(file_info.bitrate/1000, file_info.sampling_rate/1000, file_info.channels,1);
-
-    mod.outMod->SetVolume(-666); // set the output plug-ins default volume
-
-    killPlayThread = 0;
-
-    if((play_thread_handle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) PlayThread, (void *) &killPlayThread, 0, &thread_id)) == NULL)
-    {
-        MessageBox(mod.hMainWindow, "Fatal error: Cannot create playback thread\n", "FAAD Error", MB_OK);
-        return -1;
-    }
-
-    // Note: This line seriously slows down start up time
-	if(m_priority != 3) // if the priority in config window is set to normal, there is nothing to reset!
-	    SetThreadPriority(play_thread_handle, priority_table[m_priority]);
-
-    return 0;
-}
-
-void pause() { paused=1; mod.outMod->Pause(1); }
-void unpause() { paused=0; mod.outMod->Pause(0); }
-int ispaused() { return paused; }
-
-void stop()
-{
-    killPlayThread=1;
-
-    if (play_thread_handle != INVALID_HANDLE_VALUE)
-    {
-        if (WaitForSingleObject(play_thread_handle, INFINITE) == WAIT_TIMEOUT)
-            TerminateThread(play_thread_handle,0);
-        CloseHandle(play_thread_handle);
-        play_thread_handle = INVALID_HANDLE_VALUE;
-    }
-
-    faacDecClose(hDecoder);
-    close_filestream(infile);
-    mod.outMod->Close();
-    mod.SAVSADeInit();
-
-    if (memmap_buffer) LocalFree(memmap_buffer);
-	if(seek_table)
-	{
-		free(seek_table);
-		seek_table = NULL;
-		seek_table_length = 0;
-	}
-}
-
-int getlength()
-{
-    return file_info.length;
-}
-
-int getoutputtime()
-{
-    return decode_pos_ms+(mod.outMod->GetOutputTime()-mod.outMod->GetWrittenTime());
-}
-
-void setoutputtime(int time_in_ms)
-{
-    if (file_info.headertype == 2)
-        seek_needed=time_in_ms;
-    else
-        seek_needed = -1;
-}
-
-int aac_seek(int pos_ms, int *sktable)
-{
-    double offset_sec;
-
-    offset_sec = pos_ms / 1000.0;
-    if (!current_file_mode)
-    {
-        seek_filestream(infile, sktable[(int)(offset_sec+0.5)], FILE_BEGIN);
-
-        bytecount = sktable[(int)(offset_sec+0.5)];
-        buffercount = 0;
-        read_buffer_filestream(infile, buffer, 768*2);
-    } else {
-        memmap_index = sktable[(int)(offset_sec+0.5)];
-    }
-
-    return 0;
-}
-
-VOID EnableCheckbox(HWND checkBox, BOOL bEnable, BOOL bChecked)
-{
-    if (bEnable) {
-        EnableWindow(checkBox, TRUE);
-        SendMessage(checkBox, BM_SETCHECK, bChecked?BST_CHECKED:BST_UNCHECKED, 0);
-    } else {
-        EnableWindow(checkBox, FALSE);
-        SendMessage(checkBox, BM_SETCHECK, bChecked?BST_CHECKED:BST_UNCHECKED, 0);
-    }
-}
-
-void setvolume(int volume) { mod.outMod->SetVolume(volume); }
-void setpan(int pan) { mod.outMod->SetPan(pan); }
-
-char info_fn[255];
-BOOL bFileChanged;
-
-BOOL CALLBACK info_dialog_proc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
-    faadAACInfo format;
-    char *tmp_string;
-    char info[1024];
-    LV_COLUMN lvc;
-    BOOL bResult;
-
-    switch (message) {
-    case WM_INITDIALOG:
-        /* Set up the list control for the ID3 tag */
-        
-        /* Initialize the LV_COLUMN structure. */
-        lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
-        lvc.fmt = LVCFMT_LEFT;
-
-        /* Add the columns. */
-        lvc.iSubItem = 0;
-        lvc.cx = 100;
-        lvc.pszText = "Frame";
-        ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_ID3LIST), 0, &lvc);
-        lvc.iSubItem = 1;
-        lvc.cx = 250;
-        lvc.pszText = "Data";
-        ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_ID3LIST), 1, &lvc);
-
-        /* get AAC info */
-        get_AAC_format(info_fn, &format, NULL, NULL, 1);
-
-        switch(format.headertype)
-        {
-        case 0: /* Headerless */
-            tmp_string = "RAW"; break;
-        case 1: /* ADIF */
-            tmp_string = "ADIF"; break;
-        case 2: /* ADTS */
-            tmp_string = "ADTS"; break;
-        }
-        SetDlgItemText(hwndDlg, IDC_HEADER, tmp_string);
-
-        if (format.object_type == 0 /* Main */)
-            tmp_string = "Main";
-        else if (format.object_type == 1 /* Low Complexity */)
-            tmp_string = "Low Complexity";
-        else if (format.object_type == 2 /* SSR */)
-            tmp_string = "SSR (unsupported)";
-        else if (format.object_type == 3 /* LTP */)
-            tmp_string = "Main LTP";
-        SetDlgItemText(hwndDlg, IDC_PROFILE, tmp_string);
-
-        if (format.version == 2) tmp_string = "MPEG2";
-        else tmp_string = "MPEG4";
-        SetDlgItemText(hwndDlg, IDC_VERSION, tmp_string);
-
-        wsprintf(info, "%d bps", format.bitrate);
-        SetDlgItemText(hwndDlg, IDC_BITRATE, info);
-
-        wsprintf(info, "%d Hz", format.sampling_rate);
-        SetDlgItemText(hwndDlg, IDC_SAMPLERATE, info);
-
-        wsprintf(info, "%d ch", format.channels);
-        SetDlgItemText(hwndDlg, IDC_CHANNELS, info);
-
-        FillID3List(hwndDlg, GetDlgItem(hwndDlg, IDC_ID3LIST), info_fn);
-        if (ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_ID3LIST)) == 0)
-            EnableWindow(GetDlgItem(hwndDlg, IDC_ID3V2TAG), FALSE);
-        else
-            EnableCheckbox(GetDlgItem(hwndDlg, IDC_ID3V2TAG), TRUE, TRUE);
-        bFileChanged = FALSE;
-
-        return TRUE;
-
-    case WM_NOTIFY:
-        
-        /* Branch depending on the specific notification message. */
-        switch (((LPNMHDR) lParam)->code) { 
-            
-        /* Process LVN_GETDISPINFO to supply information about */
-        /* callback items. */
-        case LVN_GETDISPINFO:
-            List_OnGetDispInfo((LV_DISPINFO *)lParam);
-            break;
-        case NM_DBLCLK:
-            bResult = List_EditData(hwndDlg, GetDlgItem(hwndDlg, IDC_ID3LIST));
-            if (bResult)
-                EnableCheckbox(GetDlgItem(hwndDlg, IDC_ID3V2TAG), TRUE, TRUE);
-            bFileChanged = bFileChanged ? bFileChanged : bResult;
-            break;
-        }
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam)) {
-        case IDC_ADDSTFRAMES:
-            bResult = List_AddStandardFrames(hwndDlg, GetDlgItem(hwndDlg, IDC_ID3LIST));
-            if (bResult)
-                EnableCheckbox(GetDlgItem(hwndDlg, IDC_ID3V2TAG), TRUE, TRUE);
-            bFileChanged = bFileChanged ? bFileChanged : bResult;
-            return TRUE;
-        case IDC_ADDFRAME:
-            bResult = List_AddFrame(hwndDlg, GetDlgItem(hwndDlg, IDC_ID3LIST));
-            if (bResult)
-                EnableCheckbox(GetDlgItem(hwndDlg, IDC_ID3V2TAG), TRUE, TRUE);
-            bFileChanged = bFileChanged ? bFileChanged : bResult;
-            return TRUE;
-        case IDC_DELFRAME:
-            bResult = List_DeleteSelected(hwndDlg, GetDlgItem(hwndDlg, IDC_ID3LIST));
-            if (ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_ID3LIST)) == 0)
-                EnableCheckbox(GetDlgItem(hwndDlg, IDC_ID3V2TAG), FALSE, FALSE);
-            bFileChanged = bFileChanged ? bFileChanged : bResult;
-            return TRUE;
-        case IDC_EDITFRAME:
-            bResult = List_EditData(hwndDlg, GetDlgItem(hwndDlg, IDC_ID3LIST));
-            if (bResult)
-                EnableCheckbox(GetDlgItem(hwndDlg, IDC_ID3V2TAG), TRUE, TRUE);
-            bFileChanged = bFileChanged ? bFileChanged : bResult;
-            return TRUE;
-        case IDC_ID3V2TAG:
-            bFileChanged = TRUE;
-            return TRUE;
-
-        case IDC_CLOSE:
-        case IDCANCEL:
-            if (bFileChanged == TRUE) {
-                if (MessageBox(hwndDlg, "Save changes?", "Save changes", MB_YESNO) == IDYES)
-                    List_SaveID3(hwndDlg, GetDlgItem(hwndDlg, IDC_ID3LIST), info_fn);
-            }
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-int infoDlg(char *fn, HWND hwnd)
-{
-    lstrcpy(info_fn, fn);
-
-    DialogBox(mod.hDllInstance, MAKEINTRESOURCE(IDD_INFO),
-        hwnd, info_dialog_proc);
-
-    return 0;
-}
-
-LPTSTR PathFindFileName(LPCTSTR pPath)
-{
-    LPCTSTR pT;
-
-    for (pT = pPath; *pPath; pPath = CharNext(pPath)) {
-        if ((pPath[0] == TEXT('\\') || pPath[0] == TEXT(':')) && pPath[1] && (pPath[1] != TEXT('\\')))
-            pT = pPath + 1;
-    }
-
-    return (LPTSTR)pT;   // const -> non const
-}
-
-int getsonglength(char *fn)
-{
-    faadAACInfo tmp;
-
-    get_AAC_format(fn, &tmp, NULL, NULL, 1);
-
-    return tmp.length;
-}
-
-void getfileinfo(char *filename, char *title, int *length_in_ms)
-{
-    if (!filename || !*filename)  // currently playing file
-    {
-        if (length_in_ms)
-            *length_in_ms=getlength();
-
-        if (title)
-            GetID3FileTitle(lastfn, title, m_format_string);
-    }
-    else // some other file
-    {
-        if (length_in_ms)
-            *length_in_ms = getsonglength(filename);
-
-        if (title)
-            GetID3FileTitle(filename, title, m_format_string);
-    }
-}
-
-void eq_set(int on, char data[10], int preamp)
-{
-}
-
-int last_frame;
-
-int PlayThread_memmap()
-{
-    sample_buffer = (char*)faacDecDecode(hDecoder, &frameInfo,
-        memmap_buffer + memmap_index, fileread - memmap_index - 1);
-    if (frameInfo.error)
-    {
-        MessageBox(NULL, faacDecGetErrorMessage(frameInfo.error), "FAAD Error", MB_OK);
-        last_frame = 1;
-    }
-
-    memmap_index += frameInfo.bytesconsumed;
-    if (memmap_index >= fileread)
-        last_frame = 1;
-
-    return frameInfo.bytesconsumed;
-}
-
-int PlayThread_file()
-{
-    int k;
-
-    if (buffercount > 0) {
-        for (k = 0; k < (768*2 - buffercount); k++)
-            buffer[k] = buffer[k + buffercount];
-
-        read_buffer_filestream(infile, buffer + (768*2) - buffercount, buffercount);
-        buffercount = 0;
-    }
-
-    sample_buffer = (char*)faacDecDecode(hDecoder, &frameInfo, buffer, 768*2);
-    if (frameInfo.error)
-    {
-        MessageBox(NULL, faacDecGetErrorMessage(frameInfo.error), "FAAD Error", MB_OK);
-        last_frame = 1;
-    }
-
-    buffercount += frameInfo.bytesconsumed;
-
-    bytecount += frameInfo.bytesconsumed;
-    if (bytecount >= fileread)
-        last_frame = 1;
-
-    return frameInfo.bytesconsumed;
-}
-
-DWORD WINAPI PlayThread(void *b)
-{
-    int done=0;
-    int l;
-	int decoded_frames=0;
-	int br_calc_frames=0;
-	int br_bytes_consumed=0;
-    unsigned long bytesconsumed;
-
-	PlayThreadAlive = 1;
-    last_frame = 0;
-
-    while (! *((int *)b) )
-    {
-        if (seek_needed != -1)
-        {
-            int seconds;
-
-            // Round off to a second
-            seconds = seek_needed - (seek_needed%1000);
-            mod.outMod->Flush(decode_pos_ms);
-            aac_seek(seconds, seek_table);
-            decode_pos_ms = seconds;
-			seek_needed = -1;
-			decoded_frames = 0;
-			br_calc_frames = 0;
-			br_bytes_consumed = 0;
-        }
-
-        if (done)
-        {
-            mod.outMod->CanWrite();
-
-            if (!mod.outMod->IsPlaying())
-            {
-                PostMessage(mod.hMainWindow,WM_WA_AAC_EOF,0,0);
-                PlayThreadAlive = 0;
-                return 0;
-            }
-
-            Sleep(10);
-        }
-        //assume that max channels is 2.
-        else if (mod.outMod->CanWrite() >= ((1024*file_info.channels*sizeof(short))<<(mod.dsp_isactive()?1:0)))
-        {
-            if(last_frame)
-            {
-                done=1;
-            }
-            else
-            {
-                if (current_file_mode)
-                    bytesconsumed = PlayThread_memmap();
-                else
-                    bytesconsumed = PlayThread_file();
-
-				decoded_frames++;
-				br_calc_frames++;
-				br_bytes_consumed += bytesconsumed;
-
-				/* Update the variable bitrate about every second */
-				if(m_variable_bitrate_display && br_calc_frames == 43)
-				{
-					int br;
-
-					br = (int)((br_bytes_consumed * 8) / (decoded_frames / 43.07));
-
-					mod.SetInfo(br/1000, file_info.sampling_rate/1000, file_info.channels, 1);
-					br_calc_frames = 0;
-				}
-
-                if (!killPlayThread && (frameInfo.samples > 0))
-                {
-                    mod.SAAddPCMData(sample_buffer,file_info.channels, 16, decode_pos_ms);
-                    mod.VSAAddPCMData(sample_buffer,file_info.channels, 16, decode_pos_ms);
-                    decode_pos_ms+=(1024*1000)/file_info.sampling_rate;
-
-                    if (mod.dsp_isactive())
-                        l=mod.dsp_dosamples((short *)sample_buffer,frameInfo.samples*sizeof(short)/file_info.channels/(16/8),16,file_info.channels,file_info.sampling_rate)*(file_info.channels*(16/8));
-                    else
-                        l = frameInfo.samples*sizeof(short);
-
-                    mod.outMod->Write(sample_buffer, l);
-                }
-            }
-        }
-        else
-        {
-            Sleep(10);
-        }
-    }
-
-	if(seek_table)
-	{
-		free(seek_table);
-		seek_table = NULL;
-		seek_table_length = 0;
-	}
-    
-	PlayThreadAlive = 0;
-	
-    return 0;
-}
-
-int id3v2_tag(unsigned char *buffer)
-{
-    if (StringComp(buffer, "ID3", 3) == 0)
-	{
-        unsigned long tagsize;
-
-        /* high bit is not used */
-        tagsize = (buffer[6] << 21) | (buffer[7] << 14) |
-            (buffer[8] <<  7) | (buffer[9] <<  0);
-
-        tagsize += 10;
-
-        return tagsize;
-    }
-	else
-	{
-        return 0;
-    }
-}
-
-In_Module mod =
-{
-    IN_VER,
-    "AudioCoding.com AAC Player: " __DATE__,
-    0,  // hMainWindow
-    0,  // hDllInstance
-    "AAC\0AAC File (*.AAC)\0"
-    ,
-    1, // is_seekable
-    1, // uses output
-    config,
-    about,
-    init,
-    quit,
-    getfileinfo,
-    infoDlg,
-    isourfile,
-    play,
-    pause,
-    unpause,
-    ispaused,
-    stop,
-
-    getlength,
-    getoutputtime,
-    setoutputtime,
-
-    setvolume,
-    setpan,
-
-    0,0,0,0,0,0,0,0,0, // vis stuff
-
-
-    0,0, // dsp
-
-    eq_set,
-
-    NULL,       // setinfo
-
-    0 // out_mod
-};
-
-__declspec( dllexport ) In_Module * winampGetInModule2()
-{
-    return &mod;
-}
--- a/plugins/winamp/in_faad.dsp
+++ /dev/null
@@ -1,147 +1,0 @@
-# Microsoft Developer Studio Project File - Name="in_faad" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=in_faad - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "in_faad.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "in_faad.mak" CFG="in_faad - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "in_faad - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "in_faad - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "in_faad - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /I "..\..\common\faad" /I "..\..\plugins\winamp" /I "..\..\common\id3lib\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ID3LIB_COMPILATION" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-
-!ELSEIF  "$(CFG)" == "in_faad - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\include" /I "..\..\common\faad" /I "..\..\plugins\winamp" /I "..\..\common\id3lib\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ID3LIB_COMPILATION" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "in_faad - Win32 Release"
-# Name "in_faad - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\common\faad\aacinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\faad\filestream.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\faad\id3v2tag.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\in_faad.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\common\faad\aacinfo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\faad.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\faad\filestream.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\faad\id3v2tag.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\in2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\out.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\plugin_dlg.rc
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/plugins/winamp/in_faad.dsw
+++ /dev/null
@@ -1,74 +1,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "id3lib"=..\..\common\id3lib\libprj\id3lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name zlib
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "in_faad"=.\in_faad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name id3lib
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libfaad
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libfaad"=..\..\libfaad\libfaad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "zlib"=..\..\common\id3lib\zlib\prj\zlib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
--- a/plugins/winamp/in_faad.sln
+++ /dev/null
@@ -1,60 +1,0 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "id3lib", "..\..\common\id3lib\libprj\id3lib.vcproj", "{D752E868-A336-460C-B55E-56DD8E8C583E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "in_faad", "in_faad.vcproj", "{6092126A-C1DE-4A92-B476-A49C6557546C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaad", "..\..\libfaad\libfaad.vcproj", "{74B58BDF-E2CF-4F01-B645-17FA7A79A938}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\common\id3lib\zlib\prj\zlib.vcproj", "{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}"
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		ConfigName.0 = Debug
-		ConfigName.1 = NASM Debug
-		ConfigName.2 = NASM Release
-		ConfigName.3 = Release
-	EndGlobalSection
-	GlobalSection(ProjectDependencies) = postSolution
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.0 = {0ED3C668-F67C-41E0-8A9C-D7AFE626111E}
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.0 = {74B58BDF-E2CF-4F01-B645-17FA7A79A938}
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.1 = {D752E868-A336-460C-B55E-56DD8E8C583E}
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.Debug.ActiveCfg = Debug|Win32
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.Debug.Build.0 = Debug|Win32
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.NASM Debug.ActiveCfg = Debug|Win32
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.NASM Debug.Build.0 = Debug|Win32
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.NASM Release.ActiveCfg = Release|Win32
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.NASM Release.Build.0 = Release|Win32
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.Release.ActiveCfg = Release|Win32
-		{D752E868-A336-460C-B55E-56DD8E8C583E}.Release.Build.0 = Release|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.Debug.ActiveCfg = Debug|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.Debug.Build.0 = Debug|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.NASM Debug.ActiveCfg = Debug|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.NASM Debug.Build.0 = Debug|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.NASM Release.ActiveCfg = Release|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.NASM Release.Build.0 = Release|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.Release.ActiveCfg = Release|Win32
-		{6092126A-C1DE-4A92-B476-A49C6557546C}.Release.Build.0 = Release|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.Debug.ActiveCfg = Debug|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.Debug.Build.0 = Debug|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.NASM Debug.ActiveCfg = Debug|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.NASM Debug.Build.0 = Debug|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.NASM Release.ActiveCfg = Release|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.NASM Release.Build.0 = Release|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.Release.ActiveCfg = Release|Win32
-		{74B58BDF-E2CF-4F01-B645-17FA7A79A938}.Release.Build.0 = Release|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.Debug.ActiveCfg = Debug|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.Debug.Build.0 = Debug|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.NASM Debug.ActiveCfg = NASM Debug|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.NASM Debug.Build.0 = NASM Debug|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.NASM Release.ActiveCfg = NASM Release|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.NASM Release.Build.0 = NASM Release|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.Release.ActiveCfg = Release|Win32
-		{0ED3C668-F67C-41E0-8A9C-D7AFE626111E}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
--- a/plugins/winamp/in_faad.vcproj
+++ /dev/null
@@ -1,193 +1,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.00"
-	Name="in_faad"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\common\faad,..\..\plugins\winamp,..\..\common\id3lib\include"
-				PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;ID3LIB_COMPILATION"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Debug/in_faad.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0">
-				<IntelOptions
-					Optimization="0"
-					MinimalRebuild="1"
-					BasicRuntimeChecks="3"
-					RuntimeLibrary="1"
-					AllOptions="/c  /I &quot;..\..\include&quot; /I &quot;..\..\common\faad&quot; /I &quot;..\..\plugins\winamp&quot; /I &quot;..\..\common\id3lib\include&quot; /ZI /nologo /W3 /Od /D &quot;_DEBUG&quot; /D &quot;WIN32&quot; /D &quot;_WINDOWS&quot; /D &quot;ID3LIB_COMPILATION&quot; /D &quot;_WINDLL&quot; /Gm /EHsc /RTC1 /MTd /YX&quot;StdAfx.h&quot; /Fp&quot;.\Debug/in_faad.pch&quot; /Fo&quot;.\Debug/&quot; /Fd&quot;.\Debug/&quot; /Gd"/>
-			</Tool>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/in_faad.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\Debug/in_faad.pdb"
-				SubSystem="2"
-				ImportLibrary=".\Debug/in_faad.lib">
-				<IntelOptions
-					AllOptions="/NOLOGO /DLL /OUT:&quot;.\Debug/in_faad.dll&quot; /INCREMENTAL ws2_32.lib odbc32.lib odbccp32.lib /DEBUG /PDB:&quot;.\Debug/in_faad.pdb&quot; /SUBSYSTEM:WINDOWS /TLBID:1 /IMPLIB:&quot;.\Debug/in_faad.lib&quot; /MACHINE:I386 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"/>
-			</Tool>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Debug/in_faad.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1043"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="TRUE"
-				OptimizeForProcessor="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\common\faad,..\..\plugins\winamp,..\..\common\id3lib\include"
-				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;ID3LIB_COMPILATION"
-				StringPooling="TRUE"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Release/in_faad.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0">
-				<IntelOptions
-					Optimization="2"
-					GlobalOptimizations="1"
-					InlineFuncExpansion="1"
-					OmitFramePtrs="1"
-					StringPooling="1"
-					RuntimeLibrary="0"
-					BufferSecurityCheck="1"
-					FunctionLevelLinking="1"
-					AllOptions="/c  /I &quot;..\..\include&quot; /I &quot;..\..\common\faad&quot; /I &quot;..\..\plugins\winamp&quot; /I &quot;..\..\common\id3lib\include&quot; /nologo /W3 /O2 /Og /Ob1 /Oy /D &quot;NDEBUG&quot; /D &quot;WIN32&quot; /D &quot;_WINDOWS&quot; /D &quot;ID3LIB_COMPILATION&quot; /D &quot;_WINDLL&quot; /GF /FD /EHsc /MT /GS /Gy /YX&quot;StdAfx.h&quot; /Fp&quot;.\Release/in_faad.pch&quot; /Fo&quot;.\Release/&quot; /Fd&quot;.\Release/&quot; /Gd"/>
-			</Tool>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="ws2_32.lib"
-				OutputFile=".\Release/in_faad.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				ProgramDatabaseFile=".\Release/in_faad.pdb"
-				SubSystem="2"
-				ImportLibrary=".\Release/in_faad.lib">
-				<IntelOptions
-					AllOptions="/NOLOGO /DLL /OUT:&quot;.\Release/in_faad.dll&quot; /INCREMENTAL:NO ws2_32.lib /PDB:&quot;.\Release/in_faad.pdb&quot; /SUBSYSTEM:WINDOWS /TLBID:1 /IMPLIB:&quot;.\Release/in_faad.lib&quot; /MACHINE:I386 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"/>
-			</Tool>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Release/in_faad.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1043"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-	</Configurations>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-			<File
-				RelativePath="..\..\common\faad\aacinfo.c"/>
-			<File
-				RelativePath="..\..\common\faad\filestream.c"/>
-			<File
-				RelativePath="..\..\common\faad\id3v2tag.c"/>
-			<File
-				RelativePath=".\in_faad.c"/>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl">
-			<File
-				RelativePath="..\..\common\faad\aacinfo.h"/>
-			<File
-				RelativePath="..\..\include\faad.h"/>
-			<File
-				RelativePath="..\..\common\faad\filestream.h"/>
-			<File
-				RelativePath="..\..\common\faad\id3v2tag.h"/>
-			<File
-				RelativePath=".\in2.h"/>
-			<File
-				RelativePath=".\out.h"/>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-			<File
-				RelativePath=".\plugin_dlg.rc"/>
-		</Filter>
-	</Files>
-	<Globals/>
-</VisualStudioProject>
--- a/plugins/winamp/out.h
+++ /dev/null
@@ -1,52 +1,0 @@
-#define OUT_VER 0x10
-
-typedef struct
-{
-    int version;                // module version (OUT_VER)
-    char *description;          // description of module, with version string
-    int id;                     // module id. each input module gets its own. non-nullsoft modules should
-                                // be >= 65536.
-
-    HWND hMainWindow;           // winamp's main window (filled in by winamp)
-    HINSTANCE hDllInstance;     // DLL instance handle (filled in by winamp)
-
-    void (*Config)(HWND hwndParent); // configuration dialog
-    void (*About)(HWND hwndParent);  // about dialog
-
-    void (*Init)();             // called when loaded
-    void (*Quit)();             // called when unloaded
-
-    int (*Open)(int samplerate, int numchannels, int bitspersamp, int bufferlenms, int prebufferms);
-                    // returns >=0 on success, <0 on failure
-                    // NOTENOTENOTE: bufferlenms and prebufferms are ignored in most if not all output plug-ins.
-                    //    ... so don't expect the max latency returned to be what you asked for.
-                    // returns max latency in ms (0 for diskwriters, etc)
-                    // bufferlenms and prebufferms must be in ms. 0 to use defaults.
-                    // prebufferms must be <= bufferlenms
-
-    void (*Close)();    // close the ol' output device.
-
-    int (*Write)(char *buf, int len);
-                    // 0 on success. Len == bytes to write (<= 8192 always). buf is straight audio data.
-                    // 1 returns not able to write (yet). Non-blocking, always.
-
-    int (*CanWrite)();  // returns number of bytes possible to write at a given time.
-                        // Never will decrease unless you call Write (or Close, heh)
-
-    int (*IsPlaying)(); // non0 if output is still going or if data in buffers waiting to be
-                        // written (i.e. closing while IsPlaying() returns 1 would truncate the song
-
-    int (*Pause)(int pause); // returns previous pause state
-
-    void (*SetVolume)(int volume); // volume is 0-255
-    void (*SetPan)(int pan); // pan is -128 to 128
-
-    void (*Flush)(int t);   // flushes buffers and restarts output at time t (in ms)
-                            // (used for seeking)
-
-    int (*GetOutputTime)(); // returns played time in MS
-    int (*GetWrittenTime)(); // returns time written in MS (used for synching up vis stuff)
-
-} Out_Module;
-
-
--- a/plugins/winamp/plugin_dlg.rc
+++ /dev/null
@@ -1,277 +1,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CONFIG DIALOGEX 0, 0, 261, 133
-STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "FAAC Decoder Configuration"
-FONT 8, "MS Sans Serif"
-BEGIN
-    CONTROL         "Enable variable bitrate display",VARBITRATE_CHK,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,119,7,109,10
-    EDITTEXT        STREAM_BUFFER_TXT,187,21,21,12,ES_AUTOHSCROLL | 
-                    ES_NUMBER
-    EDITTEXT        LOCAL_BUFFER_TXT,187,38,21,12,ES_AUTOHSCROLL | ES_NUMBER
-    CONTROL         "Buffer entire files into memory",IDC_MEMMAP,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,119,60,107,10
-    CONTROL         "Slider1",THREAD_PRIORITY_SLIDER,"msctls_trackbar32",
-                    TBS_AUTOTICKS | WS_TABSTOP,119,89,99,11,
-                    WS_EX_TRANSPARENT
-    PUSHBUTTON      "OK",OK_BTN,74,112,50,14
-    PUSHBUTTON      "Cancel",CANCEL_BTN,137,112,50,14
-    LTEXT           "HTTP stream buffer:",IDC_STATIC,119,22,65,8
-    LTEXT           "Decode Thread Priority: Highest (default)",IDC_STATIC2,
-                    119,78,135,8
-    LTEXT           "Local file buffer: ",IDC_STATIC,119,40,53,8
-    GROUPBOX        "Title Format",IDC_STATIC,7,7,102,95
-    EDITTEXT        IDC_FORMAT,13,20,89,14,ES_AUTOHSCROLL
-    LTEXT           "%0 Track",IDC_STATIC,13,41,31,8
-    LTEXT           "%1 Artist",IDC_STATIC,13,51,28,8
-    LTEXT           "%2 Title",IDC_STATIC,13,61,26,8
-    LTEXT           "%3 Album",IDC_STATIC,13,71,32,8
-    LTEXT           "%4 Year",IDC_STATIC,13,81,27,8
-    LTEXT           "%5 Comment",IDC_STATIC,58,41,42,8
-    LTEXT           "%6 Genre",IDC_STATIC,58,51,32,8
-    LTEXT           "%7 Filename",IDC_STATIC,58,61,40,8
-END
-
-IDD_INFO DIALOGEX 0, 0, 401, 237
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "File Properties"
-FONT 8, "MS Sans Serif"
-BEGIN
-    CONTROL         "ID3v2 tag",IDC_ID3V2TAG,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,145,17,47,10
-    PUSHBUTTON      "Add standard",IDC_ADDSTFRAMES,145,209,50,14
-    PUSHBUTTON      "Add frame",IDC_ADDFRAME,200,209,50,14
-    PUSHBUTTON      "Edit frame",IDC_EDITFRAME,255,209,50,14
-    PUSHBUTTON      "Delete frame",IDC_DELFRAME,310,209,50,14
-    PUSHBUTTON      "Close",IDC_CLOSE,7,216,50,14
-    GROUPBOX        "ID3v2",IDC_STATIC,137,7,257,223
-    GROUPBOX        "AAC file info",IDC_STATIC,7,7,122,92
-    LTEXT           "Header type:",IDC_STATIC,21,34,42,8
-    LTEXT           "Profile:",IDC_STATIC,41,46,22,8
-    LTEXT           "Bitrate:",IDC_STATIC,40,58,23,8
-    LTEXT           "Samplerate:",IDC_STATIC,25,70,38,8
-    LTEXT           "Channels:",IDC_STATIC,31,82,32,8
-    LTEXT           "-",IDC_HEADER,69,34,50,8
-    LTEXT           "-",IDC_PROFILE,69,46,50,8
-    LTEXT           "-",IDC_BITRATE,69,58,50,8
-    LTEXT           "-",IDC_SAMPLERATE,69,70,50,8
-    LTEXT           "-",IDC_CHANNELS,69,82,50,8
-    LTEXT           "MPEG version:",IDC_STATIC,15,22,48,8
-    LTEXT           "-",IDC_VERSION,69,22,50,8
-    CONTROL         "List1",IDC_ID3LIST,"SysListView32",LVS_REPORT | 
-                    LVS_NOSORTHEADER | WS_TABSTOP,145,32,243,173,
-                    WS_EX_CLIENTEDGE
-END
-
-IDD_EDITTEXTFRAME DIALOGEX 0, 0, 210, 63
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Edit text frame"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    EDITTEXT        IDC_EDITTEXTFRAME,71,23,132,12,ES_AUTOHSCROLL
-    DEFPUSHBUTTON   "OK",IDOK,108,42,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,51,42,50,14
-    EDITTEXT        IDC_TEXTFRAMENAME,71,6,132,12,ES_AUTOHSCROLL
-    LTEXT           "Frame description",IDC_STATIC,11,9,56,8
-    LTEXT           "Frame data",IDC_STATIC,22,26,45,8,0,WS_EX_RIGHT
-END
-
-IDD_ADDFRAME DIALOGEX 0, 0, 213, 84
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Dialog"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    COMBOBOX        IDC_FRAMETYPE,72,7,134,63,CBS_DROPDOWNLIST | WS_VSCROLL | 
-                    WS_TABSTOP
-    EDITTEXT        IDC_COL0,72,23,134,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_COL1,72,39,134,12,ES_AUTOHSCROLL
-    DEFPUSHBUTTON   "OK",IDOK,109,63,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,53,63,50,14
-    LTEXT           "Frame type",IDC_STATIC,31,10,36,8
-    LTEXT           "Frame description",IDC_STATIC,11,25,56,8
-    LTEXT           "Frame data",IDC_STATIC,18,41,50,8,0,WS_EX_RIGHT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    IDD_CONFIG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 254
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 126
-    END
-
-    IDD_INFO, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 394
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 230
-    END
-
-    IDD_EDITTEXTFRAME, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 203
-        TOPMARGIN, 6
-        BOTTOMMARGIN, 56
-    END
-
-    IDD_ADDFRAME, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 206
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 77
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Dutch (Netherlands) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NLD)
-#ifdef _WIN32
-LANGUAGE LANG_DUTCH, SUBLANG_DUTCH
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ADDSTANDARD DIALOG DISCARDABLE  0, 0, 243, 245
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Add standard frames"
-FONT 8, "MS Sans Serif"
-BEGIN
-    EDITTEXT        IDC_TRACK,63,22,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_TITLE,63,36,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_ARTIST,63,52,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_ALBUM,63,68,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_YEAR,63,82,40,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_GENRE,132,81,93,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_COMMENT,63,97,162,35,ES_MULTILINE | ES_AUTOHSCROLL | 
-                    WS_VSCROLL
-    EDITTEXT        IDC_COMPOSER,63,135,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_ORIGARTIST,63,151,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_COPYRIGHT,63,164,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_URL,63,180,162,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_ENCBY,63,196,162,12,ES_AUTOHSCROLL
-    DEFPUSHBUTTON   "OK",IDOK,120,224,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,61,224,50,14
-    LTEXT           "Track #:",IDC_STATIC,26,24,28,8
-    LTEXT           "Title",IDC_STATIC,40,39,14,8
-    LTEXT           "Artist",IDC_STATIC,38,54,16,8
-    LTEXT           "Album",IDC_STATIC,34,69,20,8
-    LTEXT           "Year",IDC_STATIC,38,85,16,8
-    LTEXT           "Genre",IDC_STATIC,109,83,20,8
-    LTEXT           "Comment",IDC_STATIC,24,98,30,8
-    LTEXT           "Composer",IDC_STATIC,22,138,32,8
-    LTEXT           "Orig. artist",IDC_STATIC,22,152,32,8
-    LTEXT           "Copyright",IDC_STATIC,24,168,30,8
-    LTEXT           "URL",IDC_STATIC,38,182,16,8
-    LTEXT           "Encoded by",IDC_STATIC,15,197,39,8
-    GROUPBOX        "Standard frames",IDC_STATIC,7,7,229,210
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    IDD_ADDSTANDARD, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 238
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-#endif    // Dutch (Netherlands) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
--- a/plugins/winamp/resource.h
+++ /dev/null
@@ -1,63 +1,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by plugin_dlg.rc
-//
-#define PLUGIN_DLG                      101
-#define IDD_CONFIG                      101
-#define IDD_INFO                        102
-#define IDD_EDITTEXTFRAME               103
-#define IDD_ADDFRAME                    104
-#define IDD_ADDSTANDARD                 105
-#define VARBITRATE_CHK                  1004
-#define BUFFERING_SLIDER                1006
-#define THREAD_PRIORITY_SLIDER          1007
-#define IDC_ID3V2TAG                    1020
-#define IDC_CLOSE                       1021
-#define IDC_CANCEL                      1022
-#define IDC_HEADER                      1025
-#define IDC_PROFILE                     1026
-#define IDC_BITRATE                     1027
-#define IDC_SAMPLERATE                  1028
-#define IDC_CHANNELS                    1029
-#define IDC_VERSION                     1030
-#define IDC_ID3LIST                     1032
-#define IDC_STATIC2                     1034
-#define LOCAL_BUFFER_TXT                1035
-#define STREAM_BUFFER_TXT               1036
-#define IDC_CHECK1                      1037
-#define IDC_MEMMAP                      1037
-#define OK_BTN                          1038
-#define CANCEL_BTN                      1039
-#define IDC_EDITTEXTFRAME               1040
-#define IDC_FRAMETYPE                   1040
-#define IDC_TEXTFRAMENAME               1041
-#define IDC_COL0                        1041
-#define IDC_DELFRAME                    1042
-#define IDC_COL1                        1042
-#define IDC_EDITFRAME                   1043
-#define IDC_ADDFRAME                    1044
-#define IDC_TRACK                       1045
-#define IDC_ADDSTFRAMES                 1045
-#define IDC_TITLE                       1046
-#define IDC_FORMAT                      1046
-#define IDC_ARTIST                      1047
-#define IDC_ALBUM                       1048
-#define IDC_YEAR                        1049
-#define IDC_COMMENT                     1050
-#define IDC_COMPOSER                    1051
-#define IDC_ORIGARTIST                  1052
-#define IDC_COPYRIGHT                   1053
-#define IDC_URL                         1054
-#define IDC_ENCBY                       1055
-#define IDC_GENRE                       1056
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        106
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1047
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif