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 for Converge360.

comments powered by Disqus


  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube