Merge ffa894c45713ae9d48e6bc38bbe4325bc25a3b71 into 5b91e3f697cb6a484b6a63d4fe529e4e15f6dd19

This commit is contained in:
nullptr 2024-09-27 15:46:00 +02:00 committed by GitHub
commit ecf95f7524
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,84 +1,6 @@
# Winamp # Rizzamp
## About ![ZR8is3](https://github.com/user-attachments/assets/12ae8f7e-9fec-4ae1-aad0-209f33fcb042)
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. Aight, peep this Winamp? Yo, that joint been out here since '97, and its still holdin' its crown like a boss. Back in the day, it wasnt just your average music player, nah, it was legendary. Had folks out here vibin heavy, like how them Skibidi Toilet memes got the internet wildin' right now, you feel me? Winamp was like the OG meme of the audio game, handling every format you threw at it, no sweat. Nullsoft, them homies who birthed it, had the streets on lock, millions tuned in. Now, development mightve hit the brakes for a sec, but just like how them 2010s memes keep risin from the dead, Winamp came back strong. They opened the source code, let the community run with it, and now developers out here remixing it like a TikTok trend, addin that new wave, keepin it fresh for the culture. So yeah, Winamp still out here whippin' the llamas ass, like its hittin' that Skibidi Toilet dance on loop. If you know, you know real ones stay tapped in.
It really whips the llama's ass.
## Usage
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 is not required.
2. Use the `winampAll_2019.sln` file to build and debug in Visual Studio IDE.
### Dependencies
#### libdiscid
We take libdiscid from https://github.com/metabrainz/libdiscid/tree/v0.6.2, copy it in /Src/external_dependencies/libdiscid-0.6.2/
#### libvpx
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.
#### libmpg123
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.
#### 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`.
To build OpenSSL, you need to install:
- 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.
#### DirectX 9 SDK
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.