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

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events