Britishfy Update README.md

This commit is contained in:
Jason Jesse Huber 2024-10-04 18:53:48 +02:00 committed by GitHub
parent 5b91e3f697
commit ff560f02ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

101
README.md
View File

@ -1,84 +1,57 @@
**Winamp: A Most Splendid British Affair, By Jove!**
# Winamp
Gather round, dear chaps and chapesses, for a tale as quintessentially British as Big Ben, red telephone boxes, and Her Majestys corgis gallivanting on the lush lawns of Buckingham Palace. Yes, its time to dust off your bowler hats, clutch your teacups, and straighten that Union Jack — because _Winamp_, the venerable, time-honoured titan of the digital music world, has returned in all its resplendent glory! In a move that would make even Winston Churchill raise an eyebrow in approval, the source code has been flung wide open to the public, akin to opening the gates of Windsor Castle for the common folk. It's a true marvel of modern British spirit!
## About
### _It Whips the Llamas Arse, Old Bean, and Then Some!_
Winamp is a multimedia player launched in 1997, iconic for its flexibility and wide compatibility with audio formats. Originally developed by Nullsoft, it gained massive popularity with still millions of users. Its development slowed down, but now, its source code was opened to the community, allowing developers to improve and modernize the player to meet current user needs.
In the grand tradition of great British understatements — such as calling the Channel Tunnel a “rather decent engineering project” — Winamps slogan has endured the test of time, much like the Queen herself. “It really whips the llamas arse” — a declaration so audacious that it rivals even a lively debate in the House of Commons! Now, in this grand new era of open-source, developers far and wide can don their metaphorical top hats, roll up their sleeves, and bring Winamp marching into the future with all the pomp and pageantry of a Royal Jubilee.
It really whips the llama's ass.
### _Usage: A Task Worthy of a Knight of the Realm!_
## Usage
Lets not mince words, good fellow — building Winamp is not for the faint of heart, but neither was the British Empire! Youll need to prepare your arsenal with the precision of a Grenadier Guard on parade. The foundation of this majestic enterprise is Visual Studio 2019 and Intel IPP libs (v6.1.1.035, naturally — no riff-raff will do). Here are your orders, soldier:
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:
* **Option 1: The Command Line Charge**Execute the build\_winampAll\_2019.cmd script, and in a manoeuvre as swift and decisive as Wellington at Waterloo, youll produce four versions (x86 and x64, Debug and Release). Visual Studio IDE? Pah! Who needs it? This is the digital equivalent of charging into battle on horseback.
* **Option 2: The Visual Studio Campaign**Should you prefer a more leisurely amble through the hills and dales of software development, the winampAll\_2019.sln file is your ticket to building and debugging in the venerable Visual Studio IDE. Its as if youre settling in for a quiet afternoon in the drawing room with tea and biscuits. Marvellous!
1. Use the `build_winampAll_2019.cmd` script file that makes 4 versions x86/x64 (Debug and Release). In this case, Visual Studio IDE is not required.
2. Use the `winampAll_2019.sln` file to build and debug in Visual Studio IDE.
### _Dependencies: A Gathering of Britain's Finest!_
### Dependencies
Now, no grand British venture is complete without a proper entourage. Much like the chaps in red coats who marched to victory at Trafalgar, Winamp requires its own stalwart companions to see it through to triumph:
#### libdiscid
* **libdiscid**: Fetch this trusty comrade from the digital treasure trove known as Metabrainz, and tuck it into /Src/external\_dependencies/libdiscid-0.6.2/. Quite right, carry on!
* **libvpx**: After a quick polish and adjustment, run unpack\_libvpx\_v1.8.2\_msvc16.cmd and itll unpack like a fine pair of tailor-made trousers from Savile Row.
* **libmpg123**: Like a well-bred butler, this library will require some careful handling. Modify, then run unpack\_libmpg123.cmd to get the necessary DLLs. Spiffing!
* **OpenSSL**: For this undertaking, youll need OpenSSL 1.0.1u — the Rolls-Royce of cryptographic libraries. A quick bout of building with build\_vs\_2019\_openssl\_x86.cmd or build\_vs\_2019\_openssl\_64.cmd will have you in top form. Absolutely first class!
We take libdiscid from https://github.com/metabrainz/libdiscid/tree/v0.6.2, copy it in /Src/external_dependencies/libdiscid-0.6.2/
### _The Tools of Empire: By Royal Decree!_
#### libvpx
Just as Britannia ruled the waves, you too shall rule the build process — but only with the finest tools at your disposal, like an officer preparing for a grand expedition across the colonies:
We take libvpx from [https://github.com/ShiftMediaProject/libvpx](https://github.com/ShiftMediaProject/libvpx), modify it, and pack it to archive.
Run `unpack_libvpx_v1.8.2_msvc16.cmd` to unpack.
* **7-Zip**: As essential to a British developer as the Crown Jewels are to the monarchy. Retrieve it from [https://www.7-zip.org/](https://www.7-zip.org/) and handle it with care — licensed under GNU LGPL, of course, for the most proper of reasons.
* **NASM**: A tool as reliable as a trusty British brolly in the midst of a torrential downpour. Youll find it licensed under the 2-Clause BSD License, and just as dependable.
* **Perl**: Every great British explorer needs a map, and every great British developer needs Perl. Licensed under the Artistic License or GPL, its a tool so elegant it might as well be sipping a glass of Pimm's on the veranda.
#### libmpg123
### _Final Flourishes: The Queen's English of Coding!_
We take libmpg123 from [https://www.mpg123.de/download.shtml](https://www.mpg123.de/download.shtml), modify it, and pack it to archive.
Run `unpack_libmpg123.cmd` to unpack and process the DLLs.
Of course, one does not simply march into battle without a few adjustments to ensure everything runs smoother than a Bentley gliding through the countryside. A key fix lies in atltransactionmanager.h at line 427. Youll need to change:
` cppCode return ::DeleteFile((LPTSTR)lpFileName); `
#### OpenSSL
to the much more agreeable:
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`.
` cppCode return DeleteFile((LPTSTR)lpFileName); `
To build OpenSSL, you need to install:
A minor change, but much like making sure your monocle is polished and your cravat neatly tied, its these little details that separate the gentlemen from the ruffians.
- 7-Zip ([https://www.7-zip.org/](https://www.7-zip.org/)) Licensed under the GNU LGPL.
- NASM ([https://www.nasm.us/](https://www.nasm.us/)) Licensed under the 2-Clause BSD License.
- Perl ([https://www.perl.org/](https://www.perl.org/)) Licensed under the Artistic License or GPL.
### _God Save the Winamp!_
#### DirectX 9 SDK
In conclusion, dear Britons and admirers of all things splendidly British, we are witnessing nothing short of a second Renaissance! Winamp has returned, and its up to us — the gallant, tea-drinking, stoically unflappable citizens of this green and pleasant land — to see that it thrives once again. So, raise your teacups high, sing _God Save the Queen_ (or King, depending on the year), and let us embark on this most noble of endeavours!
We take DirectX 9 SDK (June 2010) from Microsoft, modify it, and pack it to archive.
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`
Go to line 427 and change from:
```cpp
return ::DeleteFile((LPTSTR)lpFileName);
```
to:
```cpp
return DeleteFile((LPTSTR)lpFileName);
```
#### Intel IPP 6.1.1.035
We take Intel IPP 6.1.1.035, modify it, and pack it to archive.
Run `unpack_intel_ipp_6.1.1.035.cmd` to unpack it.
### Build Tools
Several external build tools are required to build Winamp. These tools are not bundled directly into the repository to comply with their respective licenses. You will need to download them separately from the following links:
- **7-Zip Portable**: Download from [https://www.7-zip.org/](https://www.7-zip.org/)
License: GNU LGPL
- **Git**: Download from [https://git-scm.com/download/win](https://git-scm.com/download/win)
License: GNU GPL v2
- **TortoiseSVN**: Download from [https://tortoisesvn.net/downloads.html](https://tortoisesvn.net/downloads.html)
License: GNU GPL v2
Make sure to install these tools as part of your build environment. You may need to modify the build scripts to reflect the correct paths to these tools on your system.
Winamp forever! God save the llama! And may Britain forever rule the digital waves!