Category Archives: C++

Winamp DSP plugin error loading plugin and odd strange characters

Published by:

Before starting to make my own Winamp plugins, I tried compiling an existing plugin DLL from source-code in my current setup, thus testing if my setup was working. I used the Beginner Basic Plugin Guide as a starting point for my solution in Visual Studio 2012. That seemed to work.

I then compiled the resteless_dsp plugin, for which I found the source here: http://www.hartwork.org/doku.php?id=restless_winamp_plugin. This became problematic.

First the plugin compiled without error:

When I ran the plugin locally, it worked fine. But when I tried to run it on another system (a clean windows 7 virtual machine) I got strange results. The plugin would load (show-up in the list of plugins), but the title was replaced by random non ASCII characters. The file name looked ok though. Like this:

18-07-2013 11-50-58

And when I tried to run the configuration it told me ” Error loading module “.

18-07-2013 11-52-00

The problem boiled down to a wrong configuration (again) of Visual Studio. I was using Common Language support… Resolving this would imply installing extra software a the target PC and I didn’t want that. So I decided to go without CLR.

I changed the config like this:
1) Project->Properties->General->Common Language Runtime Support-> “No Common Language support”
2) Project->Properties->C/C++->Code Generation->Runtime Library-> “Multi-threaded (/MT)”

18-07-2013 12-25-01
18-07-2013 12-27-34

Now when I build I got a lot of errors:

I eliminated those by commenting out everything in the AssemblyInfo.cpp that raised an error. (leave #include “stdafx.h” un-commented)

That eventually did the trick. The code compiles ok and it works fine on other windows systems.

I hope this will help someone out there.

Note that when you merely overwrite the dll with a newer version, the ” Error loading module ” error won’t go away. Use the “uninstall plug-in” button (right of the configure button) first to remove old versions of the plugin before adding the new version. Failing to do so will complicate debugging.

Compile error Winamp basic plugin example in Visual Studio 2012

Published by:

When you are learning the Beginner’s Basic Plugin tutorial, in order to create your first basic general plugin for Winamp, you might run into a compile error right away.

While using Visual Studio 2012 and creating the project as described in the tutorial, the first compile gave me this error:

What this error basically means is that MessageBoxW cannot be found. The function resides in user32.lib, and the Linker should know where to find it. As we created the project, Visual Studio 2012 did not add the dependencies for the linker (it left the field empty). The solution is to add these dependencies manually.

Go to Configuration Properties -> Linker -> Input -> Additional Dependencies.
Click the dropdown arrow on the right and select < inherit from parent or project defaults >

dependvs2012

Now click ok.
This will in fact populate the field with all the dependencies (bunch of dll’s); You can see those if you go back to the settings again.

Save the project and try again.
Compiling should now run successfully.

Bad Behavior has blocked 1209 access attempts in the last 7 days.