News

Devs Reviving Winamp Struggled with Visual Studio 2008 to 2019 Upgrade

News emerged last week that famed Windows media player Winamp had been revived after four years of work by developers, whose most difficult problem was upgrading the project from Visual Studio 2008 to Visual Studio 2019.

After a 1997 debut -- when users likely were using Windows 95 and Windows NT 4.0 and using it to listen to MP3 music files -- the media player has undergone ownership changes and experienced a spotty release history, according to Wikipedia. Owner Radionomy released v5.8 in 2018 while announcing that v6 would ship in 2019, but that didn't happen.

Instead, Winamp 5.9 RC1 was quietly released on July 26, with the only indication being a forum post by DJ Egg, a "techorator" on the Winamp & Shoutcast team.

"This is the culmination of 4 years' work since the 5.8 release," DJ Egg said. "Two dev teams, and a pandemic-induced hiatus period in between."

Winamp 5.9 RC1
[Click on image for larger view.] Winamp 5.9 RC1

Along the way, developers experienced some problems, not the least of which was upgrading the project -- written in C/C++ -- from its Visual Studio 2008 foundation to Visual Studio 2019. That meant skipping VS 2010, 2013, 2015 and 2017. Unsurprisingly, that led to some challenges.

"To the end-user, it might not seem like there's a whole heap of changes," DJ Egg said, "but the largest and hardest part was actually migrating the entire project from VS2008 to VS2019 and getting it all to build successfully."

As many Visual Studio Magazine readers know, with any complicated project, "getting it all to build successfully" can be a maddening experience. It follows that skipping four Visual Studio versions could well be a development nightmare. One specific -- albeit minor -- problem encountered is this: "Unicode support in Plush was broken during the migration to VS2019."

DJ Egg asked users to test all of the features of Winamp -- but requested they do so on Windows 7 - 8.1, "if possible." While this reporter thought that might be a big ask in the era of Windows 11, StatCounter data says Windows 7 accounted for nearly 12 percent of all current Windows PCs in July 2022, almost exactly the same percentage as Windows 11. Windows 8.1 had less than 3 percent market share.

This reporter can at least confirm Winamp installs and loads on Windows 10, presenting the user with a short "Llama Whippin' Intro" audio file from company mascot DJ Mike Llama that dramatically states, "Winamp, it really whips the llama's ass" (referencing the Wesley Willis song "Whip the Llama's Ass").

Going forward, "The groundwork has now been laid, and now we can concentrate more on features," DJ Egg said, "Whether fixing/replacing old ones or adding new."

Specifically on the list of things to be fixed for the next public build is this item:

Although not included with the Winamp distribution, some plug-ins with a dependency for msvcr90.dll are "not loaded".
The VS2008 Microsoft.VC90.CRT runtime is no longer shipped/required/auto-loaded with Winamp 5.9
(VC142 runtime is now installed on Win7-8.1)

Of course, VS 2019 might be considered by some to be old tech now, with VS 2022 arriving in November 2021.

It's unknown if the next dev cycle will switch to latest Visual Studio version. If so, the migration -- and successful builds -- will likely be a lot easier.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube