Go Back   Winamp & SHOUTcast Forums > Developer Center > Winamp Development

Reply
Thread Tools Search this Thread Display Modes
Old 18th January 2011, 02:42   #1
tms347
Junior Member
 
Join Date: Jan 2011
Posts: 2
My custom visualization does not work in version 5.601, but did work in 5.56

I created a visualization (vis_DL4.dll) and have been using it in version 5.56, by simply copying it to the plugins folder. However, after installing WinAmp 5.601 on a different system, and copying this same vis_DL4.dll into the plugins folder on that system, it does not appear in the dropdown when selecting visualizations. I used the Borland utility (tdump.exe) to verify the exported entry points of my DLL vs. other visualization DLLs, which DO appear & can be selected & used in this version. Mine & others export "winampVisGetHeader". Mine also exports "___CPPdebugHook", which I do not see in the others. But this was not a problem with my prior version of WinAmp (5.56).

I have also tried completely uninstalling WinAmp, WinAmp Toolbar, and WinAmp Plugin Detector, rebooting, & re-installing WinAmp. Did not matter. To be sure, I then downloaded the Morphyre visualization & copied vis_Morphyre.dll into my plugins folder. Sure enough, it DOES automatically appear in the dropdown & I CAN select it as a visualization. Does anyone have any suggestions on why my vis_*.dll is not working in this newer version?

Thanks,
Todd
tms347 is offline   Reply With Quote
Old 18th January 2011, 06:22   #2
SilverBird775
Senior Member
 
SilverBird775's Avatar
 
Join Date: Jan 2009
Location: Russia
Posts: 237
What compiler do you use?
SilverBird775 is offline   Reply With Quote
Old 18th January 2011, 08:43   #3
DrO
 
Join Date: Sep 2003
Posts: 27,873
other than ensuring all dependency dlls are present (has been so long since i used Borland i can't remember if it has something similar to Microsoft's msvcrxx.dlls).

___CPPdebugHook is something i remember the Borland compiler putting in but there was never a means to get rid of it (at least not when i used 5.0 and 5.5 of their compilers).

make sure that all of the functions in the vis header funcrion are declared with the __cdecl calling convention (have seen other people have issues with Borland compiles due to not having that declared correctly.

other option is to run the Winamp install you are having issues with through a debugger to see if it that gives a better indication of if Winamp is even trying to load the plug-in.

-daz
DrO is offline   Reply With Quote
Old 18th January 2011, 11:04   #4
tms347
Junior Member
 
Join Date: Jan 2011
Posts: 2
Compiler & version

Quote:
Originally Posted by SilverBird775 View Post
What compiler do you use?
I am using Borland CPP version 5.5.
tms347 is offline   Reply With Quote
Old 18th January 2011, 12:44   #5
SilverBird775
Senior Member
 
SilverBird775's Avatar
 
Join Date: Jan 2009
Location: Russia
Posts: 237
I'm hardly any Borland expert, but...

Take a look for a linker utility keys that say something about runtimes. The best solution is to link-in runtimes into your code. Otherwise you should copy at least bc50rtl.dll (not sure about actual DLL names) to the target machine alongside with your plugin.

There is no ideal solution for you, even winamp redistribute microsoft runtimes as well. There should be borland runtimes in your case.
SilverBird775 is offline   Reply With Quote
Old 14th February 2011, 19:25   #6
buggyb
Junior Member
 
Join Date: Feb 2011
Posts: 2
Quote:
Originally Posted by tms347 View Post
I created a visualization (vis_DL4.dll) and have been using it in version 5.56, by simply copying it to the plugins folder.
...
But this was not a problem with my prior version of WinAmp (5.56).
Todd
It's a pitty that brand new release 5.6.x break old plugins functionality! A specially because some of the old good plugins developers are out of developping for now.. ((=
Examples:
1. gen_Wake_up_call.dll, 0.0.0.0
2. ml_audioscrobbler.dll, 1.1.10.0
same <winamp.exe 5.6.0.3091 ERR: "Unhandled exception at 0x... in winamp.exe: 0xC0000005: Access violation.">
It's seems that some part of the general plugins API was changed without backward compatibility!? ((=
buggyb is offline   Reply With Quote
Old 14th February 2011, 20:13   #7
DrO
 
Join Date: Sep 2003
Posts: 27,873
none of the plug-in api was changed in 5.60x. it's most likely related to the dll loading security fixes in 5.59/5.60x and changes in the process address space which has caused some of the plug-ins not now fail or for issues which were already in the plug-ins to now be properly exposed.

as there's only a handful of plug-ins which have failed compared to the security risks of not changing some of the dll loading, etc then i think that's better than the loss it cause.

-daz
DrO is offline   Reply With Quote
Reply
Go Back   Winamp & SHOUTcast Forums > Developer Center > Winamp Development

Tags
custom, dll, export, plugins, visualization

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump