Winamp Visualisations in XMPlay (xmp-wavis rev.7, source code)

Started by Barna,

Auren

Not working with the latest Milkdrop. :( It is now dependent on Microsoft.VC90.CRT dynamic library which is not being correctly loaded by XMPlay and that causes two errors.

First from XMPlay:



And second from Barna's plugin:



Here's an archive with both the latest version of Milkdrop+presets and Microsoft.VC90.CRT dll-file: http://stashbox.org/796170/Milkdrop.7z

P.S. I also have a lot of C++ redistributables already installed:

saga

Isn't that the same reason why the latest versions of in_mp3 and in_ogg can't be used to tag files in XMPlay anymore? Dunno if anything can be done about that.

winner

I decided to try this plugin again and I'm observing that it works fine on my Win7 x64 system for running Advanced Visual Studio v2.83, by selecting vis_avs.dll in Winamp's directory.

If you're having some trouble getting this to work, try running the MS DirectX Web Updater in order to install missing DirectX files on your system.

I'm still having trouble getting Milkdrop 2.2 to run though. I get a missing dll error (msvcr90.dll). Even after installing this dll in the same directory as the vis dll, I get an error about msvcr90.dll failing to load correctly. The plugin runs fine in Winamp.



Chinese Sausage

winner

Quote from: Chinese SausageSo far I have Milkdrop v2.0e, which works fine. Is it very different from 2.2?
Thanks, v2.0e works great. Stunning visuals. I don't know what 2.2 offers over 2.0e, but I'm finding posts that others are having trouble getting this plugin to work in players other than Winamp.

piovrauz

putting msvcr90.dll in the windows/system32/ directory eliminates one of the two errors. I suppose it just miss the other libs. I'll do some testing.

nope, can't load it or get rid of that R6034, which is something having to do with .manidest stuff; being not a programmer, I abandon :P

Ian @ un4seen

The problem is that the VIS_MILK2.DLL file doesn't have an embedded "manifest" to tell Windows what MSVCR90.DLL version it needs, so it'll just use whatever the EXE is using, but XMPlay doesn't use MSVCR90.DLL. It is possible to fix that by adding a "manifest" to the DLL via the Manifest Tool. If you would like to do that, save this to a file called "manifest" in the same directory...

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

And then run this...

mt.exe -manifest manifest -outputresource:vis_milk2.dll;2

piovrauz

mmm, done as instructed, and indeed it works now. too bad you've got to dl a whole SDK for it XD.
btw, is it ok to attach the dll (the milkdrop one) to the post? or you didn't do it with a reason behind?

Ian @ un4seen

Give a man a patched plugin and he has a working plugin, but teach a man to patch a plugin and he has working plugins for life :)

piovrauz

Yup, this way we can fix all the plugins that have this issue, and possible future version too. Too bad the SDK is so damn big, expecially compared to the plugin size.
Thanks a lot for the instructions, easy to use even for me (tehehe).

winner

Quote from: piovrauzmmm, done as instructed, and indeed it works now. too bad you've got to dl a whole SDK for it XD.
btw, is it ok to attach the dll (the milkdrop one) to the post? or you didn't do it with a reason behind?

Yeah, too bad the whole SDK has to be installed to get this. Couldn't find mt.exe by its lonesome anywhere. Unless necessary to keep the SDK, I'll probably install, grab mt.exe, then uninstall.

saga

Quote from: winnerUnless necessary to keep the SDK, I'll probably install, grab mt.exe, then uninstall.
Well, it's only necessary while embedding the manifest, so depending on how often you plan to do that, you will either have to keep it or throw it away. :D

winner

Excellent! I was able to get this working as well, however at XMPlay's Options and Stuff window, after selecting "Winamp VIS Wrapper - MilkDrop 2.2 (off)" and clicking the "Config" button, I get this:

Microsoft Visual C++ Runtime Library | Runtime Error! | Program: C:\Program Files (x86)\XMPlay\xmplay.exe | R6034 | An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information | OK

After clicking OK, I get a "Winamp Vis wrapper" window with the MilkDrop v2.22 plugin highlighted and I'm able to click the Start button and make it run.

I'll say also that to use MilkDrop v2.22 I simply removed the 2e version DLL from the directory, replaced it with the 2.22 version, and did the mt.exe command. I used the msvcr90 dll copied from Winamp's MilkDrop installation of v2.22.

If anyone has an idea to fix this, that'd be great, otherwise I think the vis plugin is functioning as expected, and it's awesome to watch.
 

Chinese Sausage

Am I missing something from 2.2? Is there too much difference in size compared to 2.0e?

Ian @ un4seen

Quote from: winnerYeah, too bad the whole SDK has to be installed to get this. Couldn't find mt.exe by its lonesome anywhere. Unless necessary to keep the SDK, I'll probably install, grab mt.exe, then uninstall.

That should be fine; just copy mt.exe and then uninstall the SDK.

Quote from: winnerExcellent! I was able to get this working as well, however at XMPlay's Options and Stuff window, after selecting "Winamp VIS Wrapper - MilkDrop 2.2 (off)" and clicking the "Config" button, I get this:

Microsoft Visual C++ Runtime Library | Runtime Error! | Program: C:\Program Files (x86)\XMPlay\xmplay.exe | R6034 | An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information | OK

If you're using the package posted above by Auren, make sure you remove the "Microsoft.VC90.CRT" directory (it's not needed/wanted).

winner

Quote from: Ian @ un4seenIf you're using the package posted above by Auren, make sure you remove the "Microsoft.VC90.CRT" directory (it's not needed/wanted).
Thanks! I didn't have the directory, but I still had the msvcr90.dll file in the wavis directory. I removed it, and no more error. I thought I had tried that previously.

winner

OK, now that we have a Milkdrop 2.2 DLL that works in the Winamp Vis wrapper for XMPlay, can this be packaged with the other components of Milkdrop and posted on the Un4seen website?

Dotpitch

Quote from: winnerOK, now that we have a Milkdrop 2.2 DLL that works in the Winamp Vis wrapper for XMPlay, can this be packaged with the other components of Milkdrop and posted on the Un4seen website?
That depends on the copyright applied to it. Milkdrop was released under a BSD license, so that should be fine, but I'm not sure about Milkdrop 2. If you want to create and maintain such a package and have permission from the copyright owners to distribute it, I guess it deserves its own link on the XMPlay page.

Chinese Sausage

Does somebody have the mt.exe file so it is availabe for download?
Cheers!  :)

winner

Quote from: Chinese SausageDoes somebody have the mt.exe file so it is availabe for download?
Cheers!  :)
I had trouble finding this file by itself. Other Microsoft dlls are widely available but this one's allusive, maybe due to some licensing restriction.