|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1 |
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 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Join Date: Jan 2009
Location: Russia
Posts: 237
|
What compiler do you use?
|
![]() |
![]() |
![]() |
#3 |
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 |
![]() |
![]() |
![]() |
#4 |
Junior Member
Join Date: Jan 2011
Posts: 2
|
Compiler & version
|
![]() |
![]() |
![]() |
#5 |
Senior Member
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. |
![]() |
![]() |
![]() |
#6 | |
Junior Member
Join Date: Feb 2011
Posts: 2
|
Quote:
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!? ((= |
|
![]() |
![]() |
![]() |
#7 |
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 |
![]() |
![]() |
![]() |
|
Tags |
custom, dll, export, plugins, visualization |
Thread Tools | Search this Thread |
Display Modes | |
|
|