Compare commits
No commits in common. "71af5146420ec8165136feb48964559687200142" and "4e71a26a14c91dad9a35d342a78b64df1c3ed3c9" have entirely different histories.
71af514642
...
4e71a26a14
|
@ -1,4 +1,4 @@
|
|||
# Winamp Collaborative License (WCL) Version 1.0.1
|
||||
# Winamp Collaborative License (WCL) Version 1.0
|
||||
|
||||
This License governs the use, modification, and distribution of the Winamp software.
|
||||
By using, Modifying, or distributing this software, you agree to the following terms:
|
||||
|
@ -30,6 +30,7 @@ You are granted the right to Modify the software for private use only. You may m
|
|||
|
||||
### 5. Restrictions
|
||||
- No Distribution of Modified Versions: You may not distribute modified versions of the software, whether in source or binary form.
|
||||
- No Forking: You may not create, maintain, or distribute a forked version of the software.
|
||||
- Official Distribution: Only the maintainers of the official repository are allowed to distribute the software and its modifications.
|
||||
|
||||
### 6. No Sublicensing
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
32
README.md
32
README.md
|
@ -11,42 +11,40 @@ It really whips the llama's ass.
|
|||
Building of the Winamp desktop client is currently based around Visual Studio 2019 (VS2019) and Intel IPP libs (You need to use exactly v6.1.1.035).
|
||||
There are different options of how to build Winamp:
|
||||
|
||||
1. Use the `build_winampAll_2019.cmd` script file that makes 4 versions x86/x64 (Debug and Release). In this case Visual Studio IDE not running.
|
||||
2. Use the `winampAll_2019.sln` file to build and debug in Visual Studio IDE.
|
||||
1. Use a build_winampAll_2019.cmd script file that makes 4 versions x86/x64 (Debug and Release). In this case Visual Studio IDE not running.
|
||||
2. Use a winampAll_2019.sln file to build and debug in Visual Studio IDE.
|
||||
|
||||
### Dependencies
|
||||
|
||||
1. Use the `build_winampAll_2019.cmd` script file that makes 4 versions x86/x64 (Debug and Release). In this case Visual Studio IDE not running.
|
||||
2. Use the `winampAll_2019.sln` file to build and debug in Visual Studio IDE.
|
||||
1. Use a build_winampAll_2019.cmd script file that makes 4 versions x86/x64 (Debug and Release). In this case Visual Studio IDE not running.
|
||||
2. Use a winampAll_2019.sln file to build and debug in Visual Studio IDE.
|
||||
|
||||
#### libvpx
|
||||
We take libvpx from [https://github.com/ShiftMediaProject/libvpx]([url](https://github.com/ShiftMediaProject/libvpx)), modify it and pack to archive.
|
||||
Run `unpack_libvpx_v1.8.2_msvc16.cmd` to unpack.
|
||||
We take libvpx from https://github.com/ShiftMediaProject/libvpx, modify it and pack to archive.
|
||||
Run unpack_libvpx_v1.8.2_msvc16.cmd to unpack.
|
||||
|
||||
#### libmpg123
|
||||
We take libmpg123 from [https://www.mpg123.de/download.shtml]([url](https://www.mpg123.de/download.shtml)), modify it and pack to archive.
|
||||
Run `unpack_libmpg123.cmd` to unpack and process dlls.
|
||||
We take libmpg123 from https://www.mpg123.de/download.shtml, modify it and pack to archive.
|
||||
Run unpack_libmpg123.cmd to unpack and process dlls.
|
||||
|
||||
#### OpenSSL
|
||||
You need to use `openssl-1.0.1u`. For that you need to build a static version of these libs.
|
||||
Run `build_vs_2019_openssl_x86.cmd` and `build_vs_2019_openssl_64.cmd`.
|
||||
You need to use openssl-1.0.1u. For that you need to build a static version of these libs.
|
||||
Run build_vs_2019_openssl_x86.cmd and build_vs_2019_openssl_64.cmd.
|
||||
|
||||
To build OpenSSL you need to install
|
||||
|
||||
* 7-Zip
|
||||
* NASM
|
||||
* Perl
|
||||
7-Zip, NASM and Perl.
|
||||
|
||||
#### DirectX 9 SDK
|
||||
We take DirectX 9 SDK (June 2010) from Microsoft, modify it and pack to archive.
|
||||
Run `unpack_microsoft_directx_sdk_2010.cmd` to unpack it.
|
||||
Run unpack_microsoft_directx_sdk_2010.cmd to unpack it.
|
||||
|
||||
#### Microsoft ATLMFC lib fix
|
||||
In file `C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\atlmfc\include\atltransactionmanager.h`
|
||||
In file C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\atlmfc\include\atltransactionmanager.h
|
||||
|
||||
Go to line 427 and change from `return ::DeleteFile((LPTSTR)lpFileName);` to `return DeleteFile((LPTSTR)lpFileName);`
|
||||
goto line 427 and change from 'return ::DeleteFile((LPTSTR)lpFileName);' to 'return DeleteFile((LPTSTR)lpFileName);'
|
||||
|
||||
#### Intel IPP 6.1.1.035
|
||||
We take Intel IPP 6.1.1.035, modify it and pack to archive.
|
||||
|
||||
Run `unpack_intel_ipp_6.1.1.035.cmd` to unpack it.
|
||||
Run unpack_intel_ipp_6.1.1.035.cmd to unpack it.
|
||||
|
|
|
@ -1,2 +1,693 @@
|
|||
// disabled 30 May 2012 as per email from Tejas w.r.t. to Rovi deal ending
|
||||
#if 0
|
||||
#include "main.h"
|
||||
#include "../nu/AutoUrl.h"
|
||||
#include "../nu/AutoWide.h"
|
||||
#include "../nu/GrowBuf.h"
|
||||
#include "api.h"
|
||||
#include "../xml/obj_xml.h"
|
||||
#include "../xml/ifc_xmlreadercallback.h"
|
||||
#include "..\Components\wac_network\wac_network_http_receiver_api.h"
|
||||
#include <api/service/waservicefactory.h>
|
||||
#include <api/service/svcs/svc_imgload.h>
|
||||
#include "XMLString.h"
|
||||
#include <tataki/export.h>
|
||||
#include <tataki/bitmap/bitmap.h>
|
||||
#include <tataki/canvas/bltcanvas.h>
|
||||
#include <strsafe.h>
|
||||
|
||||
static INT_PTR CALLBACK artDownloader(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam);
|
||||
static INT_PTR CALLBACK scrollChildHostProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam);
|
||||
static INT_PTR CALLBACK scrollChildProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam);
|
||||
static INT_PTR CALLBACK imageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam);
|
||||
|
||||
#define HTTP_BUFFER_SIZE 32768
|
||||
|
||||
#define WM_ADDCHILD WM_USER+0
|
||||
#define WM_SELECTED WM_USER+1
|
||||
#define WM_UPDATESTATUS WM_USER+2
|
||||
#define AddImageToList(hChild, param) SendMessageW(hChild,WM_ADDCHILD,0,(LPARAM)param)
|
||||
#define GetParam(hwndDlg) (ArtParser*)GetWindowLongPtrW(hwndDlg,GWLP_USERDATA)
|
||||
#define GetParamC(hwndDlg) (ImgDownloader*)GetWindowLongPtrW(hwndDlg,GWLP_USERDATA)
|
||||
#define UpdateStatus(hwndDlg) PostMessageW(hwndDlg,WM_UPDATESTATUS,0,0)
|
||||
|
||||
class ImgDownloader
|
||||
{
|
||||
public:
|
||||
ImgDownloader(const wchar_t *_desc, const char *_url) : done(false), http(0), started(false), error(false), imgbuf(0), imgbufsize(0), imgbufused(0)
|
||||
{
|
||||
desc = _wcsdup(_desc);
|
||||
url = _strdup(_url);
|
||||
}
|
||||
~ImgDownloader()
|
||||
{
|
||||
free(desc);
|
||||
free(url);
|
||||
free(imgbuf);
|
||||
waServiceFactory *httpFactory = WASABI_API_SVC->service_getServiceByGuid(httpreceiverGUID);
|
||||
if(httpFactory && http)
|
||||
httpFactory->releaseInterface(http);
|
||||
}
|
||||
bool run();
|
||||
|
||||
wchar_t *desc;
|
||||
char *url;
|
||||
bool done, error;
|
||||
api_httpreceiver *http;
|
||||
|
||||
BYTE *imgbuf;
|
||||
int imgbufsize;
|
||||
int imgbufused;
|
||||
private:
|
||||
bool started;
|
||||
};
|
||||
|
||||
class ArtParser : public ifc_xmlreadercallback
|
||||
{
|
||||
public:
|
||||
ArtParser(artFetchData * data);
|
||||
~ArtParser();
|
||||
|
||||
wchar_t curAlbumStr[512] = {0};
|
||||
void ArtParser::StartTag(const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params);
|
||||
void ArtParser::TextHandler(const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *str);
|
||||
|
||||
int run();
|
||||
|
||||
artFetchData * data;
|
||||
|
||||
bool doneXML;
|
||||
int curImage, numImages, failedImages;
|
||||
|
||||
bool error;
|
||||
HWND hwndDlg;
|
||||
obj_xml *parser;
|
||||
waServiceFactory *parserFactory, *httpFactory;
|
||||
api_httpreceiver *http;
|
||||
std::vector<ImgDownloader*> imgDownload;
|
||||
|
||||
protected:
|
||||
#define CBCLASS ArtParser
|
||||
START_DISPATCH_INLINE;
|
||||
VCB(ONSTARTELEMENT, StartTag);
|
||||
VCB(ONCHARDATA, TextHandler);
|
||||
END_DISPATCH;
|
||||
#undef CBCLASS
|
||||
};
|
||||
|
||||
wchar_t tmp_album[512] = {0}, tmp_artist[512] = {0}, tmp_year[5] = {0};
|
||||
int RetrieveAlbumArt(artFetchData * data)
|
||||
{
|
||||
if(!data || data->size < sizeof(artFetchData))
|
||||
return 1;
|
||||
|
||||
int ret = 1;
|
||||
Tataki::Init(serviceManager);
|
||||
{
|
||||
ArtParser param(data);
|
||||
if(!param.error)
|
||||
ret = LPDialogBoxParamW(IDD_ARTDOWNLOADER,data->parent,artDownloader,(LPARAM)¶m);
|
||||
|
||||
while (ret == 2) // Keep in loop till user aborts custom search
|
||||
{
|
||||
// TODO: benski> maybe we should save the old values and restore at the end
|
||||
data->album = tmp_album;
|
||||
data->artist = tmp_artist;
|
||||
data->year = _wtoi(tmp_year);
|
||||
// Martin> we should also set the other values back to null
|
||||
// benski> i'm not sure if we want to set these id fields to NULL
|
||||
// but we'll go with it for now
|
||||
data->amgAlbumId = NULL;
|
||||
data->amgArtistId = NULL;
|
||||
data->gracenoteFileId = NULL;
|
||||
WASABI_API_MEMMGR->sysFree(data->imgData);
|
||||
data->imgData = NULL;
|
||||
data->imgDataLen = NULL;
|
||||
|
||||
ArtParser param(data);
|
||||
ret = LPDialogBoxParamW(IDD_ARTDOWNLOADER,data->parent,artDownloader,(LPARAM)¶m);
|
||||
}
|
||||
}
|
||||
Tataki::Quit();
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define USER_AGENT_SIZE (10 /*User-Agent*/ + 2 /*: */ + 6 /*Winamp*/ + 1 /*/*/ + 1 /*5*/ + 3/*.21*/ + 1 /*Null*/)
|
||||
static void SetUserAgent(api_httpreceiver *http)
|
||||
{
|
||||
char user_agent[USER_AGENT_SIZE] = {0};
|
||||
StringCchCopyA(user_agent, USER_AGENT_SIZE, "User-Agent: Winamp/"APP_VERSION); // as a nice side effect, this will cut off any extra digits after the first two. e.g. 5.111 becomes 5.11
|
||||
http->addheader(user_agent);
|
||||
}
|
||||
|
||||
class UrlBuilder : private GrowBuf
|
||||
{
|
||||
public:
|
||||
UrlBuilder(const char * base) : first(1) { set(base); }
|
||||
~UrlBuilder(){}
|
||||
void AddParam(const char * key, const wchar_t * value) { AddParamI(key,(char*)AutoUrl(value)); }
|
||||
void AddParam(const char * key, int value) { char buf[16]; StringCchPrintfA(buf,16,"%d",value); AddParamI(key,buf); }
|
||||
void Finish() { GrowBuf::add((void*)"",1); }
|
||||
const char * Get() { return (const char*)get(); } // don't call this without first calling finish!
|
||||
private:
|
||||
void AddParamI(const char * key, const char * value) { if(first){ first=0; add("?");} else add("&"); add(key); add("="); add(value); }
|
||||
void add(const char * x) { GrowBuf::add((char*)x,strlen(x)); }
|
||||
void set(const char * x) { GrowBuf::set((char*)x,strlen(x)); }
|
||||
int first;
|
||||
};
|
||||
|
||||
static wchar_t* format(const wchar_t *in, wchar_t *buf, int len)
|
||||
{
|
||||
wchar_t *p = buf;
|
||||
int inbracket = 0;
|
||||
while(in && *in)
|
||||
{
|
||||
if(p >= buf + len - 1) break;
|
||||
else if(*in == L'[' || *in == L'(' || *in == L'<') inbracket++;
|
||||
else if(*in == L']' || *in == L')' || *in == L'>') inbracket--;
|
||||
else if(!inbracket) *(p++) = *in;
|
||||
in++;
|
||||
}
|
||||
*p=0;
|
||||
return buf;
|
||||
}
|
||||
|
||||
ArtParser::ArtParser(artFetchData * data) : data(data), error(false), parserFactory(0), parser(0), http(0), httpFactory(0), doneXML(false), curImage(0), numImages(0), failedImages(0)
|
||||
{
|
||||
curAlbumStr[0]=0;
|
||||
|
||||
parserFactory = WASABI_API_SVC->service_getServiceByGuid(obj_xmlGUID);
|
||||
if (parserFactory)
|
||||
parser = (obj_xml *)parserFactory->getInterface();
|
||||
|
||||
if (parser)
|
||||
{
|
||||
parser->xmlreader_registerCallback(L"document\fartwork", this);
|
||||
parser->xmlreader_registerCallback(L"response\fdata\fartwork", this);
|
||||
parser->xmlreader_open();
|
||||
}
|
||||
else
|
||||
{
|
||||
error=true;
|
||||
return;
|
||||
}
|
||||
|
||||
// construct xml url
|
||||
UrlBuilder url("http://client.winamp.com/metadata/artwork.php");
|
||||
|
||||
wchar_t temp[2048] = {0};
|
||||
|
||||
if(data->artist && data->artist[0] && _wcsicmp(data->artist, L"Various Artists") && _wcsicmp(data->artist, L"VA") && _wcsicmp(data->artist, L"OST"))
|
||||
url.AddParam("artist",format(data->artist,temp,2048));
|
||||
|
||||
if(data->album && data->album[0])
|
||||
url.AddParam("album",format(data->album,temp,2048));
|
||||
|
||||
if(data->year)
|
||||
url.AddParam("recorddate",data->year);
|
||||
|
||||
if(data->amgAlbumId)
|
||||
url.AddParam("amgalbumid",data->amgAlbumId);
|
||||
|
||||
if(data->amgArtistId)
|
||||
url.AddParam("amgartistid",data->amgArtistId);
|
||||
|
||||
if(data->gracenoteFileId && data->gracenoteFileId[0])
|
||||
url.AddParam("tagid",data->gracenoteFileId);
|
||||
|
||||
url.Finish();
|
||||
|
||||
httpFactory = WASABI_API_SVC->service_getServiceByGuid(httpreceiverGUID);
|
||||
if(httpFactory) http = (api_httpreceiver *)httpFactory->getInterface();
|
||||
|
||||
if(http)
|
||||
{
|
||||
http->AllowCompression();
|
||||
http->open(API_DNS_AUTODNS, HTTP_BUFFER_SIZE, config_proxy);
|
||||
SetUserAgent(http);
|
||||
http->connect(url.Get());
|
||||
}
|
||||
else error = true;
|
||||
}
|
||||
|
||||
ArtParser::~ArtParser()
|
||||
{
|
||||
imgDownload.deleteAll();
|
||||
if(parser)
|
||||
{
|
||||
parser->xmlreader_unregisterCallback(this);
|
||||
parser->xmlreader_close();
|
||||
if(parserFactory)
|
||||
parserFactory->releaseInterface(parser);
|
||||
}
|
||||
parser = 0;
|
||||
parserFactory = 0;
|
||||
if(http && httpFactory)
|
||||
httpFactory->releaseInterface(http);
|
||||
http = 0;
|
||||
httpFactory = 0;
|
||||
}
|
||||
|
||||
void ArtParser::StartTag(const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params)
|
||||
{
|
||||
const wchar_t* artist = params->getItemValue(L"amgArtistDispName");
|
||||
const wchar_t* album = params->getItemValue(L"amgDispName");
|
||||
const wchar_t* year = params->getItemValue(L"recordDate");
|
||||
StringCchPrintfW(curAlbumStr,512,L"%s - %s (%s)",artist?artist:L"",album?album:L"",year?year:L"");
|
||||
}
|
||||
|
||||
void ArtParser::TextHandler(const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *str)
|
||||
{
|
||||
numImages++;
|
||||
imgDownload.push_back(new ImgDownloader(curAlbumStr,AutoChar(str)));
|
||||
UpdateStatus(hwndDlg);
|
||||
}
|
||||
|
||||
int ArtParser::run()
|
||||
{
|
||||
int ret = http->run();
|
||||
if (ret == -1) // connection failed
|
||||
{
|
||||
error=true;
|
||||
UpdateStatus(hwndDlg);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int replycode = http->getreplycode();
|
||||
switch (replycode)
|
||||
{
|
||||
case 0:
|
||||
case 100:
|
||||
return 1;
|
||||
case 200:
|
||||
{
|
||||
char downloadedData[HTTP_BUFFER_SIZE] = {0};
|
||||
int xmlResult = API_XML_SUCCESS;
|
||||
int downloadSize = http->get_bytes(downloadedData, HTTP_BUFFER_SIZE);
|
||||
if(downloadSize)
|
||||
xmlResult = parser->xmlreader_feed((void *)downloadedData, downloadSize);
|
||||
else if(!downloadSize && ret == 1)
|
||||
{ // we're finished!
|
||||
xmlResult = parser->xmlreader_feed(0,0);
|
||||
doneXML=true;
|
||||
UpdateStatus(hwndDlg);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
error=true;
|
||||
UpdateStatus(hwndDlg);
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool ImgDownloader::run()
|
||||
{
|
||||
if(!started)
|
||||
{
|
||||
started = true;
|
||||
waServiceFactory *httpFactory = WASABI_API_SVC->service_getServiceByGuid(httpreceiverGUID);
|
||||
if(httpFactory) http = (api_httpreceiver *)httpFactory->getInterface();
|
||||
if(http)
|
||||
{
|
||||
http->open(API_DNS_AUTODNS, HTTP_BUFFER_SIZE, config_proxy);
|
||||
SetUserAgent(http);
|
||||
http->connect(url);
|
||||
}
|
||||
imgbuf = (BYTE*)malloc(HTTP_BUFFER_SIZE);
|
||||
imgbufsize = HTTP_BUFFER_SIZE;
|
||||
}
|
||||
if(!http || !imgbuf)
|
||||
{
|
||||
error=true;
|
||||
return 0;
|
||||
}
|
||||
int ret = http->run();
|
||||
if(ret == -1) //error
|
||||
{
|
||||
error=true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int replycode = http->getreplycode();
|
||||
switch (replycode)
|
||||
{
|
||||
case 0:
|
||||
case 100:
|
||||
return 1;
|
||||
case 200:
|
||||
{
|
||||
int downloadSize = http->get_bytes(imgbuf+imgbufused, imgbufsize - imgbufused);
|
||||
imgbufused += downloadSize;
|
||||
if(imgbufused + 4096 >= imgbufsize)
|
||||
{
|
||||
imgbufsize += HTTP_BUFFER_SIZE;
|
||||
imgbuf = (BYTE*)realloc(imgbuf,imgbufsize);
|
||||
}
|
||||
|
||||
if(!downloadSize && ret == 1)
|
||||
done=true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK artDownloader(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
static HWND m_child;
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
m_child = LPCreateDialogW(IDD_ARTDOWNLOADER_SCROLLHOST,hwndDlg,(WNDPROC)scrollChildHostProc);
|
||||
SetWindowLong(hwndDlg,GWLP_USERDATA,lParam);
|
||||
ArtParser * parser = (ArtParser *)lParam;
|
||||
parser->hwndDlg = hwndDlg;
|
||||
SetTimer(hwndDlg,0,50,NULL);
|
||||
SetTimer(hwndDlg,1,50,NULL);
|
||||
UpdateStatus(hwndDlg);
|
||||
if(parser->data->showCancelAll) ShowWindow(GetDlgItem(hwndDlg,IDC_CANCELALL),SW_SHOWNA);
|
||||
wchar_t old[100]=L"";
|
||||
GetWindowTextW(hwndDlg,old,100);
|
||||
wchar_t buf[256]=L"";
|
||||
if(parser->data->artist && parser->data->artist[0] && parser->data->album && parser->data->album[0])
|
||||
StringCchPrintfW(buf,256,L"%s: %s - %s",old,parser->data->artist,parser->data->album);
|
||||
else if(parser->data->album && parser->data->album[0])
|
||||
StringCchPrintfW(buf,256,L"%s: %s",old,parser->data->album);
|
||||
else if(parser->data->artist && parser->data->artist[0])
|
||||
StringCchPrintfW(buf,256,L"%s: %s",old,parser->data->artist);
|
||||
|
||||
if(buf[0])
|
||||
SetWindowTextW(hwndDlg,buf);
|
||||
|
||||
SetWindowTextW(GetDlgItem(hwndDlg,IDC_SEARCHREFINE_ARTIST), parser->data->artist);
|
||||
SetWindowTextW(GetDlgItem(hwndDlg,IDC_SEARCHREFINE_ALBUM), parser->data->album);
|
||||
wchar_t yearbuf[5]=L"";
|
||||
_itow(parser->data->year,yearbuf,10);
|
||||
SetWindowTextW(GetDlgItem(hwndDlg,IDC_SEARCHREFINE_YEAR), (parser->data->year?yearbuf:L""));
|
||||
}
|
||||
break;
|
||||
case WM_SELECTED:
|
||||
{
|
||||
ArtParser * parser = GetParam(hwndDlg);
|
||||
HWND selchild = (HWND)wParam;
|
||||
ImgDownloader *d = (ImgDownloader *)lParam;
|
||||
if(parser && d && d->imgbuf && d->imgbufused)
|
||||
{
|
||||
if (!AGAVE_API_AMGSUCKS || AGAVE_API_AMGSUCKS->WriteAlbumArt(d->imgbuf, d->imgbufused, &parser->data->imgData, &parser->data->imgDataLen) != 0)
|
||||
{
|
||||
void * img = WASABI_API_MEMMGR->sysMalloc(d->imgbufused);
|
||||
memcpy(img,d->imgbuf,d->imgbufused);
|
||||
parser->data->imgData = img;
|
||||
parser->data->imgDataLen = d->imgbufused;
|
||||
}
|
||||
char * dot = strrchr(d->url,'.');
|
||||
if(dot) lstrcpynW(parser->data->type,AutoWide(dot+1),10);
|
||||
EndDialog(hwndDlg,0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case WM_UPDATESTATUS:
|
||||
{
|
||||
ArtParser * parser = GetParam(hwndDlg);
|
||||
if(parser)
|
||||
{
|
||||
wchar_t s[100] = {0};
|
||||
if(parser->error) getStringW(IDS_ART_SEARCH_FAILED,s,100);
|
||||
else if(parser->doneXML) getStringW(IDS_ART_SEARCH_FINISHED,s,100);
|
||||
else getStringW(IDS_ART_SEARCH_PROGRESS,s,100);
|
||||
wchar_t buf[512] = {0};
|
||||
StringCchPrintfW(buf,512,getStringW(IDS_ART_SEARCH_STATUS,0,0),s,parser->numImages,parser->curImage - parser->failedImages,parser->failedImages,parser->numImages - parser->curImage);
|
||||
SetDlgItemTextW(hwndDlg,IDC_STATUS,buf);
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case WM_TIMER:
|
||||
{
|
||||
ArtParser * parser = GetParam(hwndDlg);
|
||||
switch(wParam)
|
||||
{
|
||||
case 0:
|
||||
if(parser && !parser->run())
|
||||
KillTimer(hwndDlg,0);
|
||||
break;
|
||||
case 1:
|
||||
if(parser && parser->imgDownload.size())
|
||||
{
|
||||
ImgDownloader *d = parser->imgDownload.at(0);
|
||||
if(d->error)
|
||||
{
|
||||
parser->failedImages++;
|
||||
parser->curImage++;
|
||||
parser->imgDownload.eraseindex(0);
|
||||
delete d;
|
||||
UpdateStatus(hwndDlg);
|
||||
}
|
||||
else if(d->done)
|
||||
{
|
||||
parser->curImage++;
|
||||
parser->imgDownload.eraseindex(0);
|
||||
AddImageToList(m_child,d);
|
||||
UpdateStatus(hwndDlg);
|
||||
}
|
||||
else d->run();
|
||||
}
|
||||
if(parser->error || parser->doneXML)
|
||||
{
|
||||
if(parser->curImage == parser->numImages)
|
||||
{
|
||||
KillTimer(hwndDlg,1);
|
||||
if(!parser->numImages)
|
||||
{
|
||||
wchar_t title[100] = {0};
|
||||
getStringW(IDS_ART_SEARCH_NOT_FOUND_TITLE,title,100);
|
||||
MessageBoxW(hwndDlg,getStringW(IDS_ART_SEARCH_NOT_FOUND,0,0),title,0);
|
||||
//EndDialog(hwndDlg,-1); //CUT, since we have now a custom search
|
||||
}
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_SEARCHAGAIN), true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case WM_DESTROY:
|
||||
{
|
||||
SetWindowLong(hwndDlg,GWLP_USERDATA,0);
|
||||
}
|
||||
break;
|
||||
case WM_CLOSE:
|
||||
EndDialog(hwndDlg,-1);
|
||||
break;
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDCANCEL:
|
||||
EndDialog(hwndDlg,-1);
|
||||
break;
|
||||
case IDC_CANCELALL:
|
||||
EndDialog(hwndDlg,-2);
|
||||
break;
|
||||
case IDC_SEARCHAGAIN: // copy text field params to parser
|
||||
ArtParser * parser = GetParam(hwndDlg);
|
||||
|
||||
// Let the first search process finish
|
||||
if (!(parser->doneXML || parser->error))
|
||||
{
|
||||
//TODO change this string
|
||||
MessageBoxW(hwndDlg, L"Please wait till the current retrieval is finished", L"", 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
GetDlgItemTextW(hwndDlg,IDC_SEARCHREFINE_ALBUM, tmp_album, 512);
|
||||
GetDlgItemTextW(hwndDlg,IDC_SEARCHREFINE_ARTIST, tmp_artist, 512);
|
||||
GetDlgItemTextW(hwndDlg,IDC_SEARCHREFINE_YEAR, tmp_year, 5);
|
||||
|
||||
// End Dialog w/ returning 2: indicates that teh users wants to start a custom search
|
||||
EndDialog(hwndDlg,2);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// from FileInfo.cpp
|
||||
extern HBITMAP getBitmap(ARGB32 * data, int dw, int dh, int targetW, int targetH, HWND parent);
|
||||
extern ARGB32 * decompressImage(const void *data, int datalen, int * dataW, int * dataH);
|
||||
|
||||
HBITMAP loadImage(const void * data, int datalen, int w, int h, HWND parent, int *dw=0, int *dh=0)
|
||||
{
|
||||
int dataW=0, dataH=0;
|
||||
ARGB32* ret = decompressImage(data,datalen,&dataW,&dataH);
|
||||
|
||||
if(dw) *dw = dataW;
|
||||
if(dh) *dh = dataH;
|
||||
if(!ret) return 0;
|
||||
HBITMAP r = getBitmap(ret, dataW, dataH, w, h, parent);
|
||||
WASABI_API_MEMMGR->sysFree(ret);
|
||||
return r;
|
||||
}
|
||||
|
||||
#define GetDlgParent(hwndDlg) GetParent(GetParent(GetParent(hwndDlg)))
|
||||
static INT_PTR CALLBACK imageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
SetWindowLong(hwndDlg,GWLP_USERDATA,lParam);
|
||||
ImgDownloader *d = (ImgDownloader *)lParam;
|
||||
int w=0,h=0;
|
||||
HBITMAP bm = loadImage(d->imgbuf,d->imgbufused,140,140,hwndDlg,&w,&h);
|
||||
SendDlgItemMessage(hwndDlg,IDC_IMAGE,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)bm);
|
||||
wchar_t buf[1024] = {0};
|
||||
StringCchPrintfW(buf,1024,L"%s: %dx%d (%d kB)",d->desc,w,h,(d->imgbufused/1024));
|
||||
SetDlgItemTextW(hwndDlg,IDC_IMGTEXT,buf);
|
||||
}
|
||||
break;
|
||||
case WM_DESTROY:
|
||||
{
|
||||
ImgDownloader *d = GetParamC(hwndDlg);
|
||||
SetWindowLong(hwndDlg,GWLP_USERDATA,0);
|
||||
if(d) delete d;
|
||||
HBITMAP bm = (HBITMAP)SendDlgItemMessage(hwndDlg,IDC_IMAGE,STM_SETIMAGE,IMAGE_BITMAP,0);
|
||||
if(bm) DeleteObject(bm);
|
||||
}
|
||||
break;
|
||||
case WM_COMMAND:
|
||||
if(LOWORD(wParam) != IDC_SELECT)
|
||||
break;
|
||||
// else run through
|
||||
case WM_LBUTTONDBLCLK:
|
||||
SendMessageW(GetDlgParent(hwndDlg),WM_SELECTED,(WPARAM)hwndDlg,(LPARAM)GetParamC(hwndDlg));
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// scroll shit, nothing interesting is happening down here...
|
||||
|
||||
static INT_PTR CALLBACK scrollChildHostProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
//static HWND m_child;
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
RECT r;
|
||||
HWND hw = GetParent(hwndDlg);
|
||||
GetWindowRect(GetDlgItem(hw,IDC_PLACEHOLDER),&r);
|
||||
ScreenToClient(hw,(LPPOINT)&r);
|
||||
ScreenToClient(hw,((LPPOINT)&r)+1);
|
||||
SetWindowPos(hwndDlg,NULL,r.left,r.top,r.right-r.left,r.bottom-r.top,SWP_NOZORDER|SWP_NOACTIVATE);
|
||||
LPCreateDialogW(IDD_ARTDOWNLOADER_SCROLLCHILD,hwndDlg,(WNDPROC)scrollChildProc);
|
||||
|
||||
SCROLLINFO si={sizeof(si),SIF_RANGE|SIF_PAGE,0};
|
||||
si.nPage = (r.right - r.left);
|
||||
SetScrollInfo(hwndDlg,SB_HORZ,&si,TRUE);
|
||||
}
|
||||
break;
|
||||
case WM_ADDCHILD:
|
||||
{
|
||||
HWND m_child = GetWindow(hwndDlg,GW_CHILD);
|
||||
HWND newChild = (HWND)SendMessageW(m_child,uMsg,wParam,lParam);
|
||||
RECT r,r2;
|
||||
GetClientRect(m_child,&r);
|
||||
GetClientRect(hwndDlg,&r2);
|
||||
SCROLLINFO si={sizeof(si),SIF_RANGE|SIF_PAGE,0};
|
||||
si.nMin = 0;
|
||||
si.nMax = (r.right - r.left);
|
||||
si.nPage = (r2.right - r2.left);
|
||||
if(si.nMax < 0) si.nMax = 0;
|
||||
SetScrollInfo(hwndDlg,SB_HORZ,&si,TRUE);
|
||||
return (INT_PTR)newChild;
|
||||
}
|
||||
break;
|
||||
case WM_HSCROLL:
|
||||
{
|
||||
HWND m_child = GetWindow(hwndDlg,GW_CHILD);
|
||||
int v=0;
|
||||
RECT r;
|
||||
RECT r2;
|
||||
GetClientRect(hwndDlg,&r2);
|
||||
GetClientRect(m_child,&r);
|
||||
int action = LOWORD(wParam);
|
||||
|
||||
if (r2.right < r.right) {
|
||||
if (action == SB_THUMBPOSITION || action == SB_THUMBTRACK) {
|
||||
SCROLLINFO si={sizeof(si),SIF_TRACKPOS|SIF_POS};
|
||||
GetScrollInfo(hwndDlg,SB_HORZ,&si);
|
||||
v=si.nTrackPos;
|
||||
}
|
||||
else if (action == SB_TOP)
|
||||
v=0;
|
||||
else if (action == SB_BOTTOM)
|
||||
v=r.right-r2.right;
|
||||
else if (action == SB_PAGEDOWN || action == SB_LINEDOWN) {
|
||||
SCROLLINFO si={sizeof(si),SIF_TRACKPOS|SIF_POS};
|
||||
GetScrollInfo(hwndDlg,SB_HORZ,&si);
|
||||
if(action == SB_LINEDOWN)
|
||||
v=si.nPos + (r2.right)/10;
|
||||
else
|
||||
v=si.nPos + r2.right;
|
||||
if (v > r.right-r2.right) v=r.right-r2.right;
|
||||
}
|
||||
else if (action == SB_PAGEUP || action == SB_LINEUP) {
|
||||
SCROLLINFO si={sizeof(si),SIF_TRACKPOS|SIF_POS};
|
||||
GetScrollInfo(hwndDlg,SB_HORZ,&si);
|
||||
if(action == SB_LINEUP)
|
||||
v=si.nPos - (r2.right)/10;
|
||||
else
|
||||
v=si.nPos - r2.right;
|
||||
if (v < 0) v=0;
|
||||
}
|
||||
else return 0;
|
||||
|
||||
SetScrollPos(hwndDlg,SB_HORZ,v,!(action == SB_THUMBPOSITION || action == SB_THUMBTRACK));
|
||||
SetWindowPos(m_child,NULL,0-v,0,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE);
|
||||
}
|
||||
else {
|
||||
SetScrollPos(hwndDlg,SB_HORZ,0,!(action == SB_THUMBPOSITION || action == SB_THUMBTRACK));
|
||||
SetWindowPos(m_child,NULL,0,0,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK scrollChildProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
RECT r;
|
||||
GetClientRect(hwndDlg,&r);
|
||||
SetWindowPos(hwndDlg,0,0,0,0,r.bottom,SWP_NOMOVE|SWP_NOZORDER|SWP_NOACTIVATE);
|
||||
}
|
||||
break;
|
||||
case WM_ADDCHILD:
|
||||
{
|
||||
HWND newChild = LPCreateDialogParamW(IDD_ARTDOWNLOADER_IMAGE,hwndDlg,imageProc,lParam);
|
||||
RECT r,r2;
|
||||
GetClientRect(hwndDlg,&r);
|
||||
GetClientRect(newChild,&r2);
|
||||
SetWindowPos(hwndDlg,0,0,0,r.right + r2.right,r.bottom,SWP_NOMOVE|SWP_NOZORDER|SWP_NOACTIVATE);
|
||||
SetWindowPos(newChild,0,r.right,0,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE);
|
||||
ShowWindow(newChild,SW_SHOWNA);
|
||||
return (INT_PTR)newChild;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
Binary file not shown.
|
@ -0,0 +1,38 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIGsDCCBJigAwIBAgIQCK1AsmDSnEyfXs2pvZOu2TANBgkqhkiG9w0BAQwFADBi
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
|
||||
RzQwHhcNMjEwNDI5MDAwMDAwWhcNMzYwNDI4MjM1OTU5WjBpMQswCQYDVQQGEwJV
|
||||
UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRy
|
||||
dXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMIIC
|
||||
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1bQvQtAorXi3XdU5WRuxiEL1
|
||||
M4zrPYGXcMW7xIUmMJ+kjmjYXPXrNCQH4UtP03hD9BfXHtr50tVnGlJPDqFX/IiZ
|
||||
wZHMgQM+TXAkZLON4gh9NH1MgFcSa0OamfLFOx/y78tHWhOmTLMBICXzENOLsvsI
|
||||
8IrgnQnAZaf6mIBJNYc9URnokCF4RS6hnyzhGMIazMXuk0lwQjKP+8bqHPNlaJGi
|
||||
TUyCEUhSaN4QvRRXXegYE2XFf7JPhSxIpFaENdb5LpyqABXRN/4aBpTCfMjqGzLm
|
||||
ysL0p6MDDnSlrzm2q2AS4+jWufcx4dyt5Big2MEjR0ezoQ9uo6ttmAaDG7dqZy3S
|
||||
vUQakhCBj7A7CdfHmzJawv9qYFSLScGT7eG0XOBv6yb5jNWy+TgQ5urOkfW+0/tv
|
||||
k2E0XLyTRSiDNipmKF+wc86LJiUGsoPUXPYVGUztYuBeM/Lo6OwKp7ADK5GyNnm+
|
||||
960IHnWmZcy740hQ83eRGv7bUKJGyGFYmPV8AhY8gyitOYbs1LcNU9D4R+Z1MI3s
|
||||
MJN2FKZbS110YU0/EpF23r9Yy3IQKUHw1cVtJnZoEUETWJrcJisB9IlNWdt4z4FK
|
||||
PkBHX8mBUHOFECMhWWCKZFTBzCEa6DgZfGYczXg4RTCZT/9jT0y7qg0IU0F8WD1H
|
||||
s/q27IwyCQLMbDwMVhECAwEAAaOCAVkwggFVMBIGA1UdEwEB/wQIMAYBAf8CAQAw
|
||||
HQYDVR0OBBYEFGg34Ou2O/hfEYb7/mF7CIhl9E5CMB8GA1UdIwQYMBaAFOzX44LS
|
||||
cV1kTN8uZz/nupiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEF
|
||||
BQcDAzB3BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
|
||||
Z2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
|
||||
Y29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDagNIYy
|
||||
aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5j
|
||||
cmwwHAYDVR0gBBUwEzAHBgVngQwBAzAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQAD
|
||||
ggIBADojRD2NCHbuj7w6mdNW4AIapfhINPMstuZ0ZveUcrEAyq9sMCcTEp6QRJ9L
|
||||
/Z6jfCbVN7w6XUhtldU/SfQnuxaBRVD9nL22heB2fjdxyyL3WqqQz/WTauPrINHV
|
||||
UHmImoqKwba9oUgYftzYgBoRGRjNYZmBVvbJ43bnxOQbX0P4PpT/djk9ntSZz0rd
|
||||
KOtfJqGVWEjVGv7XJz/9kNF2ht0csGBc8w2o7uCJob054ThO2m67Np375SFTWsPK
|
||||
6Wrxoj7bQ7gzyE84FJKZ9d3OVG3ZXQIUH0AzfAPilbLCIXVzUstG2MQ0HKKlS43N
|
||||
b3Y3LIU/Gs4m6Ri+kAewQ3+ViCCCcPDMyu/9KTVcH4k4Vfc3iosJocsL6TEa/y4Z
|
||||
XDlx4b6cpwoG1iZnt5LmTl/eeqxJzy6kdJKt2zyknIYf48FWGysj/4+16oh7cGvm
|
||||
oLr9Oj9FpsToFpFSi0HASIRLlk2rREDjjfAVKM7t8RhWByovEMQMCGQ8M4+uKIw8
|
||||
y4+ICw2/O/TOHnuO77Xry7fwdxPm5yg/rBKupS8ibEH5glwVZsxsDsrFhsP2JjMM
|
||||
B0ug0wcCampAMEhLNKhRILutG4UI4lkNbcoFUCvqShyepf2gpx8GdOfy1lKQ/a+F
|
||||
SCH5Vzu0nAPthkX0tGFuv2jiJmCG6sivqf6UHedjGzqGVnhO
|
||||
-----END CERTIFICATE-----
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div><blockquote type="cite" class=""><div class=""></div></blockquote></div><br class=""></div></body></html>
|
|
@ -0,0 +1,32 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,41 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIHRDCCBSygAwIBAgIQBpNVvDvQCWBPv1q9mt/1ADANBgkqhkiG9w0BAQsFADBp
|
||||
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
|
||||
OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0
|
||||
IDIwMjEgQ0ExMB4XDTIyMDYxMDAwMDAwMFoXDTI0MDYxMjIzNTk1OVowSTELMAkG
|
||||
A1UEBhMCQkUxEjAQBgNVBAcTCUJydXhlbGxlczESMBAGA1UEChMJV2luYW1wIFNB
|
||||
MRIwEAYDVQQDEwlXaW5hbXAgU0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
|
||||
AoICAQD4sc3Vvf1YOujnYGodelz2YbBaf+G037IbzRiCvlTUAPaqaiNmBBlgKOfn
|
||||
0Ui8SkmRABQ06WDOCJYxCnugstvhg1vs/E7AxxG2rEgZl/NmB84ingOlCcE6f2WH
|
||||
cttxSVsrjxbRFFQIkvj+v3R12NTWQzg4HGwyXS8VtB22On2gVjmsdeuMiUuDaXRx
|
||||
JCVm3NIYz7LJAdpnl9LkJOwVuCyifGUcLoJVZJgz8QcCGg038OLL17XVriAE+i46
|
||||
r0caNeZwFuAG2AVaRO7ggzkjA5DeFlB9vBqbJAbi9dQGkXGTx/CGR0n09EkF5uyP
|
||||
A2a7SodAYijIluiZLgEDOVTKJZLxbX4cdTCyHrSFq231TMdbpGj/+3Hc5BHpymkN
|
||||
I2Ju8sf9SfzuR2s6F77wdobmrR+8jVEQAYw82FB+rL4CuW8Kg0dr/LHYdv53jbrr
|
||||
f9JSB8DqvJ7zjS40eIIEXq2zWdt7qzw6TiUo/mkr1aSqXhYQhotuossovEs8IePP
|
||||
Sxatw5olw6kokY8RrIi7yindv48M9EC4vy9l8qx1+7+G7tBOTnGTxHBvgG/L3PW6
|
||||
NDb44iDSRmFVJRb8QxCQ0L2Ywz8VdkHWoCr7dPGIY6pdy0aHKRrMZeZmaB2A72lD
|
||||
sN4cMjXfFNPD5x53HA9Vf333Wv4KANINSL4af7KOa+9LRYh4dwIDAQABo4ICBjCC
|
||||
AgIwHwYDVR0jBBgwFoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYEFELu
|
||||
dm9oHqV42XGzPaxAv/7pJey9MA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggr
|
||||
BgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRwOi8vY3JsMy5kaWdpY2Vy
|
||||
dC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQy
|
||||
MDIxQ0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lD
|
||||
ZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcmww
|
||||
PgYDVR0gBDcwNTAzBgZngQwBBAEwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5k
|
||||
aWdpY2VydC5jb20vQ1BTMIGUBggrBgEFBQcBAQSBhzCBhDAkBggrBgEFBQcwAYYY
|
||||
aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFwGCCsGAQUFBzAChlBodHRwOi8vY2Fj
|
||||
ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JT
|
||||
QTQwOTZTSEEzODQyMDIxQ0ExLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEB
|
||||
CwUAA4ICAQAiXaobHW5Lm7gafYUDOeXJvkieNAit/CD1sOvd1AwlTej2X5JvuzQL
|
||||
6pGuFPmHiTvzPo9bMZ7/qm01UQnRn3/x0nkCYURXzmot///lZ94uQKnFT/6mHxcU
|
||||
ZtZa9qG7EyieVSrmaI1pH5NdQroPL9gmscewC9VhJZnMoUhAeaOzzpjI24lakOw4
|
||||
h22V88BHRcxkNUUH5qV5fDhHhiiGvuqGO4Yi6bCm8TuC/AEVt3KsrytnRKoc9Z+s
|
||||
klbA7G9hPgcmYdcoHFNAc9XmZLo7tbffjqokRmytYjTZgw2s4qUO49Zt7+J3KJRt
|
||||
WduuqXNpSLW6bkuDyQBL9NitkW50R3Ub0gEr0xUYwD0IqwWj7DDxCyxwtP4OyD4r
|
||||
T/Py9rTYSLP+XGgb4MgIN/sMKlVJf8SN5P2DzNuX+hBZyFeAGNyFhOSKydXaeaxA
|
||||
mgNzZb25JJ7gPnb/6fJkl+8mh64RKgDZk5y79MRukxecwBaDOetYAJ9AFvyeLZoE
|
||||
JzbCtADu4d/IAC8ZU38ROWXec9aJE/YByXfhyNjDMQsZIY0Av0UOuWMzunnISycn
|
||||
q8ZTNQXWhwuOAZRVecApc+cwwJKWJJuubrdCw6dC1p+D8Qc/SrD/jmHw2XWYI9l5
|
||||
Exm0ABFlOzOMyUqSAxXwymxugJMFUr4r7/GM2qFUSTkQf/e2pUPIbg==
|
||||
-----END CERTIFICATE-----
|
Binary file not shown.
|
@ -0,0 +1,30 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,FFEF139B23999677
|
||||
|
||||
uWGiiUFqEd5AafE4FCrJmBUADd/bJT7rVfTXCY5BxQFkXntpODQ1W3qcZIxPwmFg
|
||||
SjFdL8DPI1wFyw6VF4aX58JNnAx0TQZnNWZ/zg+vBfMtd9BO6uixl2qLVvupkKs7
|
||||
HYDJlAAP9hmHbDj9K2EOUS+EpBURq5m3E/XMY5nhtTcsYkfzmqXPCOKbL8pvKRCf
|
||||
qRWim4F+MqBKzgvi7aHuBO5KH4gQ2IKEF181AyUsFmSp1wvxF01NiT25im9DOQFW
|
||||
YFRuLwiD85/8YRF1fHB5+uEuxOeslUC7cb0ypru1MjvqRxqFxlG3+uZeBG1YHyuD
|
||||
7BPMeK3AuPQkVpCqGimtEX0km2Gi9qAMP+bYd3NGzT7DGKP2ZpZ8SnCETrT5pPfb
|
||||
/irkNe+blx21IU5hzbw9DDXUqi8zm2jIcn2EX+hdvb3g0j2FqQ+7+m1ASu5p89vc
|
||||
3DEQZ+JF47Ay/5GefztSFoIlLjTiZYBOK+NPkoR7cUY8f4r3hNLLuyzN8/idPFoi
|
||||
o+/tvNwd06CSxwIK0Ks6BMcCXG9zREgLsSVLBVjOFVJ/Wr/NhnQga65/76UsqxTF
|
||||
ZaY+Q6FTz8ggsbkjQEEGlSDfVdYTAX1MfgGbpVPmvufkAl3CoefQTT4hCs7s0TGW
|
||||
YKfjNfqqFAwJW1UZkAYm21YKIlCSmGux0pOd8S6S3kNYdRMn5QppyqpcnRZcMBBw
|
||||
mPYwUqjX1/Fb5myw77Gstt1Cnx4+dithcjeBq5DIsci4jUhf4e9ujHf96OaWKK01
|
||||
/EsNa54hT1CQRDHvdVF0tlVJdUyn8NonN7tB4+rUS6YJRdxthHhDfPsrtg9o5e8N
|
||||
yZxunfGSey8dithZHA11nXb6J5rJcsRnCZUzhq0nkYguxHSTgkEqLZcbl5WigkgF
|
||||
EzUU4di8I4m5vSy6OLM7inKAomJD11cpV+kBbUzOXoVo6v8Gz3KvES/UpN0I+Wgh
|
||||
xs7xRgg/Kx6/DG3Jwv71ITCYytZH4mY1eplUaJuIv11BPhc132adVpcI31A459uG
|
||||
eN9UqEfZJfT0YTNVCefErCmuRu/iIh/XndVFKd1N/WsUR58H3+JGaArss66KbvXR
|
||||
CT4Fkyc5+rQENc2daAH2tAeeLIheMmEyKmfXefje7tiaPD6+lgPISoNlGo0cxyQ7
|
||||
YGVneVmpDpNZ/s6kV5BvxawkH7WGzt0gDqMmAyawK2kBPuTvG0+uYXAfEJjdWhAH
|
||||
E87Xu13GtVOyuJD37RojJbned6xlwuW0oLXSb5IO677lN+cyyqjNy2VG7l3MYL+b
|
||||
Bd2/LVWH97lNLy5Fsx8DmnjhPO8AIxwisxS0FxTTy89WQCjItPqWHH1+2yiMHcTR
|
||||
fq6SqU1tw8GiBRBQtCeVNxVAxzA3tXM83FxhFhI+WmHaNi4QB6IXdgLaKQ1IhZ4G
|
||||
g5gI0erPUSJ2k7nqGaynnCVwtHQA32s/XsHrflyO34X18+oC3DOFMKw31qnBLa+G
|
||||
ljbJ69NUcIRhPQ8pYqT68heOP06VysiR9ndQ9CW/VaF+LEN+oIbE7p3RbpY3RWLY
|
||||
IYwSbiaF0sGiwjtLh3m2Ji0w9K2AZpTIcLNq43tQ6VcJsvKCa1xpomj0yJI02iSr
|
||||
-----END RSA PRIVATE KEY-----
|
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
|
@ -0,0 +1,21 @@
|
|||
@echo off
|
||||
|
||||
REM set SIGNNAME=Winamp %WINAMP_VERSION_MAJOR%.%WINAMP_VERSION_MINOR%%WINAMP_VERSION_MINOR_SECOND% %%~j
|
||||
|
||||
signtool.exe sign /f Winamp_SA.pfx /p WaWa!_59_!WaWa /t http://timestamp.digicert.com /du "http://www.winamp.com" /d "Winamp 5.9" /v Winamp59_9999_final_full_en-us.exe
|
||||
|
||||
REM ___________________________________________________________________
|
||||
|
||||
REM if not defined WAPROJECTS set WAPROJECTS=c:\projects
|
||||
REM if not defined CURSANDBOX set CURSANDBOX=%WAPROJECTS%
|
||||
|
||||
REM set KEYFILE=%CURSANDBOX%\codesign\WinampSA.pfx
|
||||
REM %CURSANDBOX%\codesign\signtool.exe sign /f %KEYFILE% /p !Wa!Wa!5_6_7_8!Wa!Wa! /d %1 /du "http://www.winamp.com" /t http://timestamp.comodoca.com/authenticode /v %2
|
||||
|
||||
SET errCode=%ERRORLEVEL%
|
||||
|
||||
IF %errCode% NEQ 0 @echo SimpleSign Failed
|
||||
|
||||
pause /B %errCode%
|
||||
|
||||
exit
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQEzBAEBCAAdFiEE6VpbjcQyp+t7ByJYRGjUQigxlBsFAmKjGNYACgkQRGjUQigx
|
||||
lBsmaggAvwHvdssyFg8Ro9UI06qtsDJvwAmsjQJdH+++OayA3a1XSa6vyGibrbA4
|
||||
tRfFPn8RYmfmbd0jlKwjFWCdjTTP+b11DjDrkIv3RVz0nQmLX0AaQHzZdoWGodpZ
|
||||
JgTEhSxTsY17ss6CzYPhP+F6LQ7S96GbA6fWRx0E/t6v8Kqnl6L1rSfoV6U9/873
|
||||
5LaOvHsk2BPoL9w+mp6BdITyVoK2jaRPbE+2eDTn1VW4w4C6Qi4mV3VRYN5dZVjj
|
||||
sGmRSsIz2MW8KsHDA9odBjOfdHlRbrSl9cjPo4fmEpxVI8yGtfCOKsRjnKCMcWpG
|
||||
NZ5RaNE3FfD5En0FMvd/owkBqp6d+w==
|
||||
=9kUo
|
||||
-----END PGP SIGNATURE-----
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,108 @@
|
|||
-----BEGIN PKCS7-----
|
||||
MIITuwYJKoZIhvcNAQcCoIITrDCCE6gCAQExADALBgkqhkiG9w0BBwGgghOQMIIH
|
||||
RDCCBSygAwIBAgIQCNS/WlKcclmX4PbFJkldLzANBgkqhkiG9w0BAQsFADBpMQsw
|
||||
CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERp
|
||||
Z2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIw
|
||||
MjEgQ0ExMB4XDTIyMDYxNTAwMDAwMFoXDTI0MDYxMjIzNTk1OVowSTELMAkGA1UE
|
||||
BhMCQkUxEjAQBgNVBAcTCUJydXhlbGxlczESMBAGA1UEChMJV2luYW1wIFNBMRIw
|
||||
EAYDVQQDEwlXaW5hbXAgU0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
||||
AQDX5OYi3zspRs2tAMPBeTW2jabo4ttN0/3a7VFxYDrZq3c6i6LhEhWZhDpdsiAl
|
||||
cM/uM+YepdVOzRcm14IiL6GwagA1fZdgJoiNETSj4KDuxzZowUqDN0L13Nv2xI2k
|
||||
ZJpZ/el6aItpdC4ulidR6cRz9E83IEqruDCQyh8/6bO4WYboWhXltm8GE9zkw6dk
|
||||
q5UbnQKZdEMttiP+U5J5Ue+erwqaMn0T8U9HShA4zRDE5eKcwig3oIo7mRLG5W5o
|
||||
YlzRSdPnhdpN7cw+ahoHsZzwyWVCsi7sZrkNc0vd4wwCBDWsgU3TG5+EQAZJc5zi
|
||||
cLOSl/qiTcAuYEVmIHD7yerGLV8YY6usMLMXhwhT7CJ1DMCE7vp7mLNyOhxG5wsN
|
||||
cysankU4ylYXdZrIKTIQkMd0hbjlAkMKodVt0/lODuxrfY9eHaue72Pz8LMlJHN3
|
||||
5C+KTxVeoL0+8b1OGqhDxcWsleqSIXREz+NEfN6EGwwUt+3txXiumeVX2YMWDeQd
|
||||
khazi2s5TkCExYRaKVJAkBAm/VqBu6bHyo0L1LNfHfdnZPre6wrhzEcChOcgs4Ni
|
||||
D6gT9Shm9MyOMJ1yJuZcvgnPBC9FnPVcgeByTQI/2u0MPYVDclcQkei9FwW4sz16
|
||||
vCnEqtysYOX64fpvBvB7IVWz8cWbVX0Lalk5m7MIinF+6QIDAQABo4ICBjCCAgIw
|
||||
HwYDVR0jBBgwFoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYEFHRlJwsS
|
||||
WBHjeyAXymfNFGh6R2rmMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEF
|
||||
BQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRwOi8vY3JsMy5kaWdpY2VydC5j
|
||||
b20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIx
|
||||
Q0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
|
||||
VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcmwwPgYD
|
||||
VR0gBDcwNTAzBgZngQwBBAEwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdp
|
||||
Y2VydC5jb20vQ1BTMIGUBggrBgEFBQcBAQSBhzCBhDAkBggrBgEFBQcwAYYYaHR0
|
||||
cDovL29jc3AuZGlnaWNlcnQuY29tMFwGCCsGAQUFBzAChlBodHRwOi8vY2FjZXJ0
|
||||
cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQw
|
||||
OTZTSEEzODQyMDIxQ0ExLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUA
|
||||
A4ICAQDSxJbkRf9a9TldRN7TD7PEupDeVN1OEKjRCdA+lH9eSgaeJ/Kol8KJ6nnJ
|
||||
jMAQjnNmysyGyt7FXWGWA3DpLP4dfg46LNVhHVlInWTfqs2ospy2UOAbQnA8Dyw1
|
||||
1shSVesOCGURTkaDe41VMClg9yS02rPivnNggPmj6v8TNW3hizjVyqP7MNTl4EeC
|
||||
f7hvfZx/zpGEDKAiSeil74NJJms/ITLeH4Z5bQCz/b5nMtIMOWX+nOsbVwieWrgr
|
||||
tG/S4CM/YHBq1c4PLcPk4/CA+9MF+PBwjOu4d9nHowKUeR+sEl6TyYMZ27c8AP9w
|
||||
OIlJslj2553w7sAkxZ1fvKPlk4StDxdpd3YxnWVRQX5OcDuBi40WHaqPEDm055YH
|
||||
RQh1casTukLsIXaQhrC/S5ov01uMimenVIXn9A/M4WzZ5ICl3JXNM7HldJ172AjW
|
||||
83PlCiyjxEZtNRO4icZznWfpFbEFy2kwdE3JQlcPLTDxlIeft/p6NqnISwIgbIVz
|
||||
9SCeABFQQQJDwb1yURw7Cifl4f88yNVfyS88OIvXB6E10JsERHe0Z4mMR7tm8tvk
|
||||
7nEzITigyWVoSmntIn/PhphNS5LihnIyNlqHtx8RKBpMHoofEoli5nZF4vy8Vd4L
|
||||
qI8K+bBEuk/KM2FVFawRs0xywxd8P5xQwx4XLQpAhUXnPlDbgzCCBrAwggSYoAMC
|
||||
AQICEAitQLJg0pxMn17Nqb2TrtkwDQYJKoZIhvcNAQEMBQAwYjELMAkGA1UEBhMC
|
||||
VVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0
|
||||
LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4XDTIxMDQy
|
||||
OTAwMDAwMFoXDTM2MDQyODIzNTk1OVowaTELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
|
||||
DkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IENv
|
||||
ZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTCCAiIwDQYJKoZIhvcN
|
||||
AQEBBQADggIPADCCAgoCggIBANW0L0LQKK14t13VOVkbsYhC9TOM6z2Bl3DFu8SF
|
||||
JjCfpI5o2Fz16zQkB+FLT9N4Q/QX1x7a+dLVZxpSTw6hV/yImcGRzIEDPk1wJGSz
|
||||
jeIIfTR9TIBXEmtDmpnyxTsf8u/LR1oTpkyzASAl8xDTi7L7CPCK4J0JwGWn+piA
|
||||
STWHPVEZ6JAheEUuoZ8s4RjCGszF7pNJcEIyj/vG6hzzZWiRok1MghFIUmjeEL0U
|
||||
V13oGBNlxX+yT4UsSKRWhDXW+S6cqgAV0Tf+GgaUwnzI6hsy5srC9KejAw50pa85
|
||||
tqtgEuPo1rn3MeHcreQYoNjBI0dHs6EPbqOrbZgGgxu3amct0r1EGpIQgY+wOwnX
|
||||
x5syWsL/amBUi0nBk+3htFzgb+sm+YzVsvk4EObqzpH1vtP7b5NhNFy8k0UogzYq
|
||||
ZihfsHPOiyYlBrKD1Fz2FRlM7WLgXjPy6OjsCqewAyuRsjZ5vvetCB51pmXMu+NI
|
||||
UPN3kRr+21CiRshhWJj1fAIWPIMorTmG7NS3DVPQ+EfmdTCN7DCTdhSmW0tddGFN
|
||||
PxKRdt6/WMtyEClB8NXFbSZ2aBFBE1ia3CYrAfSJTVnbeM+BSj5AR1/JgVBzhRAj
|
||||
IVlgimRUwcwhGug4GXxmHM14OEUwmU//Y09Mu6oNCFNBfFg9R7P6tuyMMgkCzGw8
|
||||
DFYRAgMBAAGjggFZMIIBVTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRo
|
||||
N+Drtjv4XxGG+/5hewiIZfROQjAfBgNVHSMEGDAWgBTs1+OC0nFdZEzfLmc/57qY
|
||||
rhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYIKwYB
|
||||
BQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20w
|
||||
QQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2Vy
|
||||
dFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwz
|
||||
LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMBwGA1UdIAQV
|
||||
MBMwBwYFZ4EMAQMwCAYGZ4EMAQQBMA0GCSqGSIb3DQEBDAUAA4ICAQA6I0Q9jQh2
|
||||
7o+8OpnTVuACGqX4SDTzLLbmdGb3lHKxAMqvbDAnExKekESfS/2eo3wm1Te8Ol1I
|
||||
bZXVP0n0J7sWgUVQ/Zy9toXgdn43ccsi91qqkM/1k2rj6yDR1VB5iJqKisG2vaFI
|
||||
GH7c2IAaERkYzWGZgVb2yeN258TkG19D+D6U/3Y5PZ7Umc9K3SjrXyahlVhI1Rr+
|
||||
1yc//ZDRdobdHLBgXPMNqO7giaG9OeE4Ttpuuzad++UhU1rDyulq8aI+20O4M8hP
|
||||
OBSSmfXdzlRt2V0CFB9AM3wD4pWywiF1c1LLRtjENByipUuNzW92NyyFPxrOJukY
|
||||
vpAHsEN/lYgggnDwzMrv/Sk1XB+JOFX3N4qLCaHLC+kxGv8uGVw5ceG+nKcKBtYm
|
||||
Z7eS5k5f3nqsSc8upHSSrds8pJyGH+PBVhsrI/+PteqIe3Br5qC6/To/RabE6BaR
|
||||
UotBwEiES5ZNq0RA443wFSjO7fEYVgcqLxDEDAhkPDOPriiMPMuPiAsNvzv0zh57
|
||||
ju+168u38HcT5ucoP6wSrqUvImxB+YJcFWbMbA7KxYbD9iYzDAdLoNMHAmpqQDBI
|
||||
SzSoUSC7rRuFCOJZDW3KBVAr6kocnqX9oKcfBnTn8tZSkP2vhUgh+Vc7tJwD7YZF
|
||||
9LRhbr9o4iZghurIr6n+lB3nYxs6hlZ4TjCCBZAwggN4oAMCAQICEAWbG1eejiEy
|
||||
4jkHvad3dVwwDQYJKoZIhvcNAQEMBQAwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoT
|
||||
DERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UE
|
||||
AxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4XDTEzMDgwMTEyMDAwMFoXDTM4
|
||||
MDExNTEyMDAwMFowYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IElu
|
||||
YzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQg
|
||||
VHJ1c3RlZCBSb290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
|
||||
v+aQc2jeu+RdSjwwIjBpM+zCpyUuySE98orYWcLhKac9WKt2ms2uexuEDcQwH/Mb
|
||||
pDgW61bGl20dq7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKvaJNwwrK6dZlq
|
||||
czKU0RBEEC7fgvMHhOZ0O21x4i0MG+4g1ckgHWMpLc7sXk7Ik/ghYZs06wXGXuxb
|
||||
Grzryc/NrDRAX7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e5TXnMcva
|
||||
k17cjo+A2raRmECQecN4x7axxLVqGDgDEI3Y1DekLgV9iPWCPhCRcKtVgkEy19sE
|
||||
cypukQF8IUzUvK4bA3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFYF/ck
|
||||
XEaPZPfBaYh2mHY9WV1CdoeJl2l6SPDgohIbZpp0yt5LHucOY67m1O+SkjqePdwA
|
||||
5EUlibaaRBkrfsCUtNJhbesz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFgqrFj
|
||||
GESVGnZifvaAsPvoZKYz0YkH4b235kOkGLimdwHhD5QMIR2yVCkliWzlDlJRR3S+
|
||||
Jqy2QXXeeqxfjT/JvNNBERJb5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7GrhotP
|
||||
wtZFX50g/KEexcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEAAaNCMEAwDwYDVR0T
|
||||
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFOzX44LScV1kTN8u
|
||||
Zz/nupiuHA9PMA0GCSqGSIb3DQEBDAUAA4ICAQC7Ydl9qWy+F8SRG8OhogCN42Ro
|
||||
D1bPd65w+f2aSpm5yXhcDAxf5OYUKVYLNkldRGPgrZyWGGYbIw09eelta9ZU+NI8
|
||||
wUNArh1Q9VL8kDu7mJlpa8fBp6hopCfcnfknrjCFufZnTTo+j1k5IlNE68hdA8rt
|
||||
UHp9YiEKgMhzZtGgBWBf6KW0p6+o9201nHxaitaiOJnzeIv0TdIgC94E7oybR4Fy
|
||||
DcAUMu8wWS6u4HHyVuRql2+SUG2WjWh6mrI2FHoG8iS5CRFQ1wixuIl6hCNhQinl
|
||||
o82iIEHX0Zxk2eomoYsU10wZslBBcT0/TXAjhgxK3IHSzDKUhA0ICZccT8DuayB0
|
||||
MNLgOTQQhSEVAQjoVTLecUnZKBdQTea+TdF1rNDK+0G4Q6Wq08MFRE8sNpvi+uJF
|
||||
uCNTbAZvZ1V/RrVMP24oWnkm0qSoYpfSHuLtSou8G/1HSg3fZ2Z+sltB0Dvk9Dv0
|
||||
BGPp78JUAFGgiirJznjM1eqHBBizzq9JiK/zkpm2s+ZhD9KFAOdQGuQblZ0Zobmc
|
||||
sZuxAB7v0A9PQmzJCrzuQ/o6caXITSalNf2JXbyFYh0y0qArVO2aV8Hb+hDPGbeL
|
||||
ShuPAbYnlVPotoltW7xo1CPoi1GiVvnwpoCg1h6zvA8PU3UpquoTd+TejIEhrQcQ
|
||||
RxGthz0H0XW8z/NmfjEA
|
||||
-----END PKCS7-----
|
|
@ -1,6 +1,6 @@
|
|||
@echo off
|
||||
|
||||
echo "Cleanup the environment..."
|
||||
echo "Cleanup the environment....."
|
||||
IF EXIST "Src\external_dependencies\vcpkg" (
|
||||
echo Deleting "Src\external_dependencies\vcpkg" ...
|
||||
rmdir /S /Q "Src\external_dependencies\vcpkg"
|
||||
|
@ -49,7 +49,7 @@ IF NOT EXIST .\vcpkg (
|
|||
echo Patching ports...
|
||||
xcopy /K /Y /H /C /I /E .\vcpkg-ports\* .\vcpkg\ports\*
|
||||
|
||||
echo Installing packages...
|
||||
echo Installing packages....
|
||||
cd .\vcpkg
|
||||
.\vcpkg install alac:x86-windows-static-md
|
||||
.\vcpkg install expat:x86-windows-static-md expat:x86-windows-static
|
||||
|
|
|
@ -17,7 +17,7 @@ else:
|
|||
VCPKG_PATH = Path(__file__).parent / 'vcpkg'
|
||||
|
||||
if len(sys.argv) > 3:
|
||||
print("the arguments after the second one are ignored")
|
||||
print("the argumnets after the second one are ignored")
|
||||
|
||||
|
||||
if not VCPKG_PATH.exists():
|
||||
|
|
Loading…
Reference in New Issue