aboutsummaryrefslogtreecommitdiff
path: root/Src/Mastering
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Mastering')
-rw-r--r--Src/Mastering/VerCtrl/verctrl.cpp878
-rw-r--r--Src/Mastering/VerCtrl/verctrl.exebin0 -> 84992 bytes
-rw-r--r--Src/Mastering/VerCtrl/verctrl.sln19
-rw-r--r--Src/Mastering/VerCtrl/verctrl.vcproj209
-rw-r--r--Src/Mastering/Winamp/Plugin Versions.xlsbin0 -> 26112 bytes
-rw-r--r--Src/Mastering/Winamp/build_installer.cmd73
-rw-r--r--Src/Mastering/Winamp/build_mud.cmd13
-rw-r--r--Src/Mastering/Winamp/build_orb.cmd13
-rw-r--r--Src/Mastering/Winamp/build_wadetect.cmd37
-rw-r--r--Src/Mastering/Winamp/build_wbm.cmd15
-rw-r--r--Src/Mastering/Winamp/build_wbm_2022.cmd19
-rw-r--r--Src/Mastering/Winamp/build_webdev.cmd12
-rw-r--r--Src/Mastering/Winamp/build_winamp_beta.xml280
-rw-r--r--Src/Mastering/Winamp/build_winamp_beta_x64.xml422
-rw-r--r--Src/Mastering/Winamp/build_winamp_final.xml280
-rw-r--r--Src/Mastering/Winamp/build_winamp_night.xml271
-rw-r--r--Src/Mastering/Winamp/build_winamp_qa.xml448
-rw-r--r--Src/Mastering/Winamp/configmap.xml5
-rw-r--r--Src/Mastering/Winamp/fileNames.cmd36
-rw-r--r--Src/Mastering/Winamp/installer_final.config12
-rw-r--r--Src/Mastering/Winamp/installer_final.lang26
-rw-r--r--Src/Mastering/Winamp/master_winamp_beta.xml74
-rw-r--r--Src/Mastering/Winamp/master_winamp_beta_x64.xml74
-rw-r--r--Src/Mastering/Winamp/master_winamp_final.xml74
-rw-r--r--Src/Mastering/Winamp/master_winamp_night.xml74
-rw-r--r--Src/Mastering/Winamp/master_winamp_qa.xml76
-rw-r--r--Src/Mastering/Winamp/package_vc.xml82
-rw-r--r--Src/Mastering/Winamp/rebase.cmd3
-rw-r--r--Src/Mastering/Winamp/simple_sign.cmd12
-rw-r--r--Src/Mastering/Winamp/talkback.ini141
-rw-r--r--Src/Mastering/master_winamp.cmd258
31 files changed, 3936 insertions, 0 deletions
diff --git a/Src/Mastering/VerCtrl/verctrl.cpp b/Src/Mastering/VerCtrl/verctrl.cpp
new file mode 100644
index 00000000..658a6a94
--- /dev/null
+++ b/Src/Mastering/VerCtrl/verctrl.cpp
@@ -0,0 +1,878 @@
+// verctrl.cpp : Defines the entry point for the console application.
+//
+
+#include "verctrl.h"
+
+static char *branding = 0;
+
+int _tmain(int argc, _TCHAR* argv[])
+{
+ _tprintf(_T("Version Control Utility ver 1.0\n"));
+ _tprintf(_T("Patching version information in the winamp project source files\n\n"));
+
+ bool setted = false;
+ if (argc > 1)
+ {
+ if (0 == _tcsicmp(argv[1], _T("QA")))
+ {
+ type = Beta;
+ setted = true;
+ }
+ else if (0 == _tcsicmp(argv[1], _T("BETA")))
+ {
+ type = Beta;
+ setted = true;
+ }
+ else if (0 == _tcsicmp(argv[1], _T("NIGHT")))
+ {
+ type = Night;
+ setted = true;
+ }
+ else if (0 == _tcsicmp(argv[1], _T("FINAL")))
+ {
+ type = Final;
+ setted = true;
+ }
+ }
+ if (argc > 2)
+ {
+ branding = strdup(argv[2]);
+ }
+ else
+ branding=_T("");
+
+
+ if (!setted)
+ {
+ Help();
+ _tprintf(_T("\nError! Not enough arguments.\n"));
+ return 1;
+ }
+ else
+ {
+
+ _tprintf(_T("Build Type: "));
+
+ switch(type)
+ {
+ case Final:
+ _tprintf(_T("FINAL"));
+ break;
+ case Beta:
+ _tprintf(_T("BETA"));
+ break;
+ case Night:
+ _tprintf(_T("NIGHT"));
+ break;
+ }
+ _tprintf(_T("\n"));
+ _tprintf(_T("Branding: %s\n"), branding);
+ _tprintf(_T("\n"));
+ }
+ InitData();
+ _tprintf(_T("Reading version info... "));
+ if (!LoadInfoFile())
+ {
+ _tprintf(_T("Failed\n\nError! Unable to load version data from '%s'.\n\n"), verInfoFileName);
+ return 1;
+ }
+ _tprintf(_T("Ok\n"));
+ _tprintf(_T("Reading build info... "));
+ if (!LoadBuildNumber())
+ {
+ _tprintf(_T("Failed\n\nError! Unable to load version data from '%s'.\n\n"), verBuildFileName);
+ return 1;
+
+ }
+ _tprintf(_T("Ok\n"));
+
+ if (argc > 3 && (0 == _tcsicmp(argv[3], _T("inc")))) ver_build++; // increment build number
+
+ _tprintf(_T("Checking version info data... "));
+ if (!AllValuesSet())
+ {
+ _tprintf(_T("Failed\n\nError! Not all version data is set. Check version information files syntax.\n\n"));
+ return 1;
+ }
+ _tprintf(_T("Ok\n"));
+
+ bool success[9];
+ for(int i = 0; i < sizeof(success)/sizeof(success[0]); i++) success[i] = true;
+
+ _tprintf(_T("\nPatching '%s' "), fileConstantsH);
+ if (!PatchConstantsH()) { _tprintf(_T("Failed\n")); success[0] = false;}
+ else _tprintf(_T("Ok\n"));
+
+ _tprintf(_T("Patching '%s' "), fileVerInfoNSH);
+ if (!PatchVerInfoNSH()) { _tprintf(_T("Failed\n")); success[1] = false;}
+ else _tprintf(_T("Ok\n"));
+
+ _tprintf(_T("Patching '%s' "), fileMainH);
+ if (!PatchMainH()) { _tprintf(_T("Failed\n")); success[2] = false;}
+ else _tprintf("Ok\n");
+
+
+ _tprintf(_T("Patching '%s' "), fileBuildTypeH);
+ if (!PatchBuildTypeH()) { _tprintf(_T("Failed\n")); success[3] = false;}
+ else _tprintf("Ok\n");
+
+
+ _tprintf(_T("Patching '%s' "), fileWasabiCfgH);
+ if (!PatchWasabiCfgH()) { _tprintf(_T("Failed\n")); success[4] = false;}
+ else _tprintf("Ok\n");
+
+ _tprintf(_T("Patching '%s' "), fileManifest);
+ if (!PatchManifest(fileManifest)) { _tprintf(_T("Failed\n")); success[5] = false;}
+ else _tprintf("Ok\n");
+
+ _tprintf(_T("Patching '%s' "), fileManifest64);
+ if (!PatchManifest(fileManifest64)) { _tprintf(_T("Failed\n")); success[6] = false;}
+ else _tprintf("Ok\n");
+
+ _tprintf(_T("Patching '%s' "), fileFileNamesCmd);
+ if (!PatchFileNamesCmd()) { _tprintf(_T("Failed\n")); success[7] = false;}
+ else _tprintf("Ok\n");
+
+ _tprintf(_T("Patching '%s' "), fileMakeNsisCmd);
+ if (!PatchMakeNsisCmd()) { _tprintf(_T("Failed\n")); success[8] = false;}
+ else _tprintf("Ok\n");
+
+ _tprintf(_T("Patching '%s' "), fileTalkbackIni);
+ if (!PatchTalkbackIni()) { _tprintf(_T("Failed\n")); success[9] = false;}
+ else _tprintf("Ok\n");
+
+
+ _tprintf(_T("\n"));
+ bool iserr = false;
+ for (int i = 0 ; i <9 ; i++)
+ {
+ if (!success[i])
+ {
+ iserr = true;
+ TCHAR const *fn;
+ switch(i)
+ {
+ case 0:
+ fn = fileConstantsH;
+ break;
+ case 1:
+ fn = fileVerInfoNSH;
+ break;
+ case 2:
+ fn = fileMainH;
+ break;
+ case 3:
+ fn = fileBuildTypeH;
+ break;
+ case 4:
+ fn = fileWasabiCfgH;
+ break;
+ case 5:
+ fn = fileManifest;
+ break;
+ case 6:
+ fn = fileManifest64;
+ break;
+ case 7:
+ fn = fileFileNamesCmd;
+ break;
+ case 8:
+ fn = fileMakeNsisCmd;
+ break;
+ case 9:
+ fn = fileTalkbackIni;
+ break;
+ }
+ _tprintf(_T("Error! Unable to patch file - '%s'.\n"), fn);
+
+ }
+ }
+
+ if (iserr)
+ {
+ _tprintf(_T("\nData patched with errors.\n\n"));
+ }
+ else
+ {
+ _tprintf(_T("Data patched successfully.\n\n"));
+ }
+
+ return 0;
+}
+void InitData(void)
+{
+ ver_major = 5;
+ ver_minor = 0;
+ ver_minor2 = 0;
+ ver_build = 0;
+ ver_api[0] = 0;
+}
+
+bool LoadInfoFile(void)
+{
+ FILE* pstream;
+ if( (pstream = _tfsopen( verInfoFileName, "r", 0x20 )) == NULL )
+ return false;
+ fseek( pstream, 0L, SEEK_SET );
+
+ TCHAR line[LINE_LENGTH];
+ while( !feof(pstream) )
+ {
+ _fgetts(line,LINE_LENGTH,pstream);
+ RemoveCrap(line, (int)_tcslen(line));
+ ParseLine(line);
+ }
+ fclose(pstream);
+
+ return true;
+}
+
+
+bool LoadBuildNumber(void)
+{
+ FILE* pstream;
+ if( (pstream = _tfsopen( verBuildFileName, "r", 0x20 )) == NULL )
+ return false;
+ fseek( pstream, 0L, SEEK_SET );
+
+ TCHAR line[LINE_LENGTH];
+
+ while( !feof(pstream) )
+ {
+ _fgetts(line,LINE_LENGTH,pstream);
+ if (_tcsstr(line, _T("DG_BUILD_NUMBER")) != NULL)
+ {
+ TCHAR *end;
+ end = line + (int)_tcslen(line) -1;
+ while (end[0] <= 32) {end[0] = 0; end--;}
+ while ( end[0] >= _T('0') && end[0] <= _T('9') ) end--;
+ if ((int)_tcslen(line) > 0)
+ {
+ _stscanf(end, "%d", &ver_build);
+ }
+
+ }
+
+ }
+ fclose(pstream);
+
+ return true;
+}
+void ParseLine(TCHAR* line)
+{
+ TCHAR *name, *value;
+ int pos = 0;
+ while (line[pos] != _T('=') && line[pos] != 0) pos++;
+ if (pos == 0) return; // no name
+ name = line;
+ line[pos] = 0;
+ value = line + pos +1;
+
+ if (0 == _tcscmp(name, _T("VERSION_MAJOR"))) _stscanf(value, "%d", &ver_major);
+ else if (0 == _tcscmp(name, _T("VERSION_MINOR"))) _stscanf(value, "%d", &ver_minor);
+
+ // look if VERSION_MINOR_SECOND more than one char length only first one goes to the number
+ else if (0 == _tcscmp(name, _T("VERSION_MINOR_SECOND")))
+ {
+ _tcscpy(ver_minor2_full, value);
+ if (_tcslen(value) > 1) value[1] = 0x00;
+
+ if (!_tcscmp(ver_minor2_full, _T("0")))
+ _tcscpy(ver_minor2_full, _T(""));
+
+ _stscanf(value, "%d", &ver_minor2);
+ }
+
+ else if (0 == _tcscmp(name, _T("VERSION_API"))) _tcscpy(ver_api, value);
+
+}
+
+TCHAR* RemoveCrap(TCHAR* str, int len)
+{
+ int pos = 0;
+ while (pos < len)
+ {
+ if (str[pos] < 33)
+ {
+ for (int i = pos + 1; i < len; i++) str[i -1] = str[i];
+ str[len-1] = 0;
+ len --;
+ }
+ else pos++;
+ }
+ return str;
+}
+
+bool AllValuesSet(void)
+{
+ return !((ver_major > -1) && (ver_minor > -1) && (ver_minor2 > -1) && (ver_build > -1) > (ver_api[0] > 0));
+}
+
+bool PatchConstantsH(void)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileConstantsH, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+ const TCHAR* lookFor = _T("#define DG_VERSION /*CFGMGMT_VERSION*/");
+ TCHAR line[LINE_LENGTH];
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+ if (NULL != _tcsstr(line, lookFor))
+ {
+ TCHAR *data;
+ data = line + (int)_tcslen(lookFor);
+ const TCHAR ending[128] = _T("\"\n\0");
+
+ TCHAR newStr[256];
+ _stprintf(newStr, _T(" \"%d.%d.%d"), ver_major, ver_minor, ver_minor2);
+
+ switch(type)
+ {
+ case Beta:
+ _tcscat(newStr,_T(" Beta"));
+ break;
+ case Night:
+ _tcscat(newStr,_T(" Nightly"));
+ break;
+ }
+
+ _tcscat(newStr, ending);
+ _tcscpy(data, newStr);
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileConstantsH, "w+", streamIn) == NULL ) return false;
+
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+bool PatchVerInfoNSH(void)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileVerInfoNSH, "rb", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+
+ wchar_t line[LINE_LENGTH];
+ wchar_t *data;
+ const wchar_t ending[] = L"\"\n\0";
+ wchar_t newStr[256];
+ const wchar_t lookMajor[] = L"VERSION_MAJOR";
+ const wchar_t lookMin[] = L"VERSION_MINOR";
+ const wchar_t lookMin2[] = L"VERSION_MINOR_SECOND";
+ const wchar_t lookMin3[] = L"VERSION_MINOR_SECOND_SHORT";
+ const wchar_t lookBuild[] = L"BUILD_NUM";
+ wchar_t *start;
+ wchar_t BOM = 0xFEFF;
+ fwrite(&BOM, sizeof(BOM), 1, streamOut);
+ switch(type)
+ {
+ case Beta:
+ fputws(L"!define BETA\n\0", streamOut);
+ break;
+ case Night:
+ fputws(L"!define NIGHT\n\0", streamOut);
+ break;
+ }
+ fread(&BOM, 2, 1, streamIn);
+ while( !feof(streamIn) )
+ {
+ if (NULL == fgetws(line,LINE_LENGTH, streamIn)) continue;
+ if (NULL != wcsstr(line, L"!define"))
+ {
+
+ if (NULL != (start = wcsstr(line, lookMajor)))
+ {
+ data = start + (int)wcslen(lookMajor);
+ swprintf(newStr, L" \"%d%s", ver_major, ending);
+ wcscpy(data, newStr);
+ }
+ else if (NULL != (start = wcsstr(line, lookMin3)))
+ {
+ data = start + (int)wcslen(lookMin3);
+ swprintf(newStr, L" \"%d%s", ver_minor2, ending);
+ wcscpy(data, newStr);
+ }
+ else if (NULL != (start = wcsstr(line, lookMin2)))
+ {
+ data = start + (int)wcslen(lookMin2);
+ swprintf(newStr, L" \"%S%s", ver_minor2_full, ending);
+ wcscpy(data, newStr);
+ }
+ else if (NULL != (start = wcsstr(line, lookMin)))
+ {
+ data = start + (int)wcslen(lookMin);
+ if (L' ' == data[0])
+ {
+ swprintf(newStr, L" \"%d%s", ver_minor, ending);
+ wcscpy(data, newStr);
+ }
+ }
+ else if (NULL != (start = wcsstr(line, lookBuild)))
+ {
+ data = start + (int)wcslen(lookBuild);
+ swprintf(newStr, L" \"%d%s", ver_build, ending);
+ wcscpy(data, newStr);
+ }
+ else if (NULL != wcsstr(line, L"BETA") || NULL != wcsstr(line, L"NIGHT")) continue; // ignore it - we will define it on our one :)
+ }
+ fputws(line, streamOut);
+ }
+ fputws( L"\n\0", streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileVerInfoNSH, "w+b", streamIn) == NULL ) return false;
+
+ fwcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+bool PatchMainH(void)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileMainH, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+
+ TCHAR line[LINE_LENGTH];
+ TCHAR *data;
+ const TCHAR ending[128] = _T("\"\n\0");
+ TCHAR version[128];
+ TCHAR versionStr[128];
+
+ TCHAR newStr[256];
+ const TCHAR lookBuildNumber[128] = _T("#define BUILD_NUMBER");
+ const TCHAR lookVer[128] = _T("#define APP_VERSION");
+ const TCHAR lookAPI[128] = _T("_NUM");
+ const TCHAR lookStr[128] = _T("_STRING");
+ TCHAR *start;
+
+ _stprintf(version, _T("%d.%d%s"), ver_major, ver_minor, ver_minor2_full);
+ /*if (Final == type)
+ {
+ _stprintf(versionStr, _T("%d.%d%s"), ver_major, ver_minor, ver_minor2_full);
+ }
+ else*/
+ {
+ _stprintf(versionStr, _T("%d.%d%s Build %d"), ver_major, ver_minor, ver_minor2_full, ver_build);
+ }
+
+ switch(type)
+ {
+ case Beta:
+ _tcscat(versionStr,_T(" Beta"));
+ break;
+ case Night:
+ _tcscat(versionStr,_T(" Nightly"));
+ break;
+ }
+
+
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+ if (NULL != _tcsstr(line, lookVer) )
+ {
+if (NULL != (start = _tcsstr(line, lookAPI)))
+ {
+ data = start + (int)_tcslen(lookAPI);
+ _stprintf(newStr, _T(" %s\n\0"), ver_api);
+ _tcscpy(data, newStr);
+ }
+ else if (NULL != (start = _tcsstr(line, lookStr)))
+ {
+ data = start + (int)_tcslen(lookStr);
+ _stprintf(newStr, _T(" \"%s%s"), versionStr, ending);
+ _tcscpy(data, newStr);
+ }
+ else
+ {
+ data = line + (int)_tcslen(lookVer);
+ if (_T(' ') == data[0] ) // just a version
+ {
+ _stprintf(newStr, _T(" \"%s%s"), version, ending);
+ _tcscpy(data, newStr);
+ }
+ }
+ }
+ else if (NULL != _tcsstr(line, lookBuildNumber))
+ {
+ data = line + (int)_tcslen(lookBuildNumber);
+ if (_T(' ') == data[0] ) // just a version
+ {
+ _stprintf(newStr, _T(" %d"), ver_build);
+ _tcscpy(data, newStr);
+ }
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileMainH, "w+", streamIn) == NULL ) return false;
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+
+
+
+
+bool PatchTalkbackIni(void)
+{
+FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileTalkbackIni, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+
+ TCHAR line[LINE_LENGTH];
+ const TCHAR ending[128] = _T("\"\n\0");
+
+
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+ if (line == _tcsstr(line, _T("BuildID = \"")))
+ {
+ _stprintf(line, _T("BuildID = \"%d\"\n\0"), ver_build);
+
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileTalkbackIni, "w+", streamIn) == NULL ) return false;
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+
+
+
+bool PatchBuildTypeH(void)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileBuildTypeH, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+
+ TCHAR line[LINE_LENGTH];
+ const TCHAR ending[128] = _T("\"\n\0");
+
+ const TCHAR lookBeta[128] = _T("#define BETA");
+ const TCHAR lookNight[128] = _T("#define NIGHT");
+ const TCHAR lookInternal[128] = _T("#define INTERNAL");
+ const TCHAR lookNokia[128] = _T("#define NOKIA");
+
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+ if (NULL != _tcsstr(line, lookBeta))
+ {
+ if (Beta == type) _stprintf(line, _T("%s\n\0"), lookBeta);
+ else _stprintf(line, _T("/*%s*/\n\0"), lookBeta);
+
+ }
+ else if (NULL != _tcsstr(line, lookNight))
+ {
+ if (Night == type) _stprintf(line, _T("%s\n\0"), lookNight);
+ else _stprintf(line, _T("/*%s*/\n\0"), lookNight);
+
+ }
+ else if (NULL != _tcsstr(line, lookInternal))
+ {
+ if (Night == type) _stprintf(line, _T("%s\n\0"), lookInternal);
+ else _stprintf(line, _T("/*%s*/\n\0"), lookInternal);
+
+ }
+ else if (NULL != _tcsstr(line, lookNokia))
+ {
+ if (!stricmp(branding, "NOKIA")) _stprintf(line, _T("%s\n\0"), lookNokia);
+ else _stprintf(line, _T("/*%s*/\n\0"), lookNokia);
+
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileBuildTypeH, "w+", streamIn) == NULL ) return false;
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+
+}
+
+
+
+bool PatchWasabiCfgH(void)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileWasabiCfgH, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+
+ TCHAR line[LINE_LENGTH];
+ const TCHAR ending[128] = _T("\"\n\0");
+
+ const TCHAR lookBeta[128] = _T("#define BETA");
+ const TCHAR lookNight[128] = _T("#define NIGHT");
+ const TCHAR lookNokia[128] = _T("#define NOKIA");
+
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+ if (NULL != _tcsstr(line, lookBeta))
+ {
+ if (Beta == type) _stprintf(line, _T("%s\n\0"), lookBeta);
+ else _stprintf(line, _T("/*%s*/\n\0"), lookBeta);
+
+ }
+ else if (NULL != _tcsstr(line, lookNight))
+ {
+ if (Night == type) _stprintf(line, _T("%s\n\0"), lookNight);
+ else _stprintf(line, _T("/*%s*/\n\0"), lookNight);
+
+ }
+ else if (NULL != _tcsstr(line, lookNokia))
+ {
+ if (!stricmp(branding, "NOKIA")) _stprintf(line, _T("%s\n\0"), lookNokia);
+ else _stprintf(line, _T("/*%s*/\n\0"), lookNokia);
+
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileWasabiCfgH, "w+", streamIn) == NULL ) return false;
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+
+
+
+bool PatchFileNamesCmd(void)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileFileNamesCmd, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+ TCHAR *data;
+ TCHAR newStr[LINE_LENGTH];
+ TCHAR line[LINE_LENGTH];
+ const TCHAR ending[] = _T("\n\0");
+
+ const TCHAR lookStr[] = _T("SET INSTALL_NAME");
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+ if (NULL != _tcsstr(line, lookStr))
+ {
+ data = line + (int)_tcslen(lookStr);
+ _stprintf(newStr, _T("=winamp%d%d%s"), ver_major, ver_minor, ver_minor2_full);
+ TCHAR tmp[64];
+ switch(type)
+ {
+ case Beta:
+ case Night:
+ _stprintf(tmp, ((Beta == type) ? "_%04d_beta" : "_%04d_nightly"), ver_build);
+ _tcscat(newStr,tmp);
+ break;
+ }
+ _tcscat(newStr, ending);
+ _tcscpy(data, newStr);
+
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileFileNamesCmd, "w+", streamIn) == NULL ) return false;
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+
+
+
+bool PatchMakeNsisCmd(void)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fileMakeNsisCmd, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+ TCHAR *data;
+ TCHAR newStr[LINE_LENGTH];
+ TCHAR line[LINE_LENGTH];
+ const TCHAR ending[] = _T("\n\0");
+
+ const TCHAR *szLookTable[] =
+ {
+ _T("SET WINAMP_VERSION_MAJOR"),
+ _T("SET WINAMP_VERSION_MINOR_SECOND"),
+ _T("SET WINAMP_VERSION_MINOR"),
+
+ };
+
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+
+ for (int i = 0; i < sizeof(szLookTable)/sizeof(szLookTable[0]); i++)
+ {
+ TCHAR *p = _tcsstr(line, szLookTable[i]);
+ if (NULL != p && *(p + _tcslen(szLookTable[i])) != _T('_'))
+ {
+ data = line + (int)_tcslen( szLookTable[i]);
+ switch(i)
+ {
+ case 0: _stprintf(newStr, _T("=%d"), ver_major); break;
+ case 1: _stprintf(newStr, _T("=%s"), ver_minor2_full); break;
+ case 2: _stprintf(newStr, _T("=%d"), ver_minor); break;
+ }
+ _tcscat(newStr, ending);
+ _tcscpy(data, newStr);
+ }
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fileMakeNsisCmd, "w+", streamIn) == NULL ) return false;
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+
+bool PatchManifest(const TCHAR *fn)
+{
+ FILE *streamIn, *streamOut;
+ if( (streamIn = _tfsopen( fn, "r", 0x20 )) == NULL ) return false;
+ fseek( streamIn, 0L, SEEK_SET );
+
+ streamOut = tmpfile();
+ fseek( streamOut, 0L, SEEK_SET );
+
+
+ TCHAR line[LINE_LENGTH];
+ TCHAR *data;
+ const TCHAR ending[128] = _T("\"\n\0");
+ TCHAR version[128];
+
+ TCHAR newStr[256];
+ const TCHAR lookSec[128] = _T("<assemblyIdentity");
+ const TCHAR lookSecEnd[4] = _T("/>");
+ const TCHAR lookVer[128] = _T("version");
+
+ _stprintf(version, _T("%d.%d.%d.%d"), ver_major, ver_minor, ver_minor2, ver_build);
+
+ bool fixed = false;
+ bool inSection = false;
+ TCHAR *start;
+ while( !feof(streamIn) )
+ {
+ if (NULL == _fgetts(line,LINE_LENGTH, streamIn)) continue;
+ if (!fixed)
+ {
+ if (NULL != _tcsstr(line, lookSec) )
+ {
+ inSection = true;
+ }
+ else if(NULL != _tcsstr(line, lookSecEnd) )
+ {
+ if (inSection) fixed = true; // protection allows only ones to came to the section
+
+ inSection = false;
+ }
+ else if (inSection && (NULL != (start = _tcsstr(line, lookVer))))
+ {
+ data = start + (int)_tcslen(lookVer);
+ _stprintf(newStr, _T("=\"%s%s"), version, ending);
+ _tcscpy(data, newStr);
+ fixed = true;
+ }
+
+ }
+ _fputts(line, streamOut);
+ }
+ _fputts( _T("\n\0"), streamOut);
+ fflush(streamOut);
+ if( _tfreopen(fn, "w+", streamIn) == NULL ) return false;
+ fcopy(streamIn, streamOut);
+ fclose(streamOut);
+ fclose(streamIn);
+ return true;
+}
+
+
+void fcopy (FILE *dest, FILE *source)
+{
+ char line[LINE_LENGTH];
+ fseek(source, 0L, SEEK_SET );
+ fseek(dest, 0L, SEEK_SET );
+ _fgetts( line, LINE_LENGTH, source );
+ while(!feof(source))
+ {
+ _fputts(line,dest);
+ _fgetts( line, LINE_LENGTH, source );
+ }
+}
+
+void fwcopy (FILE *dest, FILE *source)
+{
+ wchar_t line[LINE_LENGTH];
+ fseek(source, 0L, SEEK_SET );
+ fseek(dest, 0L, SEEK_SET );
+ fgetws( line, LINE_LENGTH, source );
+ while(!feof(source))
+ {
+ fputws(line,dest);
+ fgetws( line, LINE_LENGTH, source );
+ }
+}
+
+void Help(void)
+{
+ _tprintf(_T("Usage: verctrl..exe NIGHT|BETA|FINAL [INC]\n"));
+ _tprintf(_T(" NIGHT - night build\n"));
+ _tprintf(_T(" BETA - beta build\n"));
+ _tprintf(_T(" FINAL - final build\n\n"));
+ _tprintf(_T(" INC - increment build number\n"));
+
+
+} \ No newline at end of file
diff --git a/Src/Mastering/VerCtrl/verctrl.exe b/Src/Mastering/VerCtrl/verctrl.exe
new file mode 100644
index 00000000..773f9922
--- /dev/null
+++ b/Src/Mastering/VerCtrl/verctrl.exe
Binary files differ
diff --git a/Src/Mastering/VerCtrl/verctrl.sln b/Src/Mastering/VerCtrl/verctrl.sln
new file mode 100644
index 00000000..7b714710
--- /dev/null
+++ b/Src/Mastering/VerCtrl/verctrl.sln
@@ -0,0 +1,19 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "verctrl", "verctrl.vcproj", "{6F6FB9BD-4874-4609-B3C4-E31C6655860B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6F6FB9BD-4874-4609-B3C4-E31C6655860B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6F6FB9BD-4874-4609-B3C4-E31C6655860B}.Debug|Win32.Build.0 = Debug|Win32
+ {6F6FB9BD-4874-4609-B3C4-E31C6655860B}.Release|Win32.ActiveCfg = Release|Win32
+ {6F6FB9BD-4874-4609-B3C4-E31C6655860B}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Src/Mastering/VerCtrl/verctrl.vcproj b/Src/Mastering/VerCtrl/verctrl.vcproj
new file mode 100644
index 00000000..19dbc1bf
--- /dev/null
+++ b/Src/Mastering/VerCtrl/verctrl.vcproj
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="verctrl"
+ ProjectGUID="{6F6FB9BD-4874-4609-B3C4-E31C6655860B}"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="verctrl.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/verctrl.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="1"
+ FavorSizeOrSpeed="2"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ BufferSecurityCheck="false"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="verctrl.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\verctrl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\verctrl.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Src/Mastering/Winamp/Plugin Versions.xls b/Src/Mastering/Winamp/Plugin Versions.xls
new file mode 100644
index 00000000..6edb4fa5
--- /dev/null
+++ b/Src/Mastering/Winamp/Plugin Versions.xls
Binary files differ
diff --git a/Src/Mastering/Winamp/build_installer.cmd b/Src/Mastering/Winamp/build_installer.cmd
new file mode 100644
index 00000000..ccedaf9a
--- /dev/null
+++ b/Src/Mastering/Winamp/build_installer.cmd
@@ -0,0 +1,73 @@
+@echo off
+
+if not defined MAKENSIS set MAKENSIS=C:\Program Files\NSIS\UNICODE\makensis.exe
+if not defined WAPROJECTS set WAPROJECTS=c:\projects
+if not defined CURSANDBOX set CURSANDBOX=%WAPROJECTS%
+
+set MAKENSIS_COMMON_PARAM=/V1 /P4 /DUSE_MUI /DLZMA
+if %TARGET_ARCH%==x64 set MAKENSIS_COMMON_PARAM=%MAKENSIS_COMMON_PARAM% /DWINAMP64
+set SCRIPT=%CURSANDBOX%\installer\winamp\main.nsi
+
+if not defined INSTALLER_LANG set INSTALLER_LANG=Mastering\Winamp\installer_beta.lang
+if not defined INSTALLER_CONFIG set INSTALLER_CONFIG=Mastering\Winamp\installer_beta.config
+
+SET WINAMP_VERSION_MAJOR=5
+SET WINAMP_VERSION_MINOR=9
+SET WINAMP_VERSION_MINOR_SECOND=0
+
+
+for /F %%i in (%CURSANDBOX%\%INSTALLER_LANG%) do (
+
+ set MAKENSIS_RUN_PARAM=
+ for /F "eol=; tokens=1,2,3,4,5,6,7,8,9 delims=," %%j in (%CURSANDBOX%\%INSTALLER_CONFIG%) do (m00stercow
+
+
+ if /I "%%i" NEQ "all" (
+ set MAKENSIS_RUN_PARAM=/DLANG_USE_%%i /DLANG=%%i
+ ) else (
+ set MAKENSIS_RUN_PARAM=/DLANG_USE_%%i
+ )
+ if /I "%%k" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%k
+ if /I "%%l" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%l
+ if /I "%%m" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%m
+ if /I "%%n" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%n
+ if /I "%%o" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%o
+ if /I "%%p" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%p
+ if /I "%%q" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%q
+ if /I "%%r" NEQ "" set MAKENSIS_RUN_PARAM=!MAKENSIS_RUN_PARAM! /D%%r
+
+ @echo.
+ @echo.
+ @echo Executing Makensis [Lang = '%%i', Configuration = '%%~j']
+ @echo.
+ @echo.
+
+ @echo "%MAKENSIS%" %MAKENSIS_COMMON_PARAM% !MAKENSIS_RUN_PARAM! "%SCRIPT%"
+ "%MAKENSIS%" %MAKENSIS_COMMON_PARAM% !MAKENSIS_RUN_PARAM! "%SCRIPT%"
+
+ if "%errorlevel%" EQU "0" (
+ @echo.
+ @echo.
+
+ set SIGNNAME=Winamp %WINAMP_VERSION_MAJOR%.%WINAMP_VERSION_MINOR%%WINAMP_VERSION_MINOR_SECOND% %%~j
+
+ if /I "%%k" EQU "lite" ( set INSTALLERNAME=%INSTALL_LITE%
+ ) else ( if /I "%%k" == "std" ( set INSTALLERNAME=%INSTALL_STD%
+ ) else ( if /I "%%k" == "full" (
+ if /I "%%l" == "pro" ( set INSTALLERNAME=%INSTALL_PRO%
+ ) else ( if /I "%%l" == "bundle" ( set INSTALLERNAME=%INSTALL_BUNDLE%
+ ) else ( if /I "%%l" == "eMusic-7plus" ( set INSTALLERNAME=%INSTALL_EMUSIC%
+ ) else ( set INSTALLERNAME=%INSTALL_FULL%)))
+ )
+ ))
+
+ @echo Signing [Configuration='%~2', File='!INSTALLERNAME!_%%i.exe']
+ @echo.
+ @echo.
+
+ call "%CURSANDBOX%\Mastering\Winamp\simple_sign.cmd" "!SIGNNAME!" "%CURSANDBOX%\installer\winamp\!INSTALLERNAME!_%%i.exe"
+ ) else (
+ @echo Makensis Failed
+ )
+ )
+)
diff --git a/Src/Mastering/Winamp/build_mud.cmd b/Src/Mastering/Winamp/build_mud.cmd
new file mode 100644
index 00000000..cf78f19b
--- /dev/null
+++ b/Src/Mastering/Winamp/build_mud.cmd
@@ -0,0 +1,13 @@
+@echo off
+
+if not defined MAKENSIS set MAKENSIS=C:\Program Files\NSIS\UNICODE\makensis.exe
+if not defined WAPROJECTS set WAPROJECTS=c:\projects
+if not defined CURSANDBOX set CURSANDBOX=%WAPROJECTS%
+
+set MAKENSIS_COMMON_PARAM=/V1 /P4 /DUSE_MUI /DLZMA
+set SCRIPT=%CURSANDBOX%\installer\scrobbler\wa_mud.nsi
+
+@echo "%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+"%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+
+@%CURSANDBOX%\Mastering\Winamp\simple_sign.cmd "Winamp MUD Plugin" "%CURSANDBOX%\installer\scrobbler\wa_orgler.exe" \ No newline at end of file
diff --git a/Src/Mastering/Winamp/build_orb.cmd b/Src/Mastering/Winamp/build_orb.cmd
new file mode 100644
index 00000000..b290faa2
--- /dev/null
+++ b/Src/Mastering/Winamp/build_orb.cmd
@@ -0,0 +1,13 @@
+@echo off
+
+if not defined MAKENSIS set MAKENSIS=C:\Program Files\NSIS\UNICODE\makensis.exe
+if not defined WAPROJECTS set WAPROJECTS=c:\projects
+if not defined CURSANDBOX set CURSANDBOX=%WAPROJECTS%
+
+set MAKENSIS_COMMON_PARAM=/V1 /P4
+set SCRIPT=%CURSANDBOX%\installer\orb\orb.nsi
+
+@echo "%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+"%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+
+@%CURSANDBOX%\Mastering\Winamp\simple_sign.cmd "Winamp Remote" "%CURSANDBOX%\installer\orb\orbembed.exe" \ No newline at end of file
diff --git a/Src/Mastering/Winamp/build_wadetect.cmd b/Src/Mastering/Winamp/build_wadetect.cmd
new file mode 100644
index 00000000..04e33f3b
--- /dev/null
+++ b/Src/Mastering/Winamp/build_wadetect.cmd
@@ -0,0 +1,37 @@
+@echo off
+
+if not defined MAKENSIS set MAKENSIS=C:\Program Files\NSIS\UNICODE\makensis.exe
+if not defined WAPROJECTS set WAPROJECTS=c:\projects
+if not defined CURSANDBOX set CURSANDBOX=%WAPROJECTS%
+
+set MAKENSIS_COMMON_PARAM=/V1 /P4 /DLZMA /DLANG_USE_ALL
+set SCRIPT=%CURSANDBOX%\installer\browserplugin\main.nsi
+
+@echo.
+@echo.
+@echo Executing Makensis for Winamp Detect [Lang = '%%i']
+@echo.
+@echo.
+
+@echo "%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+"%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+
+if "%errorlevel%" EQU "0" (
+ if /I "%BUILDTYPE%" == "final" (
+ @echo.
+ @echo.
+
+ set SIGNNAME=Winamp Detect
+ set INSTALLERNAME=installWaDetect
+
+ @echo Signing [File='!INSTALLERNAME!_%%i.exe']
+ @echo.
+ @echo.
+
+ call "%CURSANDBOX%\Mastering\Winamp\simple_sign.cmd" "!SIGNNAME!" "%CURSANDBOX%\installer\browserplugin\!INSTALLERNAME!_%%i.exe"
+ )
+) else (
+ @echo Makensis Failed
+)
+
+
diff --git a/Src/Mastering/Winamp/build_wbm.cmd b/Src/Mastering/Winamp/build_wbm.cmd
new file mode 100644
index 00000000..e8c31940
--- /dev/null
+++ b/Src/Mastering/Winamp/build_wbm.cmd
@@ -0,0 +1,15 @@
+@echo off
+cd /D %CURSANDBOX%\output\Winamp
+REM wbm auto "System\a52.wbm" "System\a52.w5s"
+wbm auto "System\aacdec.wbm" "System\aacdec.w5s"
+wbm auto "System\adpcm.wbm" "System\adpcm.w5s"
+wbm auto "System\alac.wbm" "System\alac.w5s"
+REM wbm auto "System\dca.wbm" "System\dca.w5s"
+wbm auto "System\f263.wbm" "System\f263.w5s"
+wbm auto "System\h264.wbm" "System\h264.w5s"
+wbm auto "System\mp4v.wbm" "System\mp4v.w5s"
+wbm auto "System\pcm.wbm" "System\pcm.w5s"
+wbm auto "System\theora.wbm" "System\theora.w5s"
+wbm auto "System\vlb.wbm" "System\vlb.w5s"
+wbm auto "System\vp6.wbm" "System\vp6.w5s"
+wbm auto "System\vp8.wbm" "System\vp8.w5s"
diff --git a/Src/Mastering/Winamp/build_wbm_2022.cmd b/Src/Mastering/Winamp/build_wbm_2022.cmd
new file mode 100644
index 00000000..1e0a53b6
--- /dev/null
+++ b/Src/Mastering/Winamp/build_wbm_2022.cmd
@@ -0,0 +1,19 @@
+@echo off
+REM copy this file to root of output dir (where winamp.exe and wbm.exe reside) and run to generate .wbm files
+REM cd /D %CURSANDBOX%\output\Winamp
+REM wbm auto "System\a52.wbm" "System\a52.w5s"
+REM wbm auto "System\aacdec.wbm" "System\aacdec.w5s"
+wbm auto "System\adpcm.wbm" "System\adpcm.w5s"
+REM wbm auto "System\alac.wbm" "System\alac.w5s"
+REM wbm auto "System\dca.wbm" "System\dca.w5s"
+wbm auto "System\f263.wbm" "System\f263.w5s"
+REM wbm auto "System\h264.wbm" "System\h264.w5s"
+wbm auto "System\mp4v.wbm" "System\mp4v.w5s"
+wbm auto "System\pcm.wbm" "System\pcm.w5s"
+wbm auto "System\theora.wbm" "System\theora.w5s"
+wbm auto "System\vlb.wbm" "System\vlb.w5s"
+wbm auto "System\vp6.wbm" "System\vp6.w5s"
+wbm auto "System\vp8.wbm" "System\vp8.w5s"
+wbm auto "System\jnetlib.wbm" "System\jnetlib.w5s"
+
+pause
diff --git a/Src/Mastering/Winamp/build_webdev.cmd b/Src/Mastering/Winamp/build_webdev.cmd
new file mode 100644
index 00000000..dae5e354
--- /dev/null
+++ b/Src/Mastering/Winamp/build_webdev.cmd
@@ -0,0 +1,12 @@
+@echo off
+
+if not defined MAKENSIS set MAKENSIS=C:\Program Files\NSIS\UNICODE\makensis.exe
+if not defined WAPROJECTS set WAPROJECTS=c:\projects
+if not defined CURSANDBOX set CURSANDBOX=%WAPROJECTS%
+
+set MAKENSIS_COMMON_PARAM=/V1 /P4 /DUSE_MUI /DLZMA
+set SCRIPT=%CURSANDBOX%\installer\webdev\webdev.nsi
+
+@echo "%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+"%MAKENSIS%" %MAKENSIS_COMMON_PARAM% "%SCRIPT%"
+
diff --git a/Src/Mastering/Winamp/build_winamp_beta.xml b/Src/Mastering/Winamp/build_winamp_beta.xml
new file mode 100644
index 00000000..9a370fd1
--- /dev/null
+++ b/Src/Mastering/Winamp/build_winamp_beta.xml
@@ -0,0 +1,280 @@
+<Build-Doc>
+
+<!-- Get everything in the thirdparty module -->
+<Source>in_avi <Tag>=$ENV{TAG_IN_AVI}</Tag> </Source>
+<Source>in_cdda <Tag>=$ENV{TAG_INCDDA}</Tag> </Source>
+<Source>in_dshow <Tag>=$ENV{TAG_INDSHOW}</Tag> </Source>
+<Source>in_flac <Tag>=$ENV{TAG_IN_FLAC}</Tag> </Source>
+<Source>in_flv <Tag>=$ENV{TAG_IN_FLV}</Tag> </Source>
+<Source>in_linein <Tag>=$ENV{TAG_INLINEIN}</Tag> </Source>
+<Source>in_midi <Tag>=$ENV{TAG_INMIDI}</Tag> </Source>
+<Source>in_mkv <Tag>=$ENV{TAG_IN_MKV}</Tag> </Source>
+<Source>in_mod <Tag>=$ENV{TAG_INMOD}</Tag> </Source>
+<Source>in_mp3 <Tag>=$ENV{TAG_INMP3}</Tag> </Source>
+<Source>in_mp4 <Tag>=$ENV{TAG_INMP4}</Tag> </Source>
+<Source>in_nsv <Tag>=$ENV{TAG_INNSV}</Tag> </Source>
+<Source>in_swf <Tag>=$ENV{TAG_IN_SWF}</Tag> </Source>
+<Source>in_vorbis <Tag>=$ENV{TAG_INVORBIS}</Tag> </Source>
+<Source>in_wave <Tag>=$ENV{TAG_INWAVE}</Tag> </Source>
+<Source>in_wmvdrm <Tag>=$ENV{TAG_INWM}</Tag> </Source>
+
+<Source>enc_flac2 <Tag>=$ENV{TAG_ENC_FLAC2}</Tag> </Source>
+<Source>enc_fhgaac <Tag>=$ENV{TAG_ENCFHGAAC}</Tag> </Source>
+<Source>enc_lame <Tag>=$ENV{TAG_ENCLAME}</Tag> </Source>
+<Source>enc_vorbis <Tag>=$ENV{TAG_ENCVORBIS}</Tag> </Source>
+<Source>enc_wav <Tag>=$ENV{TAG_ENC_WAV}</Tag> </Source>
+<Source>enc_wma <Tag>=$ENV{TAG_ENCWMA}</Tag> </Source>
+
+<Source>gen_crasher <Tag>=$ENV{TAG_GEN_CRASHER}</Tag></Source>
+<Source>gen_ff <Tag>=$ENV{TAG_GENFF}</Tag> </Source>
+<Source>gen_hotkeys <Tag>=$ENV{TAG_GENHOTKEYS}</Tag> </Source>
+<Source>gen_ml <Tag>=$ENV{TAG_GENML}</Tag> </Source>
+<Source>gen_tray <Tag>=$ENV{TAG_GENTRAY}</Tag> </Source>
+
+<!--<Source>ml_addons <Tag>=$ENV{TAG_ML_ADDONS}</Tag> </Source>-->
+<Source>ml_autotag <Tag>=$ENV{TAG_ML_AUTOTAG}</Tag> </Source>
+<Source>ml_bookmarks <Tag>=$ENV{TAG_MLBOOKMARKS}</Tag></Source>
+<!--<Source>ml_cloud <Tag>=$ENV{TAG_ML_CLOUD}</Tag> </Source>-->
+<Source>ml_disc <Tag>=$ENV{TAG_ML_DISC}</Tag> </Source>
+<Source>ml_devices <Tag>=$ENV{TAG_ML_DEVICES}</Tag> </Source>
+<Source>ml_downloads <Tag>=$ENV{TAG_ML_DOWNLOADS}</Tag></Source>
+<Source>ml_history <Tag>=$ENV{TAG_ML_HISTORY}</Tag> </Source>
+<Source>ml_impex <Tag>=$ENV{TAG_MLIMPEX}</Tag> </Source>
+<Source>ml_local <Tag>=$ENV{TAG_ML_LOCAL}</Tag> </Source>
+<Source>ml_nowplaying <Tag>=$ENV{TAG_ML_NOWPLAYING}</Tag></Source>
+<Source>ml_online <Tag>=$ENV{TAG_ML_ONLINE}</Tag> </Source>
+<Source>ml_playlists <Tag>=$ENV{TAG_ML_PLAYLISTS}</Tag></Source>
+<Source>ml_plg <Tag>=$ENV{TAG_ML_PLG}</Tag> </Source>
+<Source>ml_pmp <Tag>=$ENV{TAG_ML_PMP}</Tag> </Source>
+<Source>ml_rg <Tag>=$ENV{TAG_ML_RG}</Tag> </Source>
+<Source>ml_transcode <Tag>=$ENV{TAG_ML_TRANSCODE}</Tag></Source>
+<Source>ml_webdev <Tag>=$ENV{TAG_ML_WEBDEV}</Tag> </Source>
+<Source>ml_wire <Tag>=$ENV{TAG_MLWIRE}</Tag> </Source>
+
+<Source>out_ds <Tag>=$ENV{TAG_OUTDS}</Tag> </Source>
+<Source>out_disk <Tag>=$ENV{TAG_OUTDISK}</Tag> </Source>
+<Source>out_wave <Tag>=$ENV{TAG_OUTWAVE}</Tag> </Source>
+
+<Source>pmp_activesync <Tag>=$ENV{TAG_PMP_ACTIVESYNC}</Tag></Source>
+<Source>pmp_android <Tag>=$ENV{TAG_PMP_ANDROID}</Tag></Source>
+<!--<Source>pmp_cloud <Tag>=$ENV{TAG_PMP_CLOUD}</Tag> </Source>-->
+<Source>pmp_ipod <Tag>=$ENV{TAG_PMP_IPOD}</Tag> </Source>
+<Source>pmp_njb <Tag>=$ENV{TAG_PMP_NJB}</Tag> </Source>
+<Source>pmp_p4s <Tag>=$ENV{TAG_PMP_P4S}</Tag> </Source>
+<Source>pmp_usb2 <Tag>=$ENV{TAG_PMP_USB2}</Tag> </Source>
+<Source>pmp_wifi <Tag>=$ENV{TAG_PMP_WIFI}</Tag> </Source>
+
+<!--<Source>vis_avs <Tag>=$ENV{TAG_VIS_AVS}</Tag> </Source>
+<Source>ns-eel <Tag>=$ENV{TAG_VIS_AVS}</Tag> </Source>-->
+<Source>vis_milk2 <Tag>=$ENV{TAG_VISMILK2}</Tag> </Source>
+<Source>vis_nsfs <Tag>=$ENV{TAG_VISNSFS}</Tag> </Source>
+
+<Source>Elevator <Tag>=$ENV{TAG_ELEVATOR}</Tag> </Source>
+<Source>Winamp <Tag>=$ENV{TAG_WINAMP}</Tag> </Source>
+<Source>winampa <Tag>=$ENV{TAG_WINAMPA}</Tag> </Source>
+<Source>winampAll <Tag>=$ENV{TAG_WINAMPALL}</Tag> </Source>
+
+<!--<Source>a52 <Tag>=$ENV{TAG_A52}</Tag> </Source>
+<Source>a52dec <Tag>=$ENV{TAG_A52DEC}</Tag> </Source>-->
+<Source>aacdec <Tag>=$ENV{TAG_AACDEC}</Tag> </Source>
+<Source>aacPlus <Tag>=$ENV{TAG_AACLIBPLUS}</Tag> </Source>
+<Source>adpcm <Tag>=$ENV{TAG_ADPCM}</Tag> </Source>
+<Source>Agave <Tag>=$ENV{TAG_AGAVE}</Tag> </Source>
+<Source>alac <Tag>=$ENV{TAG_ALAC}</Tag> </Source>
+<Source>albumart <Tag>=$ENV{TAG_ALBUMART}</Tag> </Source>
+<Source>apev2 <Tag>=$ENV{TAG_APEV2}</Tag> </Source>
+<Source>auth <Tag>=$ENV{TAG_AUTH}</Tag> </Source>
+<Source>bmp <Tag>=$ENV{TAG_BMP}</Tag> </Source>
+<!--<Source>burner <Tag>=$ENV{TAG_BURNER}</Tag> </Source>-->
+<Source>burnlib <Tag>=$ENV{TAG_BURNLIB}</Tag> </Source>
+<Source>coloreditor <Tag>=$ENV{TAG_GENFF}</Tag> </Source>
+<Source>config <Tag>=$ENV{TAG_CONFIG}</Tag> </Source>
+<!--<Source>dca <Tag>=$ENV{TAG_DCA}</Tag> </Source>-->
+<Source>devices <Tag>=$ENV{TAG_DEVICES}</Tag> </Source>
+<Source>dlmgr <Tag>=$ENV{TAG_DLMGR}</Tag> </Source>
+<Source>expat <Tag>=$ENV{TAG_EXPAT}</Tag> </Source>
+<Source>f263 <Tag>=$ENV{TAG_F263}</Tag> </Source>
+<Source>filereader <Tag>=$ENV{TAG_FILEREADER}</Tag> </Source>
+<Source>freetype <Tag>=$ENV{TAG_FREETYPE}</Tag> </Source>
+<Source>freetypewac <Tag>=$ENV{TAG_FREETYPEWAC}</Tag></Source>
+<Source>gif <Tag>=$ENV{TAG_GIF}</Tag> </Source>
+<Source>giflib <Tag>=$ENV{TAG_GIFLIB}</Tag> </Source>
+<Source>gracenote <Tag>=$ENV{TAG_GRACENOTE}</Tag> </Source>
+<Source>h264 <Tag>=$ENV{TAG_H264}</Tag> </Source>
+<Source>h264dec <Tag>=$ENV{TAG_H264DEC}</Tag> </Source>
+<Source>id3v2 <Tag>=$ENV{TAG_ID3V2}</Tag> </Source>
+<Source>ijg <Tag>=$ENV{TAG_IJG}</Tag> </Source>
+<Source>installer <Tag>=$ENV{TAG_INSTALLER}</Tag> </Source>
+<Source>jnetlib <Tag>=$ENV{TAG_JNET}</Tag> </Source>
+<Source>jpeg <Tag>=$ENV{TAG_JPEG}</Tag> </Source>
+<!--<Source>libdca <Tag>=$ENV{TAG_LIBDCA}</Tag> </Source>-->
+<Source>libmp4v2 <Tag>=$ENV{TAG_LIBMP4V2}</Tag> </Source>
+<Source>libogg <Tag>=$ENV{TAG_LIBOGG}</Tag> </Source>
+<Source>libpng <Tag>=$ENV{TAG_LIBPNG}</Tag> </Source>
+<Source>libsndfile <Tag>=$ENV{TAG_LIBSNDFILE}</Tag> </Source>
+<Source>libtheora <Tag>=$ENV{TAG_LIBTHEORA}</Tag> </Source>
+<Source>libvorbis <Tag>=$ENV{TAG_LIBVORBIS}</Tag> </Source>
+<Source>libvp6 <Tag>=$ENV{TAG_VP6}</Tag> </Source>
+<Source>libvpx <Tag>=$ENV{TAG_LIBVPX}</Tag> </Source>
+<!--<Source>libyajl <Tag>=$ENV{TAG_CLOUD}</Tag> </Source>-->
+<Source>mp3 <Tag>=$ENV{TAG_MP3}</Tag> </Source>
+<Source>mp4v <Tag>=$ENV{TAG_MP4V}</Tag> </Source>
+<Source>mpeg4dec <Tag>=$ENV{TAG_MPEG4DEC}</Tag> </Source>
+<Source>nde <Tag>=$ENV{TAG_NDE}</Tag> </Source>
+<Source>nsavi <Tag>=$ENV{TAG_NSAVI}</Tag> </Source>
+<Source>ns-eel2 <Tag>=$ENV{TAG_NSEEL2}</Tag> </Source>
+<Source>nsmkv <Tag>=$ENV{TAG_NSMKV}</Tag> </Source>
+<Source>nsutil <Tag>=$ENV{TAG_UTIL}</Tag> </Source>
+<Source>nsv <Tag>=$ENV{TAG_NSV}</Tag> </Source>
+<Source>nsvdec_vp3 <Tag>=$ENV{TAG_NSVDEC_VP3}</Tag> </Source>
+<Source>nsvdec_vp5 <Tag>=$ENV{TAG_NSVDECVP5}</Tag> </Source>
+<Source>nu <Tag>=$ENV{TAG_NU}</Tag> </Source>
+<Source>omBrowser <Tag>=$ENV{TAG_OMBROWSER}</Tag> </Source>
+<Source>openssl <Tag>=$ENV{TAG_OPENSSL}</Tag> </Source>
+<Source>pcm <Tag>=$ENV{TAG_PCM}</Tag> </Source>
+<Source>pfc <Tag>=$ENV{TAG_PFC}</Tag> </Source>
+<Source>playlist <Tag>=$ENV{TAG_PLAYLIST}</Tag> </Source>
+<Source>plist <Tag>=$ENV{TAG_PLIST}</Tag> </Source>
+<Source>png <Tag>=$ENV{TAG_PNG}</Tag> </Source>
+<Source>primo <Tag>=$ENV{TAG_PRIMO}</Tag> </Source>
+<Source>ReplayGainAnalysis <Tag>=$ENV{TAG_ML_RG}</Tag> </Source>
+<Source>resources <Tag>=$ENV{TAG_RESOURCES}</Tag> </Source>
+<Source>SDKs\Rovi PrimoSDK Plus\4_28_06_0<Tag>=$ENV{TAG_VERITAS}</Tag></Source>
+<Source>SDKs/WM_Format_SDK_95_Feb_2005/include<Tag>=$ENV{TAG_INWM}</Tag></Source>
+<Source>tagz <Tag>=$ENV{TAG_TAGZ}</Tag> </Source>
+<Source>tataki <Tag>=$ENV{TAG_TATAKI}</Tag> </Source>
+<Source>theora <Tag>=$ENV{TAG_THEORA}</Tag> </Source>
+<Source>timer <Tag>=$ENV{TAG_TIMER}</Tag> </Source>
+<Source>vlb <Tag>=$ENV{TAG_VLB}</Tag> </Source>
+<Source>vp32\include <Tag>=$ENV{TAG_VP32}</Tag> </Source>
+<Source>vp32\lib\win32\Release<Tag>=$ENV{TAG_VP32}</Tag></Source>
+<Source>vp6 <Tag>=$ENV{TAG_VP6}</Tag> </Source>
+<Source>vp8x <Tag>=$ENV{TAG_VP8X}</Tag> </Source>
+<Source>Wasabi <Tag>=$ENV{TAG_WASABI}</Tag> </Source>
+<Source>Wasabi2 <Tag>=$ENV{TAG_REPLICANT}</Tag> </Source>
+<Source>watcher <Tag>=$ENV{TAG_WATCHER}</Tag> </Source>
+<Source>wbm <Tag>=$ENV{TAG_WBM}</Tag> </Source>
+<Source>xml <Tag>=$ENV{TAG_XML}</Tag> </Source>
+<Source>xspf <Tag>=$ENV{TAG_XSPF}</Tag> </Source>
+<Source>zlib <Tag>=$ENV{TAG_ZLIB}</Tag> </Source>
+
+<Source>nprt_plugin <Tag>=$ENV{TAG_NPRT_PLUGIN}</Tag></Source>
+<Source>ie_plugin <Tag>=$ENV{TAG_IE_PLUGIN}</Tag> </Source>
+
+<Source>codesign</Source>
+
+<!-- Build -->
+<Build>
+ Mastering/VerCtrl/verctrl.exe
+ <Parameters>="BETA $ENV{BRANDING}"</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Add Win32 Projects Here (begin) -->
+<Build>winampAll/ippAll.sln
+ <Param>/useenv</Param>
+</Build>
+
+<Build>winampAll/winampAll.sln
+ <Param>/useenv</Param>
+</Build>
+
+
+<!-- code signing certain executables -->
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\winamp.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing winamp.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\elevator.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing elevator.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\winampa.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing winampa.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+
+<!-- WBM Generation -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wbm.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Building Lazy-Load Wasabi Manifests (WBM)</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Image Rebasing -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\rebase.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Rebasing Plugins and Libraries</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Installer -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_installer.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wadetect.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_webdev.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Web Dev SDK</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Package up the results -->
+
+<Link>
+ <Name>Download Winamp Distributive!!!</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4; </Href>
+ <Configuration>Win32 Release|Win32</Configuration>
+</Link>
+
+<Link>
+ <Name>Versions History</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4."/whatsnew.txt"; </Href>
+ <Configuration>Win32 Release|Win32</Configuration>
+</Link>
+
+<Package>Mastering/Winamp/package_vc.xml
+ <Configuration>Win32 Release|Win32</Configuration>
+ <Destination>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"d:/bin/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4;</Destination>
+ <Copy>1</Copy>
+ <LinkName>Winamp</LinkName>
+</Package>
+</Build-Doc> \ No newline at end of file
diff --git a/Src/Mastering/Winamp/build_winamp_beta_x64.xml b/Src/Mastering/Winamp/build_winamp_beta_x64.xml
new file mode 100644
index 00000000..bd8eaec1
--- /dev/null
+++ b/Src/Mastering/Winamp/build_winamp_beta_x64.xml
@@ -0,0 +1,422 @@
+<Build-Doc>
+
+
+<!-- Get everything in the thirdparty module -->
+<Source>openssl</Source>
+<Source>ml_webdev
+ <Tag>=$ENV{TAG_ML_WEBDEV}</Tag>
+</Source>
+<Source>timer
+ <Tag>=$ENV{TAG_TIMER}</Tag>
+</Source>
+<Source>wbm
+ <Tag>=$ENV{TAG_WBM}</Tag>
+</Source>
+<Source>nsvdec_vp3
+ <Tag>=$ENV{TAG_NSVDEC_VP3}</Tag>
+</Source>
+<Source>vlb
+<Tag>=$ENV{TAG_VLB}</Tag>
+</Source>
+<Source>gen_talkback
+<Tag>=$ENV{TAG_GEN_TALKBACK}</Tag>
+</Source>
+<Source>enc_flac2
+<Tag>=$ENV{TAG_ENC_FLAC2}</Tag>
+</Source>
+<Source>primo
+<Tag>=$ENV{TAG_PRIMO}</Tag>
+</Source>
+<Source>burner
+<Tag>=$ENV{TAG_BURNER}</Tag>
+</Source>
+<Source>f263
+<Tag>=$ENV{TAG_F263}</Tag>
+</Source>
+<Source>in_swf
+<Tag>=$ENV{TAG_IN_SWF}</Tag>
+</Source>
+<Source>Elevator
+<Tag>=$ENV{TAG_ELEVATOR}</Tag>
+</Source>
+<Source>zlib
+<Tag>=$ENV{TAG_ZLIB}</Tag>
+</Source>
+<Source>apev2
+<Tag>=$ENV{TAG_APEV2}</Tag>
+</Source>
+<Source>in_flv
+<Tag>=$ENV{TAG_IN_FLV}</Tag>
+</Source>
+<Source>dlmgr
+<Tag>=$ENV{TAG_DLMGR}</Tag>
+</Source>
+<Source>ml_autotag
+<Tag>=$ENV{TAG_ML_AUTOTAG}</Tag>
+</Source>
+<Source>ml_orb
+<Tag>=$ENV{TAG_ML_ORB}</Tag>
+</Source>
+<Source>ml_plg
+<Tag>=$ENV{TAG_ML_PLG}</Tag>
+</Source>
+<Source>gracenote
+ <Tag>=$ENV{TAG_GRACENOTE}</Tag>
+</Source>
+<Source>freetype
+ <Tag>=$ENV{TAG_FREETYPE}</Tag>
+</Source>
+<Source>gen_crasher
+ <Tag>=$ENV{TAG_GEN_CRASHER}</Tag>
+</Source>
+<Source>flac
+ <Tag>=$ENV{TAG_LIBFLAC}</Tag>
+</Source>
+<Source>in_flac
+ <Tag>=$ENV{TAG_IN_FLAC}</Tag>
+</Source>
+<Source>enc_flac
+ <Tag>=$ENV{TAG_ENC_FLAC}</Tag>
+</Source>
+<Source>enc_wav
+ <Tag>=$ENV{TAG_ENC_WAV}</Tag>
+</Source>
+<Source>ml_transcode
+ <Tag>=$ENV{TAG_ML_TRANSCODE}</Tag>
+</Source>
+<Source>pmp_activesync
+ <Tag>=$ENV{TAG_PMP_ACTIVESYNC}</Tag>
+</Source>
+<Source>jpeg
+ <Tag>=$ENV{TAG_JPEG}</Tag>
+</Source>
+<Source>bmp
+ <Tag>=$ENV{TAG_BMP}</Tag>
+</Source>
+<Source>gif
+ <Tag>=$ENV{TAG_GIF}</Tag>
+</Source>
+<Source>ml_dash
+ <Tag>=$ENV{TAG_ML_DASH}</Tag>
+</Source>
+<Source>ReplayGainAnalysis
+ <Tag>=$ENV{TAG_ML_RG}</Tag>
+</Source>
+<Source>ml_rg
+ <Tag>=$ENV{TAG_ML_RG}</Tag>
+</Source>
+<Source>ml_local
+ <Tag>=$ENV{TAG_ML_LOCAL}</Tag>
+</Source>
+<Source>ml_nowplaying
+ <Tag>=$ENV{TAG_ML_NOWPLAYING}</Tag>
+</Source>
+<Source>ml_playlists
+ <Tag>=$ENV{TAG_ML_PLAYLISTS}</Tag>
+</Source>
+<Source>ml_history
+ <Tag>=$ENV{TAG_ML_HISTORY}</Tag>
+</Source>
+<Source>ml_disc
+ <Tag>=$ENV{TAG_ML_DISC}</Tag>
+</Source>
+<Source>watcher
+ <Tag>=$ENV{TAG_WATCHER}</Tag>
+</Source>
+<Source>nde
+ <Tag>=$ENV{TAG_NDE}</Tag>
+</Source>
+<Source>playlist
+ <Tag>=$ENV{TAG_PLAYLIST}</Tag>
+</Source>
+<Source>png
+ <Tag>=$ENV{TAG_PNG}</Tag>
+</Source>
+<Source>xml
+ <Tag>=$ENV{TAG_XML}</Tag>
+</Source>
+<!-- <Source>in_dvd
+ <Tag>=$ENV{TAG_IN_DVD}</Tag>
+</Source> -->
+<Source>alac
+ <Tag>=$ENV{TAG_ALAC}</Tag>
+</Source>
+<Source>ml_online
+ <Tag>=$ENV{TAG_ML_ONLINE}</Tag>
+</Source>
+<Source>tagz
+ <Tag>=$ENV{TAG_TAGZ}</Tag>
+</Source>
+<Source>ml_bookmarks
+ <Tag>=$ENV{TAG_MLBOOKMARKS}</Tag>
+</Source>
+<Source>libsndfile
+ <Tag>=$ENV{TAG_LIBSNDFILE}</Tag>
+</Source>
+<Source>ml_pmp
+ <Tag>=$ENV{TAG_ML_PMP}</Tag>
+</Source>
+<Source>pmp_ipod
+ <Tag>=$ENV{TAG_PMP_IPOD}</Tag>
+</Source>
+<Source>pmp_njb
+ <Tag>=$ENV{TAG_PMP_NJB}</Tag>
+</Source>
+<Source>pmp_p4s
+ <Tag>=$ENV{TAG_PMP_P4S}</Tag>
+</Source>
+<Source>pmp_usb
+ <Tag>=$ENV{TAG_PMP_USB}</Tag>
+</Source>
+<Source>in_wave
+ <Tag>=$ENV{TAG_INWAVE}</Tag>
+</Source>
+<Source>nu
+ <Tag>=$ENV{TAG_NU}</Tag>
+</Source>
+<Source>nsv\nsvencode.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\dec_if.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\enc_if.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvbs.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvlib.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvplay
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvlib.cpp
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv/svc_nsvFactory.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv/svc_nsvFactory.cpp
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>SDKs\Rovi PrimoSDK Plus\4_28_06_0
+ <Tag>=$ENV{TAG_VERITAS}</Tag>
+</Source>
+<Source>aacPlus
+ <Tag>=$ENV{TAG_AACLIBPLUS}</Tag>
+</Source>
+<Source>SDKs\WM_Format_SDK_9a\lib\WMVCORE.lib
+ <Tag>=$ENV{TAG_WMCORE}</Tag>
+</Source>
+<Source>SDKs\WM_Format_SDK_9a\include
+ <Tag>=$ENV{TAG_WMCORE}</Tag>
+</Source>
+<Source>jnetlib
+ <Tag>=$ENV{TAG_JNET}</Tag>
+</Source>
+<Source>coloreditor
+ <Tag>=$ENV{TAG_GENFF}</Tag>
+</Source>
+<Source>gen_ml
+ <Tag>=$ENV{TAG_GENML}</Tag>
+</Source>
+<Source>Winamp
+ <Tag>=$ENV{TAG_WINAMP}</Tag>
+</Source>
+<Source>config
+ <Tag>=$ENV{TAG_CONFIG}</Tag>
+</Source>
+<Source>winampa
+ <Tag>=$ENV{TAG_WINAMPA}</Tag>
+</Source>
+<Source>enc_aacplus
+ <Tag>=$ENV{TAG_ENCAACPLUS}</Tag>
+</Source>
+<Source>enc_lame
+ <Tag>=$ENV{TAG_ENCLAME}</Tag>
+</Source>
+<Source>enc_wma
+ <Tag>=$ENV{TAG_ENCWMA}</Tag>
+</Source>
+<Source>Agave
+ <Tag>=$ENV{TAG_AGAVE}</Tag>
+</Source>
+<Source>tataki
+ <Tag>=$ENV{TAG_TATAKI}</Tag>
+</Source>
+<Source>Wasabi
+ <Tag>=$ENV{TAG_WASABI}</Tag>
+</Source>
+<Source>gen_ff
+ <Tag>=$ENV{TAG_GENFF}</Tag>
+</Source>
+<Source>filereader
+ <Tag>=$ENV{TAG_FILEREADER}</Tag>
+</Source>
+<Source>gen_hotkeys
+ <Tag>=$ENV{TAG_GENHOTKEYS}</Tag>
+</Source>
+<Source>gen_tray
+ <Tag>=$ENV{TAG_GENTRAY}</Tag>
+</Source>
+<Source>in_cdda
+ <Tag>=$ENV{TAG_INCDDA}</Tag>
+</Source>
+<Source>in_linein
+ <Tag>=$ENV{TAG_INLINEIN}</Tag>
+</Source>
+<Source>pfc
+ <Tag>=$ENV{TAG_PFC}</Tag>
+</Source>
+<Source>in_midi
+ <Tag>=$ENV{TAG_INMIDI}</Tag>
+</Source>
+<Source>in_mod
+ <Tag>=$ENV{TAG_INMOD}</Tag>
+</Source>
+<Source>in_mp3
+ <Tag>=$ENV{TAG_INMP3}</Tag>
+</Source>
+<Source>in_mp4
+ <Tag>=$ENV{TAG_INMP4}</Tag>
+</Source>
+<Source>in_nsv
+ <Tag>=$ENV{TAG_INNSV}</Tag>
+</Source>
+<Source>in_vorbis
+ <Tag>=$ENV{TAG_INVORBIS}</Tag>
+</Source>
+<Source>in_wmvdrm
+ <Tag>=$ENV{TAG_INWM}</Tag>
+</Source>
+<Source>ml_wire
+ <Tag>=$ENV{TAG_MLWIRE}</Tag>
+</Source>
+<Source>out_ds
+ <Tag>=$ENV{TAG_OUTDS}</Tag>
+</Source>
+<Source>out_wave
+ <Tag>=$ENV{TAG_OUTWAVE}</Tag>
+</Source>
+<Source>vis_nsfs
+ <Tag>=$ENV{TAG_VISNSFS}</Tag>
+</Source>
+<Source>in_dshow
+ <Tag>=$ENV{TAG_INDSHOW}</Tag>
+</Source>
+<Source>vp5\include
+ <Tag>=$ENV{TAG_VP5}</Tag>
+</Source>
+<Source>vp5/lib/win32/release
+ <Tag>=$ENV{TAG_VP5}</Tag>
+</Source>
+<Source>nsvdec_vp5
+ <Tag>=$ENV{TAG_NSVDECVP5}</Tag>
+</Source>
+<Source>vp6/include
+ <Tag>=$ENV{TAG_VP6}</Tag>
+</Source>
+<Source>vp6/lib/win32/release
+ <Tag>=$ENV{TAG_VP6}</Tag>
+</Source>
+<Source>nsvdec_vp6
+ <Tag>=$ENV{TAG_NSVDECVP6}</Tag>
+</Source>
+<Source>dshow
+ <Tag>=$ENV{TAG_DSHOW}</Tag>
+</Source>
+<Source>SDKs\DirectX_9_Oct_2004
+ <Tag>=$ENV{TAG_DIRECTX}</Tag>
+</Source>
+<Source>vis_milk2
+ <Tag>=$ENV{TAG_VISMILK2}</Tag>
+</Source>
+<Source>vp32\include
+ <Tag>=$ENV{TAG_VP32}</Tag>
+</Source>
+<Source>vp32\lib\win32\Release
+ <Tag>=$ENV{TAG_VP32}</Tag>
+</Source>
+<Source>resources
+ <Tag>=$ENV{TAG_RESOURCES}</Tag>
+</Source>
+<Source>installer
+ <Tag>=$ENV{TAG_INSTALLER}</Tag>
+</Source>
+<Source>out_disk
+ <Tag>=$ENV{TAG_OUTDISK}</Tag>
+</Source>
+<Source>burnlib
+ <Tag>=$ENV{TAG_BURNLIB}</Tag>
+</Source>
+<Source>gen_dropbox
+ <Tag>=$ENV{TAG_GENDROPBOX}</Tag>
+</Source>
+<Source>ml_impex
+ <Tag>=$ENV{TAG_MLIMPEX}</Tag>
+</Source>
+<Source>plist
+ <Tag>=$ENV{TAG_PLIST}</Tag>
+</Source>
+<Source>omBrowser
+ <Tag>=$ENV{TAG_OMBROWSER}</Tag>
+</Source>
+<Source>winampAll
+ <Tag>=$ENV{TAG_WINAMPALL}</Tag>
+</Source>
+<Source>codesign</Source>
+
+<!-- Build -->
+<Build>
+ Mastering/VerCtrl/verctrl.exe
+ <Parameters>="BETA $ENV{BRANDING}"</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>winampAll/winampAll.sln
+<Param>/useenv</Param>
+</Build>
+
+<!-- WBM Generation -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wbm.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Building Lazy-Load Wasabi Manifests (WBM)</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+
+<!-- Installer -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_installer.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+<!-- Package up the results -->
+
+<Link>
+ <Name>Download Winamp Distributive!!!</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4; </Href>
+ <Configuration>Win32 Release 64</Configuration>
+</Link>
+
+<Link>
+ <Name>Versions History</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4."/whatsnew.txt"; </Href>
+ <Configuration>Win32 Release 64</Configuration>
+</Link>
+
+<Package>Mastering/Winamp/package_vc.xml
+ <Configuration>Win32 Release 64</Configuration>
+ <Destination>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"d:/bin/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4;</Destination>
+ <Copy>1</Copy>
+ <LinkName>Winamp</LinkName>
+</Package>
+</Build-Doc> \ No newline at end of file
diff --git a/Src/Mastering/Winamp/build_winamp_final.xml b/Src/Mastering/Winamp/build_winamp_final.xml
new file mode 100644
index 00000000..817fc7fd
--- /dev/null
+++ b/Src/Mastering/Winamp/build_winamp_final.xml
@@ -0,0 +1,280 @@
+<Build-Doc>
+
+<!-- Get everything in the thirdparty module -->
+<Source>in_avi <Tag>=$ENV{TAG_IN_AVI}</Tag> </Source>
+<Source>in_cdda <Tag>=$ENV{TAG_INCDDA}</Tag> </Source>
+<Source>in_dshow <Tag>=$ENV{TAG_INDSHOW}</Tag> </Source>
+<Source>in_flac <Tag>=$ENV{TAG_IN_FLAC}</Tag> </Source>
+<Source>in_flv <Tag>=$ENV{TAG_IN_FLV}</Tag> </Source>
+<Source>in_linein <Tag>=$ENV{TAG_INLINEIN}</Tag> </Source>
+<Source>in_midi <Tag>=$ENV{TAG_INMIDI}</Tag> </Source>
+<Source>in_mkv <Tag>=$ENV{TAG_IN_MKV}</Tag> </Source>
+<Source>in_mod <Tag>=$ENV{TAG_INMOD}</Tag> </Source>
+<Source>in_mp3 <Tag>=$ENV{TAG_INMP3}</Tag> </Source>
+<Source>in_mp4 <Tag>=$ENV{TAG_INMP4}</Tag> </Source>
+<Source>in_nsv <Tag>=$ENV{TAG_INNSV}</Tag> </Source>
+<Source>in_swf <Tag>=$ENV{TAG_IN_SWF}</Tag> </Source>
+<Source>in_vorbis <Tag>=$ENV{TAG_INVORBIS}</Tag> </Source>
+<Source>in_wave <Tag>=$ENV{TAG_INWAVE}</Tag> </Source>
+<Source>in_wmvdrm <Tag>=$ENV{TAG_INWM}</Tag> </Source>
+
+<Source>enc_flac2 <Tag>=$ENV{TAG_ENC_FLAC2}</Tag> </Source>
+<Source>enc_fhgaac <Tag>=$ENV{TAG_ENCFHGAAC}</Tag> </Source>
+<Source>enc_lame <Tag>=$ENV{TAG_ENCLAME}</Tag> </Source>
+<Source>enc_vorbis <Tag>=$ENV{TAG_ENCVORBIS}</Tag> </Source>
+<Source>enc_wav <Tag>=$ENV{TAG_ENC_WAV}</Tag> </Source>
+<Source>enc_wma <Tag>=$ENV{TAG_ENCWMA}</Tag> </Source>
+
+<Source>gen_crasher <Tag>=$ENV{TAG_GEN_CRASHER}</Tag></Source>
+<Source>gen_ff <Tag>=$ENV{TAG_GENFF}</Tag> </Source>
+<Source>gen_hotkeys <Tag>=$ENV{TAG_GENHOTKEYS}</Tag> </Source>
+<Source>gen_ml <Tag>=$ENV{TAG_GENML}</Tag> </Source>
+<Source>gen_tray <Tag>=$ENV{TAG_GENTRAY}</Tag> </Source>
+
+<!--<Source>ml_addons <Tag>=$ENV{TAG_ML_ADDONS}</Tag> </Source>-->
+<Source>ml_autotag <Tag>=$ENV{TAG_ML_AUTOTAG}</Tag> </Source>
+<Source>ml_bookmarks <Tag>=$ENV{TAG_MLBOOKMARKS}</Tag></Source>
+<!--<Source>ml_cloud <Tag>=$ENV{TAG_ML_CLOUD}</Tag> </Source>-->
+<Source>ml_disc <Tag>=$ENV{TAG_ML_DISC}</Tag> </Source>
+<Source>ml_devices <Tag>=$ENV{TAG_ML_DEVICES}</Tag> </Source>
+<Source>ml_downloads <Tag>=$ENV{TAG_ML_DOWNLOADS}</Tag></Source>
+<Source>ml_history <Tag>=$ENV{TAG_ML_HISTORY}</Tag> </Source>
+<Source>ml_impex <Tag>=$ENV{TAG_MLIMPEX}</Tag> </Source>
+<Source>ml_local <Tag>=$ENV{TAG_ML_LOCAL}</Tag> </Source>
+<Source>ml_nowplaying <Tag>=$ENV{TAG_ML_NOWPLAYING}</Tag></Source>
+<Source>ml_online <Tag>=$ENV{TAG_ML_ONLINE}</Tag> </Source>
+<Source>ml_playlists <Tag>=$ENV{TAG_ML_PLAYLISTS}</Tag></Source>
+<Source>ml_plg <Tag>=$ENV{TAG_ML_PLG}</Tag> </Source>
+<Source>ml_pmp <Tag>=$ENV{TAG_ML_PMP}</Tag> </Source>
+<Source>ml_rg <Tag>=$ENV{TAG_ML_RG}</Tag> </Source>
+<Source>ml_transcode <Tag>=$ENV{TAG_ML_TRANSCODE}</Tag></Source>
+<Source>ml_webdev <Tag>=$ENV{TAG_ML_WEBDEV}</Tag> </Source>
+<Source>ml_wire <Tag>=$ENV{TAG_MLWIRE}</Tag> </Source>
+
+<Source>out_ds <Tag>=$ENV{TAG_OUTDS}</Tag> </Source>
+<Source>out_disk <Tag>=$ENV{TAG_OUTDISK}</Tag> </Source>
+<Source>out_wave <Tag>=$ENV{TAG_OUTWAVE}</Tag> </Source>
+
+<Source>pmp_activesync <Tag>=$ENV{TAG_PMP_ACTIVESYNC}</Tag></Source>
+<Source>pmp_android <Tag>=$ENV{TAG_PMP_ANDROID}</Tag></Source>
+<!--<Source>pmp_cloud <Tag>=$ENV{TAG_PMP_CLOUD}</Tag> </Source>-->
+<Source>pmp_ipod <Tag>=$ENV{TAG_PMP_IPOD}</Tag> </Source>
+<Source>pmp_njb <Tag>=$ENV{TAG_PMP_NJB}</Tag> </Source>
+<Source>pmp_p4s <Tag>=$ENV{TAG_PMP_P4S}</Tag> </Source>
+<Source>pmp_usb2 <Tag>=$ENV{TAG_PMP_USB2}</Tag> </Source>
+<Source>pmp_wifi <Tag>=$ENV{TAG_PMP_WIFI}</Tag> </Source>
+
+<!--<Source>vis_avs <Tag>=$ENV{TAG_VIS_AVS}</Tag> </Source>
+<Source>ns-eel <Tag>=$ENV{TAG_VIS_AVS}</Tag> </Source>-->
+<Source>vis_milk2 <Tag>=$ENV{TAG_VISMILK2}</Tag> </Source>
+<Source>vis_nsfs <Tag>=$ENV{TAG_VISNSFS}</Tag> </Source>
+
+<Source>Elevator <Tag>=$ENV{TAG_ELEVATOR}</Tag> </Source>
+<Source>Winamp <Tag>=$ENV{TAG_WINAMP}</Tag> </Source>
+<Source>winampa <Tag>=$ENV{TAG_WINAMPA}</Tag> </Source>
+<Source>winampAll <Tag>=$ENV{TAG_WINAMPALL}</Tag> </Source>
+
+<!--<Source>a52 <Tag>=$ENV{TAG_A52}</Tag> </Source>
+<Source>a52dec <Tag>=$ENV{TAG_A52DEC}</Tag> </Source>-->
+<Source>aacdec <Tag>=$ENV{TAG_AACDEC}</Tag> </Source>
+<Source>aacPlus <Tag>=$ENV{TAG_AACLIBPLUS}</Tag> </Source>
+<Source>adpcm <Tag>=$ENV{TAG_ADPCM}</Tag> </Source>
+<Source>Agave <Tag>=$ENV{TAG_AGAVE}</Tag> </Source>
+<Source>alac <Tag>=$ENV{TAG_ALAC}</Tag> </Source>
+<Source>albumart <Tag>=$ENV{TAG_ALBUMART}</Tag> </Source>
+<Source>apev2 <Tag>=$ENV{TAG_APEV2}</Tag> </Source>
+<Source>auth <Tag>=$ENV{TAG_AUTH}</Tag> </Source>
+<Source>bmp <Tag>=$ENV{TAG_BMP}</Tag> </Source>
+<!--<Source>burner <Tag>=$ENV{TAG_BURNER}</Tag> </Source>-->
+<Source>burnlib <Tag>=$ENV{TAG_BURNLIB}</Tag> </Source>
+<Source>coloreditor <Tag>=$ENV{TAG_GENFF}</Tag> </Source>
+<Source>config <Tag>=$ENV{TAG_CONFIG}</Tag> </Source>
+<!--<Source>dca <Tag>=$ENV{TAG_DCA}</Tag> </Source>-->
+<Source>devices <Tag>=$ENV{TAG_DEVICES}</Tag> </Source>
+<Source>dlmgr <Tag>=$ENV{TAG_DLMGR}</Tag> </Source>
+<Source>expat <Tag>=$ENV{TAG_EXPAT}</Tag> </Source>
+<Source>f263 <Tag>=$ENV{TAG_F263}</Tag> </Source>
+<Source>filereader <Tag>=$ENV{TAG_FILEREADER}</Tag> </Source>
+<Source>freetype <Tag>=$ENV{TAG_FREETYPE}</Tag> </Source>
+<Source>freetypewac <Tag>=$ENV{TAG_FREETYPEWAC}</Tag></Source>
+<Source>gif <Tag>=$ENV{TAG_GIF}</Tag> </Source>
+<Source>giflib <Tag>=$ENV{TAG_GIFLIB}</Tag> </Source>
+<Source>gracenote <Tag>=$ENV{TAG_GRACENOTE}</Tag> </Source>
+<Source>h264 <Tag>=$ENV{TAG_H264}</Tag> </Source>
+<Source>h264dec <Tag>=$ENV{TAG_H264DEC}</Tag> </Source>
+<Source>id3v2 <Tag>=$ENV{TAG_ID3V2}</Tag> </Source>
+<Source>ijg <Tag>=$ENV{TAG_IJG}</Tag> </Source>
+<Source>installer <Tag>=$ENV{TAG_INSTALLER}</Tag> </Source>
+<Source>jnetlib <Tag>=$ENV{TAG_JNET}</Tag> </Source>
+<Source>jpeg <Tag>=$ENV{TAG_JPEG}</Tag> </Source>
+<!--<Source>libdca <Tag>=$ENV{TAG_LIBDCA}</Tag> </Source>-->
+<Source>libmp4v2 <Tag>=$ENV{TAG_LIBMP4V2}</Tag> </Source>
+<Source>libogg <Tag>=$ENV{TAG_LIBOGG}</Tag> </Source>
+<Source>libpng <Tag>=$ENV{TAG_LIBPNG}</Tag> </Source>
+<Source>libsndfile <Tag>=$ENV{TAG_LIBSNDFILE}</Tag> </Source>
+<Source>libtheora <Tag>=$ENV{TAG_LIBTHEORA}</Tag> </Source>
+<Source>libvorbis <Tag>=$ENV{TAG_LIBVORBIS}</Tag> </Source>
+<Source>libvp6 <Tag>=$ENV{TAG_VP6}</Tag> </Source>
+<Source>libvpx <Tag>=$ENV{TAG_LIBVPX}</Tag> </Source>
+<!--<Source>libyajl <Tag>=$ENV{TAG_CLOUD}</Tag> </Source>-->
+<Source>mp3 <Tag>=$ENV{TAG_MP3}</Tag> </Source>
+<Source>mp4v <Tag>=$ENV{TAG_MP4V}</Tag> </Source>
+<Source>mpeg4dec <Tag>=$ENV{TAG_MPEG4DEC}</Tag> </Source>
+<Source>nde <Tag>=$ENV{TAG_NDE}</Tag> </Source>
+<Source>nsavi <Tag>=$ENV{TAG_NSAVI}</Tag> </Source>
+<Source>ns-eel2 <Tag>=$ENV{TAG_NSEEL2}</Tag> </Source>
+<Source>nsmkv <Tag>=$ENV{TAG_NSMKV}</Tag> </Source>
+<Source>nsutil <Tag>=$ENV{TAG_UTIL}</Tag> </Source>
+<Source>nsv <Tag>=$ENV{TAG_NSV}</Tag> </Source>
+<Source>nsvdec_vp3 <Tag>=$ENV{TAG_NSVDEC_VP3}</Tag> </Source>
+<Source>nsvdec_vp5 <Tag>=$ENV{TAG_NSVDECVP5}</Tag> </Source>
+<Source>nu <Tag>=$ENV{TAG_NU}</Tag> </Source>
+<Source>omBrowser <Tag>=$ENV{TAG_OMBROWSER}</Tag> </Source>
+<Source>openssl <Tag>=$ENV{TAG_OPENSSL}</Tag> </Source>
+<Source>pcm <Tag>=$ENV{TAG_PCM}</Tag> </Source>
+<Source>pfc <Tag>=$ENV{TAG_PFC}</Tag> </Source>
+<Source>playlist <Tag>=$ENV{TAG_PLAYLIST}</Tag> </Source>
+<Source>plist <Tag>=$ENV{TAG_PLIST}</Tag> </Source>
+<Source>png <Tag>=$ENV{TAG_PNG}</Tag> </Source>
+<Source>primo <Tag>=$ENV{TAG_PRIMO}</Tag> </Source>
+<Source>ReplayGainAnalysis <Tag>=$ENV{TAG_ML_RG}</Tag> </Source>
+<Source>resources <Tag>=$ENV{TAG_RESOURCES}</Tag> </Source>
+<Source>SDKs\Rovi PrimoSDK Plus\4_28_06_0<Tag>=$ENV{TAG_VERITAS}</Tag></Source>
+<Source>SDKs/WM_Format_SDK_95_Feb_2005/include<Tag>=$ENV{TAG_INWM}</Tag></Source>
+<Source>tagz <Tag>=$ENV{TAG_TAGZ}</Tag> </Source>
+<Source>tataki <Tag>=$ENV{TAG_TATAKI}</Tag> </Source>
+<Source>theora <Tag>=$ENV{TAG_THEORA}</Tag> </Source>
+<Source>timer <Tag>=$ENV{TAG_TIMER}</Tag> </Source>
+<Source>vlb <Tag>=$ENV{TAG_VLB}</Tag> </Source>
+<Source>vp32\include <Tag>=$ENV{TAG_VP32}</Tag> </Source>
+<Source>vp32\lib\win32\Release<Tag>=$ENV{TAG_VP32}</Tag></Source>
+<Source>vp6 <Tag>=$ENV{TAG_VP6}</Tag> </Source>
+<Source>vp8x <Tag>=$ENV{TAG_VP8X}</Tag> </Source>
+<Source>Wasabi <Tag>=$ENV{TAG_WASABI}</Tag> </Source>
+<Source>Wasabi2 <Tag>=$ENV{TAG_REPLICANT}</Tag> </Source>
+<Source>watcher <Tag>=$ENV{TAG_WATCHER}</Tag> </Source>
+<Source>wbm <Tag>=$ENV{TAG_WBM}</Tag> </Source>
+<Source>xml <Tag>=$ENV{TAG_XML}</Tag> </Source>
+<Source>xspf <Tag>=$ENV{TAG_XSPF}</Tag> </Source>
+<Source>zlib <Tag>=$ENV{TAG_ZLIB}</Tag> </Source>
+
+<Source>nprt_plugin <Tag>=$ENV{TAG_NPRT_PLUGIN}</Tag></Source>
+<Source>ie_plugin <Tag>=$ENV{TAG_IE_PLUGIN}</Tag> </Source>
+
+<Source>codesign</Source>
+
+<!-- Build -->
+<Build>
+ Mastering/VerCtrl/verctrl.exe
+ <Parameters>="FINAL $ENV{BRANDING}"</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Add Win32 Projects Here (begin) -->
+<Build>winampAll/ippAll.sln
+ <Param>/useenv</Param>
+</Build>
+
+<Build>winampAll/winampAll.sln
+ <Param>/useenv</Param>
+</Build>
+
+
+<!-- code signing certain executables -->
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\winamp.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing winamp.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\elevator.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing elevator.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\winampa.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing winampa.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+
+<!-- WBM Generation -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wbm.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Building Lazy-Load Wasabi Manifests (WBM)</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Image Rebasing -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\rebase.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Rebasing Plugins and Libraries</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Installer -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_installer.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wadetect.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_webdev.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Web Dev SDK</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Package up the results -->
+
+<Link>
+ <Name>Download Winamp Distributive!!!</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_Final"; </Href>
+ <Configuration>Win32 Release|Win32</Configuration>
+</Link>
+
+<Link>
+ <Name>Versions History</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_Final/whatsnew.txt"; </Href>
+ <Configuration>Win32 Release|Win32</Configuration>
+</Link>
+
+<Package>Mastering/Winamp/package_vc.xml
+ <Configuration>Win32 Release|Win32</Configuration>
+ <Destination>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"d:/bin/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_Final";</Destination>
+ <Copy>1</Copy>
+ <LinkName>Winamp</LinkName>
+</Package>
+</Build-Doc> \ No newline at end of file
diff --git a/Src/Mastering/Winamp/build_winamp_night.xml b/Src/Mastering/Winamp/build_winamp_night.xml
new file mode 100644
index 00000000..ccd011ce
--- /dev/null
+++ b/Src/Mastering/Winamp/build_winamp_night.xml
@@ -0,0 +1,271 @@
+<Build-Doc>
+
+
+<!--Geteverythinginthethirdpartymodule-->
+<Source>openssl</Source>
+<Source>expat</Source>
+<Source>libogg</Source>
+<Source>libvorbis</Source>
+<Source>mp3</Source>
+<Source>ijg</Source>
+<Source>libpng</Source>
+<Source>giflib</Source>
+<Source>id3v2</Source>
+<Source>libmp4v2</Source>
+<Source>freetypewac</Source>
+<Source>auth</Source>
+<Source>gen_mud</Source>
+<Source>vis_avs</Source>
+<Source>ns-eel</Source>
+<Source>ml_webdev</Source>
+<Source>timer</Source>
+<Source>wbm</Source>
+<Source>nsvdec_vp3</Source>
+<Source>vlb</Source>
+<Source>gen_talkback</Source>
+<Source>enc_flac2</Source>
+<Source>primo</Source>
+<Source>burner</Source>
+<Source>f263</Source>
+<Source>in_swf</Source>
+<Source>Elevator</Source>
+<Source>zlib</Source>
+<Source>apev2</Source>
+<Source>in_flv</Source>
+<Source>dlmgr</Source>
+<Source>ml_autotag</Source>
+<Source>ml_orb</Source>
+<Source>ml_plg</Source>
+<Source>gracenote</Source>
+<Source>freetype</Source>
+<Source>gen_crasher</Source>
+<Source>flac</Source>
+<Source>in_flac</Source>
+<Source>enc_flac</Source>
+<Source>enc_wav</Source>
+<Source>ml_transcode</Source>
+<Source>pmp_activesync</Source>
+<Source>jpeg</Source>
+<Source>bmp</Source>
+<Source>gif</Source>
+<Source>ml_dash</Source>
+<Source>ReplayGainAnalysis</Source>
+<Source>ml_rg</Source>
+<Source>ml_local</Source>
+<Source>ml_nowplaying</Source>
+<Source>ml_playlists</Source>
+<Source>ml_history</Source>
+<Source>ml_disc</Source>
+<Source>watcher</Source>
+<Source>nde</Source>
+<Source>playlist</Source>
+<Source>png</Source>
+<Source>xml</Source>
+<Source>alac</Source>
+<Source>ml_online</Source>
+<Source>tagz</Source>
+<Source>ml_bookmarks</Source>
+<Source>libsndfile</Source>
+<Source>ml_pmp</Source>
+<Source>pmp_ipod</Source>
+<Source>pmp_njb</Source>
+<Source>pmp_p4s</Source>
+<Source>pmp_usb</Source>
+<Source>in_wave</Source>
+<Source>nu</Source>
+<Source>nsv</Source>
+<Source>in_mkv</Source>
+<Source>nsmkv</Source>
+<Source>SDKs\Rovi PrimoSDK Plus\4_28_06_0</Source>
+<Source>aacPlus</Source>
+<Source>jnetlib</Source>
+<Source>coloreditor</Source>
+<Source>gen_ml</Source>
+<Source>Winamp</Source>
+<Source>config</Source>
+<Source>winampa</Source>
+<Source>enc_aacplus</Source>
+<Source>enc_lame</Source>
+<Source>enc_wma</Source>
+<Source>Agave</Source>
+<Source>tataki</Source>
+<Source>Wasabi</Source>
+<Source>gen_ff</Source>
+<Source>filereader</Source>
+<Source>gen_hotkeys</Source>
+<Source>gen_tray</Source>
+<Source>in_cdda</Source>
+<Source>in_linein</Source>
+<Source>pfc</Source>
+<Source>in_midi</Source>
+<Source>in_mod</Source>
+<Source>in_mp3</Source>
+<Source>in_mp4</Source>
+<Source>in_nsv</Source>
+<Source>in_vorbis</Source>
+<Source>in_wmvdrm</Source>
+<Source>SDKs/WM_Format_SDK_95_Feb_2005/include</Source>
+<Source>ml_wire</Source>
+<Source>out_ds</Source>
+<Source>out_wave</Source>
+<Source>vis_nsfs</Source>
+<Source>in_dshow</Source>
+<Source>vp5\include</Source>
+<Source>vp5/lib/win32/release</Source>
+<Source>nsvdec_vp5</Source>
+<Source>vp6</Source>
+<Source>vis_milk2</Source>
+<Source>vp32\include</Source>
+<Source>vp32\lib\win32\Release</Source>
+<Source>resources</Source>
+<Source>installer</Source>
+<Source>out_disk</Source>
+<Source>burnlib</Source>
+<Source>gen_dropbox</Source>
+<Source>ml_impex</Source>
+<Source>plist</Source>
+<Source>omBrowser</Source>
+<Source>winampAll</Source>
+<Source>ns-eel2</Source>
+<Source>adpcm</Source>
+<Source>h264</Source>
+<Source>h264dec</Source>
+<Source>mpeg4dec</Source>
+<Source>mp4v</Source>
+<Source>a52</Source>
+<Source>a52dec</Source>
+<Source>in_avi</Source>
+<Source>nsavi</Source>
+<Source>nsutil</Source>
+<Source>pcm</Source>
+<Source>np_plugin</Source>
+<Source>ie_plugin</Source>
+<Source>ml_addons</Source>
+
+<Source>codesign</Source>
+
+<!-- version patch -->
+<Build>
+ Mastering/VerCtrl/verctrl.exe
+ <Parameters>="NIGHT $ENV{BRANDING}"</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+<!-- Add Win32 Projects Here (begin) -->
+
+<Build>winampAll/ippAll.sln
+<Param>/useenv</Param>
+</Build>
+
+<Build>winampAll/winampAll.sln
+<Param>/useenv</Param>
+</Build>
+
+<!-- code signing certain executables -->
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\winamp.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing winamp.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*)/;"/E:ON /V:ON /C .\\Mastering\\Winamp\\simple_sign.cmd \"Nullsoft Winamp ".$1.".".$2.$3."\" \"$options{Sandbox}\\output\\winamp\\elevator.exe\"";</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Signing elevator.exe</ProjectName>
+<ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+</Build>
+
+<!-- WBM Generation -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wbm.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Building Lazy-Load Wasabi Manifests (WBM)</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Image Rebasing -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\rebase.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Rebasing Plugins and Libraries</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+
+<!-- Installer -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_installer.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wadetect.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_webdev.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Web Dev SDK</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_mud.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating MUD installer</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_orb.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Orb installer</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Package up the results -->
+
+<Link>
+ <Name>Download Winamp Distributive!!!</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4; </Href>
+ <Configuration>Win32 Release|Win32</Configuration>
+</Link>
+
+<Link>
+ <Name>Versions History</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4."/whatsnew.txt"; </Href>
+ <Configuration>Win32 Release|Win32</Configuration>
+</Link>
+
+<Package>Mastering/Winamp/package_vc.xml
+ <Configuration>Win32 Release|Win32</Configuration>
+ <Destination>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"d:/bin/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4;</Destination>
+ <Copy>1</Copy>
+ <LinkName>Winamp</LinkName>
+</Package>
+
+
+</Build-Doc> \ No newline at end of file
diff --git a/Src/Mastering/Winamp/build_winamp_qa.xml b/Src/Mastering/Winamp/build_winamp_qa.xml
new file mode 100644
index 00000000..9aac6070
--- /dev/null
+++ b/Src/Mastering/Winamp/build_winamp_qa.xml
@@ -0,0 +1,448 @@
+<Build-Doc>
+
+
+<!-- Get everything in the thirdparty module -->
+<Source>openssl</Source>
+<Source>auth
+ <Tag>=$ENV{TAG_AUTH}</Tag>
+</Source>
+<Source>gen_mud
+ <Tag>=$ENV{TAG_GEN_MUD}</Tag>
+</Source>
+<Source>vis_avs
+ <Tag>=$ENV{TAG_VIS_AVS}</Tag>
+</Source>
+<Source>ns-eel
+ <Tag>=$ENV{TAG_VIS_AVS}</Tag>
+</Source>
+<Source>ml_webdev
+ <Tag>=$ENV{TAG_ML_WEBDEV}</Tag>
+</Source>
+<Source>timer
+ <Tag>=$ENV{TAG_TIMER}</Tag>
+</Source>
+<Source>wbm
+ <Tag>=$ENV{TAG_WBM}</Tag>
+</Source>
+<Source>nsvdec_vp3
+ <Tag>=$ENV{TAG_NSVDEC_VP3}</Tag>
+</Source>
+<Source>vlb
+<Tag>=$ENV{TAG_VLB}</Tag>
+</Source>
+<Source>gen_talkback
+<Tag>=$ENV{TAG_GEN_TALKBACK}</Tag>
+</Source>
+<Source>enc_flac2
+<Tag>=$ENV{TAG_ENC_FLAC2}</Tag>
+</Source>
+<Source>primo
+<Tag>=$ENV{TAG_PRIMO}</Tag>
+</Source>
+<Source>burner
+<Tag>=$ENV{TAG_BURNER}</Tag>
+</Source>
+<Source>f263
+<Tag>=$ENV{TAG_F263}</Tag>
+</Source>
+<Source>in_swf
+<Tag>=$ENV{TAG_IN_SWF}</Tag>
+</Source>
+<Source>Elevator
+<Tag>=$ENV{TAG_ELEVATOR}</Tag>
+</Source>
+<Source>zlib
+<Tag>=$ENV{TAG_ZLIB}</Tag>
+</Source>
+<Source>apev2
+<Tag>=$ENV{TAG_APEV2}</Tag>
+</Source>
+<Source>in_flv
+<Tag>=$ENV{TAG_IN_FLV}</Tag>
+</Source>
+<Source>dlmgr
+<Tag>=$ENV{TAG_DLMGR}</Tag>
+</Source>
+<Source>ml_autotag
+<Tag>=$ENV{TAG_ML_AUTOTAG}</Tag>
+</Source>
+<Source>ml_orb
+<Tag>=$ENV{TAG_ML_ORB}</Tag>
+</Source>
+<Source>ml_plg
+<Tag>=$ENV{TAG_ML_PLG}</Tag>
+</Source>
+<Source>gracenote
+ <Tag>=$ENV{TAG_GRACENOTE}</Tag>
+</Source>
+<Source>freetype
+ <Tag>=$ENV{TAG_FREETYPE}</Tag>
+</Source>
+<Source>gen_crasher
+ <Tag>=$ENV{TAG_GEN_CRASHER}</Tag>
+</Source>
+<Source>flac
+ <Tag>=$ENV{TAG_LIBFLAC}</Tag>
+</Source>
+<Source>in_flac
+ <Tag>=$ENV{TAG_IN_FLAC}</Tag>
+</Source>
+<Source>enc_flac
+ <Tag>=$ENV{TAG_ENC_FLAC}</Tag>
+</Source>
+<Source>enc_wav
+ <Tag>=$ENV{TAG_ENC_WAV}</Tag>
+</Source>
+<Source>ml_transcode
+ <Tag>=$ENV{TAG_ML_TRANSCODE}</Tag>
+</Source>
+<Source>pmp_activesync
+ <Tag>=$ENV{TAG_PMP_ACTIVESYNC}</Tag>
+</Source>
+<Source>jpeg
+ <Tag>=$ENV{TAG_JPEG}</Tag>
+</Source>
+<Source>bmp
+ <Tag>=$ENV{TAG_BMP}</Tag>
+</Source>
+<Source>gif
+ <Tag>=$ENV{TAG_GIF}</Tag>
+</Source>
+<Source>ml_dash
+ <Tag>=$ENV{TAG_ML_DASH}</Tag>
+</Source>
+<Source>ReplayGainAnalysis
+ <Tag>=$ENV{TAG_ML_RG}</Tag>
+</Source>
+<Source>ml_rg
+ <Tag>=$ENV{TAG_ML_RG}</Tag>
+</Source>
+<Source>ml_local
+ <Tag>=$ENV{TAG_ML_LOCAL}</Tag>
+</Source>
+<Source>ml_nowplaying
+ <Tag>=$ENV{TAG_ML_NOWPLAYING}</Tag>
+</Source>
+<Source>ml_playlists
+ <Tag>=$ENV{TAG_ML_PLAYLISTS}</Tag>
+</Source>
+<Source>ml_history
+ <Tag>=$ENV{TAG_ML_HISTORY}</Tag>
+</Source>
+<Source>ml_disc
+ <Tag>=$ENV{TAG_ML_DISC}</Tag>
+</Source>
+<Source>watcher
+ <Tag>=$ENV{TAG_WATCHER}</Tag>
+</Source>
+<Source>nde
+ <Tag>=$ENV{TAG_NDE}</Tag>
+</Source>
+<Source>playlist
+ <Tag>=$ENV{TAG_PLAYLIST}</Tag>
+</Source>
+<Source>png
+ <Tag>=$ENV{TAG_PNG}</Tag>
+</Source>
+<Source>xml
+ <Tag>=$ENV{TAG_XML}</Tag>
+</Source>
+<!-- <Source>in_dvd
+ <Tag>=$ENV{TAG_IN_DVD}</Tag>
+</Source> -->
+<Source>alac
+ <Tag>=$ENV{TAG_ALAC}</Tag>
+</Source>
+<Source>ml_online
+ <Tag>=$ENV{TAG_ML_ONLINE}</Tag>
+</Source>
+<Source>tagz
+ <Tag>=$ENV{TAG_TAGZ}</Tag>
+</Source>
+<Source>ml_bookmarks
+ <Tag>=$ENV{TAG_MLBOOKMARKS}</Tag>
+</Source>
+<Source>libsndfile
+ <Tag>=$ENV{TAG_LIBSNDFILE}</Tag>
+</Source>
+<Source>ml_pmp
+ <Tag>=$ENV{TAG_ML_PMP}</Tag>
+</Source>
+<Source>pmp_ipod
+ <Tag>=$ENV{TAG_PMP_IPOD}</Tag>
+</Source>
+<Source>pmp_njb
+ <Tag>=$ENV{TAG_PMP_NJB}</Tag>
+</Source>
+<Source>pmp_p4s
+ <Tag>=$ENV{TAG_PMP_P4S}</Tag>
+</Source>
+<Source>pmp_usb
+ <Tag>=$ENV{TAG_PMP_USB}</Tag>
+</Source>
+<Source>in_wave
+ <Tag>=$ENV{TAG_INWAVE}</Tag>
+</Source>
+<Source>nu
+ <Tag>=$ENV{TAG_NU}</Tag>
+</Source>
+<Source>nsv\nsvencode.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\dec_if.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\enc_if.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvbs.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvlib.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvplay
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv\nsvlib.cpp
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv/svc_nsvFactory.h
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>nsv/svc_nsvFactory.cpp
+ <Tag>=$ENV{TAG_NSV}</Tag>
+</Source>
+<Source>SDKs\Rovi PrimoSDK Plus\4_28_06_0
+ <Tag>=$ENV{TAG_VERITAS}</Tag>
+</Source>
+<Source>aacPlus
+ <Tag>=$ENV{TAG_AACLIBPLUS}</Tag>
+</Source>
+<Source>SDKs\WM_Format_SDK_9a\lib\WMVCORE.lib
+ <Tag>=$ENV{TAG_WMCORE}</Tag>
+</Source>
+<Source>SDKs\WM_Format_SDK_9a\include
+ <Tag>=$ENV{TAG_WMCORE}</Tag>
+</Source>
+<Source>jnetlib
+ <Tag>=$ENV{TAG_JNET}</Tag>
+</Source>
+<Source>coloreditor
+ <Tag>=$ENV{TAG_GENFF}</Tag>
+</Source>
+<Source>gen_ml
+ <Tag>=$ENV{TAG_GENML}</Tag>
+</Source>
+<Source>Winamp
+ <Tag>=$ENV{TAG_WINAMP}</Tag>
+</Source>
+<Source>config
+ <Tag>=$ENV{TAG_CONFIG}</Tag>
+</Source>
+<Source>winampa
+ <Tag>=$ENV{TAG_WINAMPA}</Tag>
+</Source>
+<Source>enc_aacplus
+ <Tag>=$ENV{TAG_ENCAACPLUS}</Tag>
+</Source>
+<Source>enc_lame
+ <Tag>=$ENV{TAG_ENCLAME}</Tag>
+</Source>
+<Source>enc_wma
+ <Tag>=$ENV{TAG_ENCWMA}</Tag>
+</Source>
+<Source>Agave
+ <Tag>=$ENV{TAG_AGAVE}</Tag>
+</Source>
+<Source>tataki
+ <Tag>=$ENV{TAG_TATAKI}</Tag>
+</Source>
+<Source>Wasabi
+ <Tag>=$ENV{TAG_WASABI}</Tag>
+</Source>
+<Source>gen_ff
+ <Tag>=$ENV{TAG_GENFF}</Tag>
+</Source>
+<Source>filereader
+ <Tag>=$ENV{TAG_FILEREADER}</Tag>
+</Source>
+<Source>gen_hotkeys
+ <Tag>=$ENV{TAG_GENHOTKEYS}</Tag>
+</Source>
+<Source>gen_tray
+ <Tag>=$ENV{TAG_GENTRAY}</Tag>
+</Source>
+<Source>in_cdda
+ <Tag>=$ENV{TAG_INCDDA}</Tag>
+</Source>
+<Source>in_linein
+ <Tag>=$ENV{TAG_INLINEIN}</Tag>
+</Source>
+<Source>pfc
+ <Tag>=$ENV{TAG_PFC}</Tag>
+</Source>
+<Source>in_midi
+ <Tag>=$ENV{TAG_INMIDI}</Tag>
+</Source>
+<Source>in_mod
+ <Tag>=$ENV{TAG_INMOD}</Tag>
+</Source>
+<Source>in_mp3
+ <Tag>=$ENV{TAG_INMP3}</Tag>
+</Source>
+<Source>in_mp4
+ <Tag>=$ENV{TAG_INMP4}</Tag>
+</Source>
+<Source>in_nsv
+ <Tag>=$ENV{TAG_INNSV}</Tag>
+</Source>
+<Source>in_vorbis
+ <Tag>=$ENV{TAG_INVORBIS}</Tag>
+</Source>
+<Source>in_wmvdrm
+ <Tag>=$ENV{TAG_INWM}</Tag>
+</Source>
+<Source>ml_wire
+ <Tag>=$ENV{TAG_MLWIRE}</Tag>
+</Source>
+<Source>out_ds
+ <Tag>=$ENV{TAG_OUTDS}</Tag>
+</Source>
+<Source>out_wave
+ <Tag>=$ENV{TAG_OUTWAVE}</Tag>
+</Source>
+<Source>vis_nsfs
+ <Tag>=$ENV{TAG_VISNSFS}</Tag>
+</Source>
+<Source>in_dshow
+ <Tag>=$ENV{TAG_INDSHOW}</Tag>
+</Source>
+<Source>vp5\include
+ <Tag>=$ENV{TAG_VP5}</Tag>
+</Source>
+<Source>vp5/lib/win32/release
+ <Tag>=$ENV{TAG_VP5}</Tag>
+</Source>
+<Source>nsvdec_vp5
+ <Tag>=$ENV{TAG_NSVDECVP5}</Tag>
+</Source>
+<Source>vp6/include
+ <Tag>=$ENV{TAG_VP6}</Tag>
+</Source>
+<Source>vp6/lib/win32/release
+ <Tag>=$ENV{TAG_VP6}</Tag>
+</Source>
+<Source>nsvdec_vp6
+ <Tag>=$ENV{TAG_NSVDECVP6}</Tag>
+</Source>
+<Source>dshow
+ <Tag>=$ENV{TAG_DSHOW}</Tag>
+</Source>
+<Source>SDKs\DirectX_9_Oct_2004
+ <Tag>=$ENV{TAG_DIRECTX}</Tag>
+</Source>
+<Source>vis_milk2
+ <Tag>=$ENV{TAG_VISMILK2}</Tag>
+</Source>
+<Source>vp32\include
+ <Tag>=$ENV{TAG_VP32}</Tag>
+</Source>
+<Source>vp32\lib\win32\Release
+ <Tag>=$ENV{TAG_VP32}</Tag>
+</Source>
+<Source>resources
+ <Tag>=$ENV{TAG_RESOURCES}</Tag>
+</Source>
+<Source>installer
+ <Tag>=$ENV{TAG_INSTALLER}</Tag>
+</Source>
+<Source>out_disk
+ <Tag>=$ENV{TAG_OUTDISK}</Tag>
+</Source>
+<Source>burnlib
+ <Tag>=$ENV{TAG_BURNLIB}</Tag>
+</Source>
+<Source>gen_dropbox
+ <Tag>=$ENV{TAG_GENDROPBOX}</Tag>
+</Source>
+<Source>ml_impex
+ <Tag>=$ENV{TAG_MLIMPEX}</Tag>
+</Source>
+<Source>plist
+ <Tag>=$ENV{TAG_PLIST}</Tag>
+</Source>
+<Source>omBrowser
+ <Tag>=$ENV{TAG_OMBROWSER}</Tag>
+</Source>
+<Source>ml_addons
+ <Tag>=$ENV{TAG_ML_ADDONS</Tag>
+</Source>
+<Source>winampAll
+ <Tag>=$ENV{TAG_WINAMPALL}</Tag>
+</Source>
+<Source>codesign</Source>
+
+
+<!-- Build -->
+<Build>
+ Mastering/VerCtrl/verctrl.exe
+ <Parameters>="BETA $ENV{BRANDING}"</Parameters>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+<!-- Add Win32 Projects Here (begin) -->
+
+<Build>winampAll/winampAll.sln
+<Param>/useenv</Param>
+</Build>
+
+<!-- WBM Generation -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_wbm.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Building Lazy-Load Wasabi Manifests (WBM)</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Installer -->
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_installer.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Installers</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<Build>
+ cmd.exe
+ <Parameters>/E:ON /V:ON /C ".\Mastering\Winamp\build_webdev.cmd"</Parameters>
+ <ifNoErrors>1</ifNoErrors>
+ <ProjectName>Generating Web Dev SDK</ProjectName>
+ <ScriptIsOutsideSandbox>1</ScriptIsOutsideSandbox>
+ <Filter>dggenericOutputParser</Filter>
+</Build>
+
+<!-- Package up the results -->
+
+<Link>
+ <Name>Download Winamp Distributive!!!</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4; </Href>
+ <Configuration>Win32 Profiling</Configuration>
+</Link>
+
+<Link>
+ <Name>Versions History</Name>
+ <Href> = $versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"http://nulldev.stream.aol.com/binaries/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4."/whatsnew.txt"; </Href>
+ <Configuration>Win32 Profiling</Configuration>
+</Link>
+
+<Package>Mastering/Winamp/package_vc.xml
+ <Configuration>Win32 Profiling</Configuration>
+ <Destination>=$versionString=~/([0-9]*).([0-9]*)\.([0-9]*) (.*)/;"d:/bin/".$options{WebSubdir}."/".$options{BuildModule}."_".$1."_".$2.$3."_".$buildNumber."_".$4;</Destination>
+ <Copy>1</Copy>
+ <LinkName>Winamp</LinkName>
+</Package>
+</Build-Doc> \ No newline at end of file
diff --git a/Src/Mastering/Winamp/configmap.xml b/Src/Mastering/Winamp/configmap.xml
new file mode 100644
index 00000000..850d65a8
--- /dev/null
+++ b/Src/Mastering/Winamp/configmap.xml
@@ -0,0 +1,5 @@
+<ConfigDoc>
+ <!--
+ Only list projects in here if they don't follow the project standards
+-->
+</ConfigDoc>
diff --git a/Src/Mastering/Winamp/fileNames.cmd b/Src/Mastering/Winamp/fileNames.cmd
new file mode 100644
index 00000000..1a8dccfe
--- /dev/null
+++ b/Src/Mastering/Winamp/fileNames.cmd
@@ -0,0 +1,36 @@
+SET INSTALL_NAME=winamp512_0224_beta
+
+SET INSTALL_FILE_NAME=%INSTALL_NAME%
+if %TARGET_ARCH%==x86 goto skip64
+SET INSTALL_FILE_NAME=%INSTALL_NAME%_x64
+:skip64
+
+if NOT %BRANDING%==NULLSOFT goto branded_names
+SET INSTALL_FULL=%INSTALL_FILE_NAME%_full
+SET INSTALL_STD=%INSTALL_FILE_NAME%_std
+SET INSTALL_LITE=%INSTALL_FILE_NAME%_lite
+SET INSTALL_PRO=%INSTALL_FILE_NAME%_pro
+SET INSTALL_EMUSIC=%INSTALL_FILE_NAME%_full_emusic-7plus
+SET INSTALL_BUNDLE=%INSTALL_FILE_NAME%_full_bundle_emusic-7plus
+SET INSTALL_DEVICES=%INSTALL_FILE_NAME%_full_devices
+goto end
+
+:branded_names
+SET INSTALL_FULL=%INSTALL_FILE_NAME%_%BRANDING%
+SET INSTALL_STD=junk
+SET INSTALL_LITE=junk
+SET INSTALL_PRO=junk
+SET INSTALL_EMUSIC=junk
+SET INSTALL_BUNDLE=junk
+SET INSTALL_DEVICES=junk
+
+:end
+
+
+
+
+
+
+
+
+
diff --git a/Src/Mastering/Winamp/installer_final.config b/Src/Mastering/Winamp/installer_final.config
new file mode 100644
index 00000000..6c245916
--- /dev/null
+++ b/Src/Mastering/Winamp/installer_final.config
@@ -0,0 +1,12 @@
+; use this file to specify makensis build types
+;
+; Format: (Configuration name),(primary configuration id)[,(secondary configuration id)]
+;
+
+"Lite Edition",lite
+"Full Edition",full
+;"Pro Edition",full,pro
+
+;"Standard Edition",std,eMusic-7plus,opencandy_final
+;"Bundle Edition",full,bundle,eMusic-7plus,opencandy_final
+;"EMusic Edition",full,eMusic-7plus,opencandy_final \ No newline at end of file
diff --git a/Src/Mastering/Winamp/installer_final.lang b/Src/Mastering/Winamp/installer_final.lang
new file mode 100644
index 00000000..660dff0c
--- /dev/null
+++ b/Src/Mastering/Winamp/installer_final.lang
@@ -0,0 +1,26 @@
+; specify langpacks
+;
+;
+;
+;
+all
+en-us
+es-us
+fr-fr
+hu-hu
+ja-jp
+pl-pl
+pt-br
+ro-ro
+ru-ru
+tr-tr
+
+; these are ear-marked for being removed if no longer updated from 5.71
+;de-de
+;id-id
+;it-it
+;ko-kr
+;nl-nl
+;sv-se
+;zh-cn
+;zh-tw \ No newline at end of file
diff --git a/Src/Mastering/Winamp/master_winamp_beta.xml b/Src/Mastering/Winamp/master_winamp_beta.xml
new file mode 100644
index 00000000..b0fcc9de
--- /dev/null
+++ b/Src/Mastering/Winamp/master_winamp_beta.xml
@@ -0,0 +1,74 @@
+<!-- build.pl configuration file
+ See http://devguy.com/fp/cfgmgmt/tools/build-options-xml.txt
+
+ This compiles VC++ and vs.NET code (release and debug)
+-->
+
+<Build-Option-Doc>
+ <!--
+ File Paths
+ -->
+ <Sandbox>=$ENV{CURSANDBOX}</Sandbox>
+ <BuildModule>Winamp</BuildModule>
+ <ConfigMapFile>Mastering/Winamp/configmap.xml</ConfigMapFile>
+ <BuildFile>Mastering/Winamp/build_winamp_beta.xml</BuildFile>
+ <!--
+ Type of build
+ -->
+ <MajorBuildDescription>Beta</MajorBuildDescription>
+ <BuildDescription>Beta build.</BuildDescription>
+ <WebSubdir>beta</WebSubdir>
+ <!--
+ Which configuration(s) to build
+ -->
+ <Configuration>Win32 Release|Win32</Configuration>
+ <Param>/useenv</Param>
+ <!--
+ CVS tag/branch information
+ -->
+ <Branch/>
+ <BuildStamp/>
+ <TagOverride/>
+ <BuildStampPrefix>= $ENV{BRANDING} =~ m/NULLSOFT/ ? 'BETA_' : 'BETA_'.$ENV{BRANDING}.'_';</BuildStampPrefix>
+ <!--
+ Build statistics files
+ -->
+ <BuildNumberFile>Mastering/Winamp/buildnumber.h</BuildNumberFile>
+ <VersionFile>Mastering/Winamp/constants.h</VersionFile>
+ <ChangeLogInfoFile>Mastering/Winamp/build_stamp.txt</ChangeLogInfoFile>
+ <BuildEndFile>Mastering/Winamp/build_end.txt</BuildEndFile>
+ <!--
+ How to output HTML and targets
+ -->
+ <WebPath>d:\wwwroot\builds</WebPath>
+ <WebAddress>http://nulldev.stream.aol.com/builds</WebAddress>
+ <PackageDestination/>
+ <PackageURL/>
+ <!--
+ Who to notify via net send (use computer names)
+ -->
+ <NetNotify></NetNotify>
+ <!--
+ Who to notify via smtp email (use comma to separate)
+ -->
+ <SMTPNotify>builds@lists.winamp.com</SMTPNotify>
+ <!--
+ Run-Time Switches
+ -->
+ <ShouldCleanSandbox>0</ShouldCleanSandbox>
+ <ShouldGetSource>1</ShouldGetSource>
+ <ShouldBuild>1</ShouldBuild>
+ <ShouldTag>1</ShouldTag>
+ <ShouldForceTag>0</ShouldForceTag>
+ <ShouldPackage>1</ShouldPackage>
+ <ShouldForcePackage>0</ShouldForcePackage>
+ <ShouldIncrementBuildNumber>1</ShouldIncrementBuildNumber>
+ <ShouldPostToWeb>1</ShouldPostToWeb>
+ <ShouldOutputXML>1</ShouldOutputXML>
+ <ShouldUpdateVersionResources>1</ShouldUpdateVersionResources>
+ <ShouldCreateManifest>1</ShouldCreateManifest>
+ <ShouldEmailNotification>1</ShouldEmailNotification>
+ <ShouldCreateChangeLog>1</ShouldCreateChangeLog>
+ <ShouldUpdateChangeLogInfo>1</ShouldUpdateChangeLogInfo>
+ <ShouldForceUpdateChangeLogInfo>1</ShouldForceUpdateChangeLogInfo>
+</Build-Option-Doc>
diff --git a/Src/Mastering/Winamp/master_winamp_beta_x64.xml b/Src/Mastering/Winamp/master_winamp_beta_x64.xml
new file mode 100644
index 00000000..7d56e520
--- /dev/null
+++ b/Src/Mastering/Winamp/master_winamp_beta_x64.xml
@@ -0,0 +1,74 @@
+<!-- build.pl configuration file
+ See http://devguy.com/fp/cfgmgmt/tools/build-options-xml.txt
+
+ This compiles VC++ and vs.NET code (release and debug)
+-->
+
+<Build-Option-Doc>
+ <!--
+ File Paths
+ -->
+ <Sandbox>=$ENV{CURSANDBOX}</Sandbox>
+ <BuildModule>Winamp</BuildModule>
+ <ConfigMapFile>Mastering/Winamp/configmap.xml</ConfigMapFile>
+ <BuildFile>Mastering/Winamp/build_winamp_beta_x64.xml</BuildFile>
+ <!--
+ Type of build
+ -->
+ <MajorBuildDescription>Beta</MajorBuildDescription>
+ <BuildDescription>Beta build.</BuildDescription>
+ <WebSubdir>beta</WebSubdir>
+ <!--
+ Which configuration(s) to build
+ -->
+ <Configuration>Win32 Release 64</Configuration>
+ <Param>/useenv</Param>
+ <!--
+ CVS tag/branch information
+ -->
+ <Branch/>
+ <BuildStamp/>
+ <TagOverride/>
+ <BuildStampPrefix>= $ENV{BRANDING} =~ m/NULLSOFT/ ? 'BETA_X64_' : 'BETA_X64_'.$ENV{BRANDING}.'_';</BuildStampPrefix>
+ <!--
+ Build statistics files
+ -->
+ <BuildNumberFile>Mastering/Winamp/buildnumber.h</BuildNumberFile>
+ <VersionFile>Mastering/Winamp/constants.h</VersionFile>
+ <ChangeLogInfoFile>Mastering/Winamp/build_stamp.txt</ChangeLogInfoFile>
+ <!--
+ How to output HTML and targets
+ -->
+ <WebPath>d:\wwwroot\builds</WebPath>
+ <WebAddress>http://nulldev.stream.aol.com/builds</WebAddress>
+ <PackageDestination/>
+ <PackageURL/>
+ <!--
+ Who to notify via net send (use computer names)
+ -->
+ <NetNotify></NetNotify>
+ <!--
+ Who to notify via smtp email (use comma to separate)
+ -->
+ <SMTPNotify>barabanger@gmail.com,benski@winamp.com,dj_egg@winamp.com</SMTPNotify>
+ <!--
+ Run-Time Switches
+ -->
+ <ShouldCleanSandbox>0</ShouldCleanSandbox>
+ <ShouldGetSource>1</ShouldGetSource>
+ <ShouldBuild>1</ShouldBuild>
+ <ShouldTag>1</ShouldTag>
+ <ShouldForceTag>0</ShouldForceTag>
+ <ShouldPackage>1</ShouldPackage>
+ <ShouldForcePackage>0</ShouldForcePackage>
+ <ShouldIncrementBuildNumber>1</ShouldIncrementBuildNumber>
+ <ShouldPostToWeb>1</ShouldPostToWeb>
+ <ShouldOutputXML>1</ShouldOutputXML>
+ <ShouldUpdateVersionResources>1</ShouldUpdateVersionResources>
+ <ShouldCreateManifest>1</ShouldCreateManifest>
+ <ShouldEmailNotification>1</ShouldEmailNotification>
+ <ShouldCreateChangeLog>1</ShouldCreateChangeLog>
+ <ShouldUpdateChangeLogInfo>1</ShouldUpdateChangeLogInfo>
+ <ShouldForceUpdateChangeLogInfo>1</ShouldForceUpdateChangeLogInfo>
+</Build-Option-Doc>
+
diff --git a/Src/Mastering/Winamp/master_winamp_final.xml b/Src/Mastering/Winamp/master_winamp_final.xml
new file mode 100644
index 00000000..ef2d3667
--- /dev/null
+++ b/Src/Mastering/Winamp/master_winamp_final.xml
@@ -0,0 +1,74 @@
+<!-- build.pl configuration file
+ See http://devguy.com/fp/cfgmgmt/tools/build-options-xml.txt
+
+ This compiles VC++ and vs.NET code (release and debug)
+-->
+
+<Build-Option-Doc>
+ <!--
+ File Paths
+ -->
+ <Sandbox>=$ENV{CURSANDBOX}</Sandbox>
+ <BuildModule>Winamp</BuildModule>
+ <ConfigMapFile>Mastering/Winamp/configmap.xml</ConfigMapFile>
+ <BuildFile>Mastering/Winamp/build_winamp_final.xml</BuildFile>
+ <!--
+ Type of build
+ -->
+ <MajorBuildDescription>Final</MajorBuildDescription>
+ <BuildDescription>Final build.</BuildDescription>
+ <WebSubdir>final</WebSubdir>
+ <!--
+ Which configuration(s) to build
+ -->
+ <Configuration>Win32 Release|Win32</Configuration>
+ <Param>/useenv</Param>
+ <!--
+ CVS tag/branch information
+ -->
+ <Branch/>
+ <BuildStamp/>
+ <TagOverride/>
+ <BuildStampPrefix>= $ENV{BRANDING} =~ m/NULLSOFT/ ? 'FINAL_' : 'FINAL_'.$ENV{BRANDING}.'_';</BuildStampPrefix>
+ <!--
+ Build statistics files
+ -->
+ <BuildNumberFile>Mastering/Winamp/buildnumber.h</BuildNumberFile>
+ <VersionFile>Mastering/Winamp/constants.h</VersionFile>
+ <ChangeLogInfoFile>Mastering/Winamp/build_stamp.txt</ChangeLogInfoFile>
+ <BuildEndFile>Mastering/Winamp/build_end.txt</BuildEndFile>
+ <!--
+ How to output HTML and targets
+ -->
+ <WebPath>d:\wwwroot\builds</WebPath>
+ <WebAddress>http://nulldev.stream.aol.com/builds</WebAddress>
+ <PackageDestination/>
+ <PackageURL/>
+ <!--
+ Who to notify via net send (use computer names)
+ -->
+ <NetNotify></NetNotify>
+ <!--
+ Who to notify via smtp email (use comma to separate)
+ -->
+ <SMTPNotify>builds@lists.winamp.com</SMTPNotify>
+ <!--
+ Run-Time Switches
+ -->
+ <ShouldCleanSandbox>0</ShouldCleanSandbox>
+ <ShouldGetSource>1</ShouldGetSource>
+ <ShouldBuild>1</ShouldBuild>
+ <ShouldTag>1</ShouldTag>
+ <ShouldForceTag>0</ShouldForceTag>
+ <ShouldPackage>1</ShouldPackage>
+ <ShouldForcePackage>0</ShouldForcePackage>
+ <ShouldIncrementBuildNumber>1</ShouldIncrementBuildNumber>
+ <ShouldPostToWeb>1</ShouldPostToWeb>
+ <ShouldOutputXML>1</ShouldOutputXML>
+ <ShouldUpdateVersionResources>1</ShouldUpdateVersionResources>
+ <ShouldCreateManifest>1</ShouldCreateManifest>
+ <ShouldEmailNotification>1</ShouldEmailNotification>
+ <ShouldCreateChangeLog>1</ShouldCreateChangeLog>
+ <ShouldUpdateChangeLogInfo>1</ShouldUpdateChangeLogInfo>
+ <ShouldForceUpdateChangeLogInfo>1</ShouldForceUpdateChangeLogInfo>
+</Build-Option-Doc>
diff --git a/Src/Mastering/Winamp/master_winamp_night.xml b/Src/Mastering/Winamp/master_winamp_night.xml
new file mode 100644
index 00000000..47637909
--- /dev/null
+++ b/Src/Mastering/Winamp/master_winamp_night.xml
@@ -0,0 +1,74 @@
+<!-- build.pl configuration file
+ See http://devguy.com/fp/cfgmgmt/tools/build-options-xml.txt
+
+ This compiles VC++ and vs.NET code (release and debug)
+-->
+
+<Build-Option-Doc>
+ <!--
+ File Paths
+ -->
+ <Sandbox>=$ENV{CURSANDBOX}</Sandbox>
+ <BuildModule>Winamp</BuildModule>
+ <ConfigMapFile>Mastering/Winamp/configmap.xml</ConfigMapFile>
+ <BuildFile>Mastering/Winamp/build_winamp_night.xml</BuildFile>
+ <!--
+ Type of build
+ -->
+ <MajorBuildDescription>Nightly</MajorBuildDescription>
+ <BuildDescription>Nightly build.</BuildDescription>
+ <WebSubdir>nightly</WebSubdir>
+ <!--
+ Which configuration(s) to build
+ -->
+ <Configuration>Win32 Release|Win32</Configuration>
+ <!--
+ CVS tag/branch information
+ -->
+ <Branch/>
+ <BuildStamp/>
+ <TagOverride/>
+ <BuildStampPrefix>=NIGHT_</BuildStampPrefix>
+ <!--
+ Build statistics files
+ -->
+ <BuildNumberFile>Mastering/Winamp/buildnumber.h</BuildNumberFile>
+ <VersionFile>Mastering/Winamp/constants.h</VersionFile>
+ <ChangeLogInfoFile>Mastering/Winamp/build_stamp.txt</ChangeLogInfoFile>
+ <!--
+ How to output HTML and targets
+ -->
+ <WebPath>d:\wwwroot\builds</WebPath>
+ <WebAddress>http://nulldev.stream.aol.com/builds</WebAddress>
+ <PackageDestination/>
+ <PackageURL/>
+ <!--
+ Who to notify via net send (use computer names)
+ -->
+ <NetNotify></NetNotify>
+ <!--
+ Who to notify via smtp email (use comma to separate) audiodsp@aol.com
+ -->
+ <SMTPNotify>barabanger@gmail.com,benski@winamp.com,dj_egg@winamp.com,jonathan.chester@corp.aol.com</SMTPNotify>
+ <!--
+ Run-Time Switches
+ -->
+ <ShouldCleanSandbox>0</ShouldCleanSandbox>
+ <ShouldGetSource>1</ShouldGetSource>
+ <ShouldBuild>1</ShouldBuild>
+ <ShouldTag>0</ShouldTag>
+ <ShouldForceTag>0</ShouldForceTag>
+ <ShouldPackage>1</ShouldPackage>
+ <ShouldForcePackage>0</ShouldForcePackage>
+ <ShouldIncrementBuildNumber>1</ShouldIncrementBuildNumber>
+ <ShouldPostToWeb>1</ShouldPostToWeb>
+ <ShouldOutputXML>1</ShouldOutputXML>
+ <ShouldUpdateVersionResources>1</ShouldUpdateVersionResources>
+ <ShouldCreateManifest>0</ShouldCreateManifest>
+ <ShouldEmailNotification>1</ShouldEmailNotification>
+ <ShouldSuppressBuildStartNotification>1</ShouldSuppressBuildStartNotification>
+ <ShouldCreateChangeLog>0</ShouldCreateChangeLog>
+ <ShouldUpdateChangeLogInfo>0</ShouldUpdateChangeLogInfo>
+ <ShouldForceUpdateChangeLogInfo>0</ShouldForceUpdateChangeLogInfo>
+</Build-Option-Doc>
+
diff --git a/Src/Mastering/Winamp/master_winamp_qa.xml b/Src/Mastering/Winamp/master_winamp_qa.xml
new file mode 100644
index 00000000..999e048d
--- /dev/null
+++ b/Src/Mastering/Winamp/master_winamp_qa.xml
@@ -0,0 +1,76 @@
+<!-- build.pl configuration file
+ See http://devguy.com/fp/cfgmgmt/tools/build-options-xml.txt
+
+ This compiles VC++ and vs.NET code (release and debug)
+-->
+
+<Build-Option-Doc>
+ <!--
+ File Paths
+ -->
+ <Sandbox>=$ENV{CURSANDBOX}</Sandbox>
+ <BuildModule>Winamp</BuildModule>
+ <ConfigMapFile>Mastering/Winamp/configmap.xml</ConfigMapFile>
+ <BuildFile>Mastering/Winamp/build_winamp_qa.xml</BuildFile>
+ <!--
+ Type of build
+ -->
+ <MajorBuildDescription>QA</MajorBuildDescription>
+ <BuildDescription>Build for QA.</BuildDescription>
+ <WebSubdir>qa</WebSubdir>
+ <!--
+ Which configuration(s) to build
+ -->
+ <Configuration>Win32 Profiling</Configuration>
+ <Param>/useenv</Param>
+ <!--
+ CVS tag/branch information
+ -->
+ <Branch/>
+ <BuildStamp/>
+ <TagOverride/>
+ <BuildStampPrefix>= $ENV{BRANDING} =~ m/NULLSOFT/ ? 'QA_' : 'QA_'.$ENV{BRANDING}.'_';</BuildStampPrefix>
+ <!--
+ Build statistics files
+ -->
+ <BuildNumberFile>Mastering/Winamp/buildnumber.h</BuildNumberFile>
+ <VersionFile>Mastering/Winamp/constants.h</VersionFile>
+ <ChangeLogInfoFile>Mastering/Winamp/build_stamp.txt</ChangeLogInfoFile>
+ <BuildEndFile>Mastering/Winamp/build_end.txt</BuildEndFile>
+ <!--
+ How to output HTML and targets
+ -->
+ <WebPath>d:\wwwroot\builds</WebPath>
+ <WebAddress>http://nulldev.stream.aol.com/builds</WebAddress>
+ <PackageDestination/>
+ <PackageURL/>
+ <!--
+ Who to notify via net send (use computer names)
+ -->
+ <NetNotify></NetNotify>
+ <!--
+ Who to notify via smtp email (use comma to separate) audiodsp@aol.com
+ -->
+ <SMTPNotify>barabanger@gmail.com,benski@winamp.com,dj_egg@winamp.com,jonathan.chester@corp.aol.com,chitra.a@corp.aol.com</SMTPNotify>
+ <!--
+ Run-Time Switches
+ -->
+ <ShouldCleanSandbox>0</ShouldCleanSandbox>
+ <ShouldGetSource>1</ShouldGetSource>
+ <ShouldBuild>1</ShouldBuild>
+ <ShouldTag>1</ShouldTag>
+ <ShouldForceTag>0</ShouldForceTag>
+ <ShouldPackage>1</ShouldPackage>
+ <ShouldForcePackage>0</ShouldForcePackage>
+ <ShouldIncrementBuildNumber>1</ShouldIncrementBuildNumber>
+ <ShouldPostToWeb>1</ShouldPostToWeb>
+ <ShouldOutputXML>1</ShouldOutputXML>
+ <ShouldUpdateVersionResources>1</ShouldUpdateVersionResources>
+ <ShouldCreateManifest>1</ShouldCreateManifest>
+ <ShouldEmailNotification>1</ShouldEmailNotification>
+ <ShouldSuppressBuildStartNotification>1</ShouldSuppressBuildStartNotification>
+ <ShouldCreateChangeLog>1</ShouldCreateChangeLog>
+ <ShouldUpdateChangeLogInfo>1</ShouldUpdateChangeLogInfo>
+ <ShouldForceUpdateChangeLogInfo>1</ShouldForceUpdateChangeLogInfo>
+</Build-Option-Doc>
+
diff --git a/Src/Mastering/Winamp/package_vc.xml b/Src/Mastering/Winamp/package_vc.xml
new file mode 100644
index 00000000..c45f97d3
--- /dev/null
+++ b/Src/Mastering/Winamp/package_vc.xml
@@ -0,0 +1,82 @@
+<Package-Doc>
+ <Module>
+ <Project>
+ <Source>
+ <Type>EXE</Type>
+ <Description>Installers</Description>
+ <Filespec>installer\winamp\w*.exe</Filespec>
+ <Destination>installer\</Destination>
+ <Zip>0</Zip>
+ </Source>
+ <Source>
+ <Type>EXE</Type>
+ <Description>Web Dev SDK</Description>
+ <Filespec>installer\webdev\*.exe</Filespec>
+ <Destination>installer\</Destination>
+ <Zip>0</Zip>
+ </Source>
+<!-- <Source>
+ <Type>EXE</Type>
+ <Description>Orgler plugin</Description>
+ <Filespec>installer\scrobbler\*.exe</Filespec>
+ <Destination>installer\</Destination>
+ <Zip>0</Zip>
+ </Source> -->
+<!--- <Source>
+ <Type>EXE</Type>
+ <Description>Orb Installer</Description>
+ <Filespec>installer\orb\*.exe</Filespec>
+ <Destination>installer\</Destination>
+ <Zip>0</Zip>
+ </Source> -->
+ <Source>
+ <Type>EXE</Type>
+ <Description>Winamp Detect</Description>
+ <Filespec>installer\browserplugin\installWaDetect*.exe</Filespec>
+ <Destination>installer\</Destination>
+ <Zip>0</Zip>
+ </Source>
+ <Source>
+ <Type>PDB files Release</Type>
+ <Description>All PDB files</Description>
+ <Filespec>*.pdb</Filespec>
+ <Destination>pdb\</Destination>
+ <KeepDirectoryStructure>0</KeepDirectoryStructure>
+ <Recursive>1</Recursive>
+ <Delete>vc??.pdb
+ <Recursive>1</Recursive>
+ </Delete>
+ <Zip>pdb.zip</Zip>
+ <Compression>9</Compression>
+ </Source>
+ <Source>
+ <Type>LIB files Release</Type>
+ <Description>All LIB files</Description>
+ <Filespec>*.lib</Filespec>
+ <Destination>lib\</Destination>
+ <!--<KeepDirectoryStructure>0</KeepDirectoryStructure>-->
+ <Recursive>1</Recursive>
+ <!--<Delete>vc??.pdb
+ <Recursive>1</Recursive>
+ </Delete>-->
+ <Zip>lib.zip</Zip>
+ <Compression>9</Compression>
+ </Source>
+ <Source>
+ <Type>Binaries</Type>
+ <Description>Winamp binaries</Description>
+ <Filespec>Output\winamp\*.*</Filespec>
+ <Destination>output\</Destination>
+ <Recursive>1</Recursive>
+ <Zip>binaries.zip</Zip>
+ <Compression>9</Compression>
+ </Source>
+ <Source>
+ <Type>WhatsNew</Type>
+ <Description>Versions History</Description>
+ <Filespec>resources\data\whatsnew.txt</Filespec>
+ <Zip>0</Zip>
+ </Source>
+ </Project>
+ </Module>
+</Package-Doc> \ No newline at end of file
diff --git a/Src/Mastering/Winamp/rebase.cmd b/Src/Mastering/Winamp/rebase.cmd
new file mode 100644
index 00000000..f73cfa0a
--- /dev/null
+++ b/Src/Mastering/Winamp/rebase.cmd
@@ -0,0 +1,3 @@
+cd /D %CURSANDBOX%\output\Winamp
+dir /b /s >files.txt
+rebase -b 7000000 @files.txt -l rebase.log \ No newline at end of file
diff --git a/Src/Mastering/Winamp/simple_sign.cmd b/Src/Mastering/Winamp/simple_sign.cmd
new file mode 100644
index 00000000..2510dace
--- /dev/null
+++ b/Src/Mastering/Winamp/simple_sign.cmd
@@ -0,0 +1,12 @@
+@echo off
+
+if not defined WAPROJECTS set WAPROJECTS=c:\projects
+if not defined CURSANDBOX set CURSANDBOX=%WAPROJECTS%
+
+set KEYFILE=%CURSANDBOX%\codesign\nullsoft_key_15_mar_2011_private.pfx
+%CURSANDBOX%\codesign\signtool.exe sign /p b05allisonZer0G /f "%KEYFILE%" /d %1 /du "http://www.winamp.com" /t http://timestamp.verisign.com/scripts/timstamp.dll /v %2
+SET errCode=%ERRORLEVEL%
+
+IF %errCode% NEQ 0 @echo SimpleSign Failed
+
+exit /B %errCode% \ No newline at end of file
diff --git a/Src/Mastering/Winamp/talkback.ini b/Src/Mastering/Winamp/talkback.ini
new file mode 100644
index 00000000..af5e27c6
--- /dev/null
+++ b/Src/Mastering/Winamp/talkback.ini
@@ -0,0 +1,141 @@
+; manifest.init;
+; WARNING - Do not edit this file. It will likely be overwritten if you do so.
+
+VendorID = "Nullsoft"
+ProductID = "Winamp"
+PlatformID = "Win32"
+BuildID = "2052"
+ManifestVersion = 0
+
+ApplicationName = "Winamp"
+
+DisableDontAsk = 0
+
+MaxTriggerCount = 1
+
+DisableSharedUI = 1
+
+DisableWizard = 0
+
+EnableSaveAs = 1
+
+KeyVetoDisabled = 0
+
+DisableSystemErrDlg = 1
+
+DisableSharedMainWindow = 1
+
+DisableSharedSendProgress = 1
+
+RestrictUserInterface = 1
+
+ServerCount = 1
+ServerAddress0 = 1, "http://aoldiag2.aol.com/spiral-bin/Collector.dll"
+
+
+NubCollectors = UIProcess, CommandLine, StackDump, ModuleList, MemoryStatus, ProcessList95, ProcessListNT, ExceptionType, Registers, PCMemory, PC, StackTrace, ThreadList95, ThreadListNT, ThreadRegisters, ThreadStackDump, ThreadIDList, ThreadIDTrigger, ThreadStackTrace, Trigger, TriggerTime
+UIProcess = 0xa000000f, "SWin32 UI Process"
+CommandLine = 0xa000000d, "SWin32 Command Line"
+StackDump = 0xa0000001, "SDump of Stack windows", 4096
+ModuleList = 0xa0000003, "SLoaded Module list Win32"
+MemoryStatus = 0xa000000b, "SWin32 MEMORYSTATUS struct"
+ProcessList95 = 0xa0000009, "SWindows 95 process list"
+ProcessListNT = 0xa0000007, "SWindows NT process list"
+ExceptionType = 0xa0000004, "SWin32 Processor exception type"
+Registers = 0xa0000000, "SWin32 x86 registers"
+PCMemory = 0xa000000a, "SCode memory windows", 32, 64
+PC = 0xa0000002, "SPC at time of crash"
+StackTrace = 0xa0000005, "SWin32 stack trace"
+ThreadList95 = 0xa0000008, "SWindows 95 thread list"
+ThreadListNT = 0xa0000006, "SWindows NT thread list"
+ThreadRegisters = 0xa0000010, "SWin32 x86 thread registers"
+ThreadStackDump = 0xa0000011, "SStack dump thread"
+ThreadIDList = 0xa0000013, "SWin32 thread id list"
+ThreadIDTrigger = 0xa0000014, "SWin32 trigger thread id"
+ThreadStackTrace = 0xa0000012, "SWin32 thread stack trace"
+Trigger = 0x80000000, "STrigger Event"
+TriggerTime = 0x80000001, "SNub trigger event time"
+
+TransceiverCollectors5 = MemoryStatus,XcvrProcessList95,XcvrProcessListNT
+XcvrProcessList95 = 0x3000000e, "SWindows 95 process list"
+XcvrProcessListNT = 0x3000000f, "SWindows NT process list"
+
+TransceiverCollectors = ModuleListInfo, ModuleListInfoEx, Win32ProcessListVersionInfo, CollectionFrequency, DriveList, ScreenInfo, NetworkCard, ProcessorVendor, ProcessorFeature, ProcessorSpeed, SysInfo, OEMMachineManufacturer, OEMMachineModel, Win95Hardware, WinNTDevices, NTDisplayInfo, WinPrintDrivers, WinPrinters, WinNTServices, GetWindowsVersionEx, WinLocale, ManifestVersionColl, DeploymentIDColl, VendorIDColl, ProductIDColl, PlatformIDColl, BuildIDColl, Platform
+ModuleListInfo = 0x3000000b, "SWin32 module list info"
+ModuleListInfoEx = 0x30000016, "SWin32 module list info ex"
+Win32ProcessListVersionInfo = 0x30000019, "SWin32 Process list version"
+CollectionFrequency = 0x3000001b, "SCollection Frequency"
+DriveList = 0x30000006, "SWin32 Drive Info"
+ScreenInfo = 0x3000000c, "SWindows Screen Info"
+NetworkCard = 0x30000007, "SWin32 NIC info"
+ProcessorVendor = 0x30000012, "SIntel Processor Vendor"
+ProcessorFeature = 0x30000013, "SIntel Processor Features"
+ProcessorSpeed = 0x3000000d, "SIntel Processor Speed"
+SysInfo = 0x30000005, "SWin32 SYSTEM_INFO struct"
+OEMMachineManufacturer = 0x30000017, "SWin32 Machine Manufacturer"
+OEMMachineModel = 0x30000018, "SWin32 Machine Model"
+Win95Hardware = 0x30000008, "SWin95 Hardware"
+WinNTDevices = 0x30000009, "SWinNT device list", 1
+NTDisplayInfo = 0x3000000a, "SWinNT display info"
+WinPrintDrivers = 0x30000014, "SWin32 Print Drivers"
+WinPrinters = 0x30000015, "SWin32 Printers"
+WinNTServices = 0x30000009, "SWinNT service list"
+GetWindowsVersionEx = 0x30000001, "SWindows GetVersionEx"
+WinLocale = 0x3000001a, "SWindows Locale"
+ManifestVersionColl = 1, "SManifest ver transceiver init"
+DeploymentIDColl = 2, "SDeployment ID", 1
+VendorIDColl = 2, "SVendor ID", 2
+ProductIDColl = 2, "SProduct ID", 3
+PlatformIDColl = 2, "SPlatform ID", 4
+BuildIDColl = 2, "SBuild ID", 5
+Platform = 3, "SPlatform Identifier", 0x30000000
+
+UIControls = 0, UIlmntExplainAgent, UIlmntExplainProcess, UIlmntEmail, UIlmntUserComments, UIlmntAOLLOGO, UIlmntBRANDLOGO, UIlmntBRANDWIZARD
+UIlmntABOUTLOGO = 10, 160, 160, 0, 0, ABOUTLOGO
+UIlmntExplainAgent = 1, 100, 7, 217, 24, "The Winamp Quality Feedback Agent has captured information that Nullsoft needs to help improve the product's quality."
+UIlmntExplainProcess = 1, 100, 39, 217, 24, "Enter your email address (optional), describe how you were using the product (optional), then click Send."
+UIlmntEmail = 2, 100, 63, 217, 20, "SUser email address", "Your Email Address (optional):", 0, 1, 1, 255
+UIlmntUserComments = 3, 100, 88, 217, 48, "SUser Comments", "Describe what you were doing when the product failed (optional):", 4, 0
+UIlmntSupport = 7, 140, 144, 177, 8, http://www.supportsoft.com, "Talkback is a trademark of", Supportsoft, ". ", 0, 0
+UIlmntAOLLOGO = 10, 7, 7, 0, 0, AOLLOGO
+UIlmntBRANDLOGO = 10, 7, 7, 0, 0, BRANDLOGO
+UIlmntBRANDWIZARD = 10, 7, 7, 0, 0, BRANDWIZARD
+
+
+
+
+TraceConfig = 128, 0, 20
+
+AssertConfig = 0, 20, 0
+
+TraceParamTrackCount = 32
+
+AssertParamTrackCount = 32
+
+MaxBoxAge = 259200
+
+RandomFilter = 100, 100
+
+APIErrorConfig = 0, 20
+
+FullCircleURL0 = 0, 0, "http://www.supportsoft.com/"
+
+; deprecated user interface preferences normally disabled
+DisableUI = 1
+DisableMainWindow = 1
+DisableSendProgress = 1
+
+<custom>
+HowManyWizardPages = 1
+WizardControls1 = 0, Wiz1VendorLogo, Wiz1DescribeAgent, Wiz3MoreInfo, Wiz3PrivacyPolicy
+Wiz1VendorLogo = 10, 7, 7, 0, 0, BRANDLOGO
+Wiz1DescribeAgent = 1, 94, 7, 200, 40, ""
+Wiz3MoreInfo = 1, 94, 61, 200, 8, ""
+Wiz3PrivacyPolicy = 7, 95, 70, 200, 8, "http://www.winamp.com/legal/privacy", "", "", "", 0, 0
+Wiz1Support = 7, 94, 118, 200, 8, "http://www.supportsoft.com/", "", "", "", 0, 0
+DSRSearchPatterns = DSRVendorName=[%Vendor%], DSRProductName=[%Product%]
+DSRVendorName = Nullsoft
+DSRProductName = Winamp
+UILocaleSearchPath = locale/%s_%c/, locale/%s/
+</custom>
+
diff --git a/Src/Mastering/master_winamp.cmd b/Src/Mastering/master_winamp.cmd
new file mode 100644
index 00000000..9ddd2206
--- /dev/null
+++ b/Src/Mastering/master_winamp.cmd
@@ -0,0 +1,258 @@
+@echo off
+
+if %1()==() goto help
+if %1==BETA goto start
+if %1==QA goto start
+if %1==FINAL goto start
+if %1==NIGHT goto start
+goto end
+
+:start
+
+
+echo Configuring Kerberos...
+call "d:\kerblogin\kerblogin.cmd"
+
+
+if %1==QA SET BUILDTYPE=qa
+if %1==BETA SET BUILDTYPE=beta
+if %1==FINAL SET BUILDTYPE=final
+if %1==NIGHT SET BUILDTYPE=night
+
+echo Setting VC 9.0 environments...
+call "C:\Program Files\Intel\IPP\6.1.3.047\ia32\tools\env\ippenv.bat"
+call %DXSDK_DIR%\Utilities\Bin\dx_setenv.cmd x86
+REM call "D:\SDKs\Windows\v7.0\Bin\SetEnv.cmd" /XP /Release
+call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
+if NOT %1==FINAL set LINK=%LINK% /DEBUG
+set CL=%CL% /D_CRT_SECURE_NO_WARNINGS
+set PATH=%path%;C:\program files\nsis\unicode
+
+SET TARGET_ARCH=x86
+if %3()==() goto skip64
+if %3==x86 goto skip64
+SET TARGET_ARCH=x64
+call "D:\SDKs\Windows\v7.0\Bin\setenv.cmd" /x64 /release
+call "d:\dxsdk\dx_setenv.cmd" AMD64
+set CL=%CL% /GS- /I "d:\dxsdk\Include"
+set LINK=%LINK% /machine:AMD64
+goto skip32
+:skip64
+REM call "D:\SDKs\Windows\v7.0\Bin\SetEnv.cmd" /XP /Release
+
+:skip32
+
+title Nullsoft Winamp build script -= %1 =-
+
+if NOT %2()==() SET BRANDING=%2
+if NOT DEFINED BRANDING SET BRANDING=NULLSOFT
+
+echo BRANDING=%BRANDING%
+
+
+echo Preparing folders...
+if exist ts.txt del ts.txt
+nstimestamp\nstimestamp>ts.txt
+set /p TIMESTAMP=<ts.txt
+del ts.txt
+
+f:
+cd \
+set SANDBOX=f:\sandbox
+set CURSANDBOX=%SANDBOX%\%TIMESTAMP%
+echo Using %CURSANDBOX% for Sandbox
+set PROGRAMFILES=%CURSANDBOX%\Output
+set ROOTDIR=%CURSANDBOX%
+
+if NOT exist "%SANDBOX%" mkdir "%SANDBOX%"
+if errorlevel 1 goto SANDBOX_ERROR
+
+if exist "%CURSANDBOX%" rd /s /q "%CURSANDBOX%"
+mkdir "%CURSANDBOX%"
+if errorlevel 1 goto SANDBOX_ERROR
+
+if exist "%PROGRAMFILES%" rd /s /q "%PROGRAMFILES%"
+mkdir "%PROGRAMFILES%"
+if errorlevel 1 goto SANDBOX_ERROR
+
+SET INSTALLER_LANG=Mastering\Winamp\installer_%BUILDTYPE%.lang
+SET INSTALLER_CONFIG=Mastering\Winamp\installer_%BUILDTYPE%.config
+
+
+echo Retrieving mastering scripts from cvs...
+
+if "%TARGET_ARCH%"=="x64" goto master64
+echo using x86 mastering script
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\master_winamp_%BUILDTYPE%.xml" >nul
+if errorlevel 1 goto CVS_ERROR_1
+goto master86
+:master64
+echo using x64 mastering script
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\master_winamp_%BUILDTYPE%_x64.xml" >nul
+if errorlevel 1 goto CVS_ERROR_1
+:master86
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_winamp_%BUILDTYPE%.xml" >nul
+if errorlevel 1 goto CVS_ERROR_2
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\configmap.xml" >nul
+if errorlevel 1 goto CVS_ERROR_3
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\version_%BUILDTYPE%.info" >nul
+if errorlevel 1 goto CVS_ERROR_4
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\VerCtrl\verctrl.exe" >nul
+if errorlevel 1 goto CVS_ERROR_5
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\constants.h" >nul
+if errorlevel 1 goto CVS_ERROR_6
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\buildnumber.h" >nul
+if errorlevel 1 goto CVS_ERROR_7
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\talkback.ini" >nul
+if errorlevel 1 goto CVS_ERROR_7
+if NOT %1==NIGHT cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\set_tags_%BUILDTYPE%.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_8
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\fileNames.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_9
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_installer.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_10
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_wbm.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_10
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\rebase.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_10
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_webdev.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_10
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_orb.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_10
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_wadetect.cmd" >nul
+if errorlevel 1 goto CVS_ERROR_10
+cvs checkout -N -d "%CURSANDBOX%" "%INSTALLER_LANG%" >nul
+if errorlevel 1 goto CVS_ERROR_11
+cvs checkout -N -d "%CURSANDBOX%" "%INSTALLER_CONFIG%" >nul
+if errorlevel 1 goto CVS_ERROR_12
+
+cvs checkout -N -d "%CURSANDBOX%" "codesign\signcode-pwd.exe" >nul
+cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\simple_sign.cmd" >nul
+
+f:
+cd \
+echo Patching version number...
+cd "%CURSANDBOX%\Mastering\Winamp"
+copy "version_%BUILDTYPE%.info" "version.info"
+for /f "tokens=1-3" %%a in (version.info) do set %%a%%b%%c
+cd "%CURSANDBOX%\Mastering\VerCtrl"
+verctrl.exe %1 %BRANDING% INC > nul
+SET ERRORLEVEL=0
+
+cd "%CURSANDBOX%\Mastering\Winamp"
+cvs commit -m"version patch" "constants.h" > nul
+if errorlevel 1 goto CVS_ERROR_COMMIT
+
+if NOT %1==NIGHT echo Setting Tags...
+if NOT %1==NIGHT call "%CURSANDBOX%\Mastering\Winamp\set_tags_%BUILDTYPE%.cmd"
+if errorlevel 1 goto SET_TAGS_ERROR
+
+SET GIT_ASK_YESNO=false
+git clone -b "%REPLICANT_GIT_BRANCH%" ssh://winamp@git.cm.aol.com/nullsoft/replicant.git "%CURSANDBOX%\replicant"
+if errorlevel 1 goto GIT_ERROR
+
+echo Setting Installer names...
+call "%CURSANDBOX%\Mastering\Winamp\fileNames.cmd"
+if errorlevel 1 goto SET_FILENAMES
+
+if %1==QA echo Starting mastering script (build type: QA)
+if %1==BETA echo Starting mastering script (build type: BETA)...
+if %1==NIGHT echo Starting mastering script (build type: NIGHT)...
+if %1==FINAL echo Starting mastering script (build type: FINAL)...
+
+if "%TARGET_ARCH%"=="x64" goto build64
+perl -S dgbuild.pl master_winamp_%BUILDTYPE%.xml > nul
+goto build86
+:build64
+perl -S dgbuild.pl master_winamp_%BUILDTYPE%_x64.xml > nul
+:build86
+
+
+if errorlevel 1 goto BUILD_ERROR
+
+echo Build done. Check http://nulldev.stream.aol.com/builds/default.asp for result.
+goto END
+
+:SANDBOX_ERROR
+echo Error!!! Unable to prepare folder '%CURSANDBOX%'
+goto END
+
+:OUTPUT_ERROR
+echo Error!!! Unable to prepare folder '%PROGRAMFILES%'
+goto END
+
+:CVS_ERROR_LOGIN
+echo Error!!! Unable to login into the cvs
+goto END
+
+:CVS_ERROR_1
+echo Error!!! Unable to checkout 'Mastering/Winamp/master_winamp.xml'
+goto END
+
+:CVS_ERROR_2
+echo Error!!! Unable to checkout 'Mastering/Winamp/build_winamp.xml'
+goto END
+
+:CVS_ERROR_3
+echo Error!!! Unable to checkout 'Mastering/Winamp/configmap.xml'
+goto END
+
+:CVS_ERROR_4
+echo Error!!! Unable to checkout 'Mastering/Winamp/version.info'
+goto END
+
+:CVS_ERROR_5
+echo Error!!! Unable to checkout 'Mastering/Winamp/verctrl.exe'
+goto END
+
+:CVS_ERROR_6
+echo Error!!! Unable to checkout 'Mastering/Winamp/constants.h'
+goto END
+
+:CVS_ERROR_7
+echo Error!!! Unable to checkout 'Mastering/Winamp/buildnumber.h'
+goto END
+
+:CVS_ERROR_8
+echo Error!!! Unable to checkout 'Mastering/Winamp/set_tags_%BUILDTYPE%.cmd'
+goto END
+
+:CVS_ERROR_9
+echo Error!!! Unable to checkout 'Mastering/Winamp/fileNames.cmd'
+goto END
+:CVS_ERROR_10
+echo Error!!! Unable to checkout 'Mastering/Winamp/build_installer.cmd'
+goto END
+:CVS_ERROR_11
+echo Error!!! Unable to checkout 'Mastering/Winamp/%INSTALLER_LANG%'
+goto END
+:CVS_ERROR_12
+echo Error!!! Unable to checkout 'Mastering/Winamp/%INSTALLER_CONFIG%'
+goto END
+
+:CVS_ERROR_COMMIT
+echo Error!!! Unable to commit 'Mastering/Winamp/constants.h'
+goto END
+
+:SET_TAGS_ERROR
+echo Error!!! Unable to set tags.
+goto END
+
+:SET_FILENAMES
+echo Error!!! Unable to set installer file names.
+goto END
+
+:BUILD_ERROR
+echo Error!!! Build error.
+goto END
+
+:help
+echo Specify build type (BETA, NIGHT, FINAL, QA)
+goto end
+
+:GIT_ERROR
+echo Error!!! Unable to clone git repository
+goto END
+
+:END
+exit \ No newline at end of file