in_modplug.dll: Winamp input plugin based on libmodplug (+GitHub)

Started by dsp2003, June 13, 2011, 16:15:34

Previous topic - Next topic

Dr.Flay

This version of the plugin is useless if you want the complete list of mod playback.
You removed It's most useful feature!

OCTAMED playback !!!
I only use it in Winamp to play Octamed files, and to add other missing formats to XMPlayer.
This plugin is retarded (in a completely literal sense).

What's wrong with you? This plugin is very incomplete. It won't even play Digibooster DBM files.
Here is what the old version supports.

The following file types are supported in the current version:
    - *.669: UNIS 669, 669 Composer modules.
    - *.AMS: Velvet Studio AMS 1.x modules.
    - *.AMF: Asylum / DSMI modules.
    - *.DBM: DigiBooster Pro modules.
    - *.DMF: X-Tracker modules.
    - *.DSM: DSIK internal format modules.
    - *.FAR: Farandole Composer modules (beta).
    - *.IT:  Impulse Tracker modules.
    - *.MED: OctaMed modules.
    - *.MDL: DigiTracker 1.x modules.
    - *.MOD: ProTracker modules (4-32 channels, 15/31 samples).
    - *.MOL: Module lists, compatible with MOD4WIN.
    - *.MTM: MultiTracker modules.
    - *.NST: NoiseTracker modules.
    - *.OKT: OktaLyser modules.
    - *.PSM: ProTracker Studio modules.
    - *.PTM: PolyTracker modules.
    - *.S3M: ScreamTracker III modules.
    - *.STM: ScreamTracker II modules.
    - *.ULT: UltraTracker modules.
    - *.UMX: Musics from Unreal and Unreal Tournament
    - *.WOW: Grave Composer modules.
    - *.XM:  FastTracker modules.
    - *.WAV: Wave Files (smaller than 16MB).
    - All the above when zipped (*.MDZ, *.S3Z, *.XMZ, *.ITZ, *.ZIP).
    - All of the above then compressed with RAR (*.MDR, *.RAR)
    - All of the above when compressed with LHA (Amiga archives)


Why get rid of all the useful extra formats?
I have gone back to the original, and again have full and complete access to all the mods I have.

I apologise for seeming harsh, but this plugin is worse than useless,which makes it worse than the original.

Saga Musix

Quote from: Dr.Flay on February 23, 2012, 21:52:27
I only use it in Winamp to play Octamed files, and to add other missing formats to XMPlayer.
This plugin is retarded (in a completely literal sense).
Calling someone or something "retarded" is probably one of the most harsh and unfitting things you can do to hurt a person and it's hard to apologize for something like that, so stop acting like a pubescent kid and consider yourself warned. Also, a thing cannot be literally retarded.

QuoteWhat's wrong with you? This plugin is very incomplete. It won't even play Digibooster DBM files.
I checked the sourcecode of in_modplug.dll and it still contains all the player code for Oktamed / DigiBooster / etc. formats. I don't know how Winamp handles file type recognition, but if it merely does file extension checking, it probably implements one of the worst ways to check whether a file is actually supported. Line 595 in in_modplug's main.c should be changed from
"mo3;mod;stm;s3m;it;xm;mtm;ult;669;far;amf;okt;ptm\0Music Modules\0",
to
"mo3;mod;stm;s3m;it;xm;mtm;ult;669;far;amf;okt;oct;ptm;dbm;ams;amf;dmf;dsm;med;mdl;nst;m15;psm;umx;wow\0Music Modules\0",
Anyway, a good player shouldn't rely on file extensions, so this is really not the fault of the in_modplug coders but rather a misconception in Winamp.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Dr.Flay

Like I said I am sorry for seeming harsh (my programmers get nothing less), but I do not unfortunately use the word "retarded" lightly.
I do not mean it in the way that Americans seem to miss-use the word. I mean it in it's literal sense of backwards/regressive/retarded etc.
This plugin is a step backwards, not forwards. What else do you call that?

No matter how Winamp employs it's file recognition, this plugin is for Winamp, yet removes several useful formats, compared to it's predecessor.
Unfortunately we are not living in an Amiga world, where file extensions are unimportant, so the coders oversight there is completely to blame.
What OS is Winamp for? and what OS is most picky about extensions?

Luckily XMPlayer does not care about file extensions, so why when used with this plugin do I lose all the same formats that I lose from Winamp?
The plugin is the lowest common denominator here.
I suggest that it is broken/incomplete and gives less than you had before.

I have had programmers and designers dragged into the office for less (though obviously this is a free product, but the standard should be the same).
This is Beta or Alpha status and should be labelled as such, with a clear statement that using this plugin to fix certain issues comes at the cost of format support.
How many other formats this plugin will not play I do not know, as I put the old one back without much delay.
This will need testing and adding to the description.

Saga Musix

Quote from: Dr.Flay on February 26, 2012, 23:18:30
What else do you call that?
A regression. You should know that term if you talk about "your programmers".

Quotethis plugin is for Winamp, yet removes several useful formats, compared to it's predecessor.
I am absolutely convinced that this was in no way intended by the plugin authors and that they simply didn't know that Winamp needs a list of supported extensions to let a plugin handle a file.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Dr.Flay

I have no doubt that the author "Shy Artist" did not intend to cripple this plugin, but upon further investigation, it seems that even the full OpenModPlug Tracker will not open the same files that both XMPlay and Winamp can no longer open.
I suggest this is a deeper "core" problem, that needs addressing :-(
Aminet is a fine source of a variety of mod types.

Every re-build should be tested on at least 2 of every format it is supposed to support. Loading and saving (annoying but necessary).
Yes I've had run-ins with "my programmers" (and they all still love me, honest) but they have all progressed into makers of tightly optimised code, that "does what it says on the tin".

I can supply the non-loading files.
And it has nothing to do with file extensions, as they were corrected anyway.

Saga Musix

Quoteit seems that even the full OpenModPlug Tracker will not open the same files that both XMPlay and Winamp can no longer open.
Please provide the files in question. I cannot fix anything that I'm not aware of. Protection against buffer overflows and reading from uninitialized memory have been strenghtened in some module readers lately, so it's possible that they f.e. won't load broken files anymore that loaded in older versions. I've also removed one loader that was totally broken anyway, so yes, there are justified reasons why some files don't load anymore.

QuoteEvery re-build should be tested on at least 2 of every format it is supposed to support. Loading and saving (annoying but necessary).
If that amount of unit tests was that easy to write in someone's spare time, it would probably already have been done (there are, however, unit tests for XM, IT and MPTM files). And two files per format aren't even nearly enough for many weird module formats, and it happens very often that 100 files go well and the 101th file doesn't load properly. I've had it often enough, and not a single unit test that the other 100 modules would have passed would have helped there (e.g.:  Boobiesqueezed .XM files).
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

dsp2003

Jojo, thank you very much, you are totally right - Winamp relies on file extensions reported by plugins for file format detection routine to be executed in the first place. On the other hand, libmodplug's documentation regarding supported playback formats is... well, really incomplete.

Anyway, I've uploaded the new bugfixed and improved build v0.2b. See the first page of this topic. ^_^

See Version.txt for complete list of changes.

P.S. I really don't care about criticism, especially when it comes from such entitled persons like Dr.Flay who can't even recompile plugin with one line change and prefers to rant aimlessly instead.

Saga Musix

Good to hear it's fixed.

Quote from: dsp2003 on June 13, 2011, 16:15:34P.P.P.S. This plugin is no longer in development, thanks to nearly zero feedback and lack of interest.
Don't expect praise and glory from developing "yet another module player plugin". There are too many of them, and there are too little people to appreciate them. Hell, I don't even get daily love letters for developing OpenMPT. :( ;)
But really, "nearly zero feedback" is much better than no feedback at all, it tells you that some person somewhere in this world thinks the stuff you do is cool and useful.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

dsp2003

The complete source code for the plugin is now available here:

https://github.com/dsp2003/in_modplug

Sorry it took ages to put it somewhere in the public, because I didn't had stable connection which would allow SVN/GIT to function properly. т-т

Saga Musix

As much as I appreciate your effort, I'd also like to point out that there's an up-to-date Winamp input plugin based on libopenmpt. Contrary to libmodplug, this is actively maintained and much more compatible with many formats.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

dsp2003

Thanks. I really had no idea such plugin ever existed... or wait, you've made it after I posted this one?

I'll leave this code public anyway, for historical reasons.

P.S. Are you SANE? libopenmpt_settings.dll written in C#? 400 Megabytes of useless .net libraries just to run a simple dialog window?

Saga Musix

Quote from: dsp2003 on February 04, 2014, 09:45:01
Thanks. I really had no idea such plugin ever existed... or wait, you've made it after I posted this one?
libopenmpt has been released last December, so yeah.

Quote from: dsp2003 on February 04, 2014, 09:45:01
P.S. Are you SANE? libopenmpt_settings.dll written in C#? 400 Megabytes of useless .net libraries just to run a simple dialog window?
You're welcome to rewrite the settings dialog using native WinAPI. We are well aware that the current solution is not optimal, but we found it to be a better solution than not having a settings dialog at all, and writing the dialog using .net was the quickest way to realize it.
Besides, there's so much .net software these days that it's become relatively unlikely that the dependencies aren't installed already.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

dsp2003

This is getting off-topic, but I'll write anyway.

The libopenmpt (or at least the Winamp plugin) outputs heavy static noise. Here's the file I've tested it with.

It happens when Winamp's Equalizer is turned on. Tested against version 5.53.

P.S. If interfaces of libmodplug and libopenmpt are the same, you are free to take the file info dialog, as well as the current ini file config mechanism from my plugin. At least it's better than dealing with .net.

P.P.S. I don't use SSD, and each time the .net application starts the system freezes for 5-8 seconds before it will read and load all required libraries. I know I have an old machine, but this is definitely cannot be any good.

manx

Quote from: dsp2003 on February 04, 2014, 12:16:28
The libopenmpt (or at least the Winamp plugin) outputs heavy static noise. Here's the file I've tested it with.
It happens when Winamp's Equalizer is turned on. Tested against version 5.53.

DSP plugins (and the Winamp equalizer) should now work correctly since r3654, please try http://buildbot.openmpt.org/builds/auto/libopenmpt-win32/libopenmpt-win32-r3656.7z.