Help - Search - Members - Calendar
Full Version: bug in foo_DUMB
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Borisz
this module file plays back incorrectly, in a very audible way. It does so only in foo_DUMB, both the Modplug and Bass.dll based plugins play it back correctly.

http://web.axelero.hu/fka2636/Folk'n'Storm.mod

Is it a fault of foo_DUMB, and if so, when can I expect a fix? Right now I'm using the Bass.dll based plugin for it.
kode54
Yay, modplug compressed samples. Thank you, Olivier Lapique for inventing that "standard." I hope nobody ever has uncompressed samples which begin with the bytes "ADPCM"...

Anyway, new version with support for this uploaded. (as well as for 0.9b3+) Also includes a minor fix for some UMX files that came with the Unreal RTNP mission pack. (which sucks, but some of the tunes are OK.)
Borisz
Well, I didn't thought it was a Modplug related problem because players predating modplug (I'm thinking of Open Cubic Player, not sure how much Modplug-related code is in it tho) could play that file good. The file came with the installer of Kyodai Mahjonng by the way (its a really nice game pack, I recommend it to everyone).
Now I have absolutely no reason to use bass.dll anymore, all of my module files play back correctly with DUMB. Although I would've used Modplug instead of it, if the fb2k plugin could've offered the extra options the actual player does (EQ with Clear preset, Xtra bass, etc. - all of which would be module file exclusive, which I can't do with foobar DSP plugins). DUMB sounds pretty nifty though, the chip-o-matic really tunes up most of my files.

Speaking of modplug, this file is broken since Modplug 1.45 or something (I know that once when I upgraded Modplug, it got broken, but I dont know at which version exactly).
http://web.axelero.hu/fka2636/HEADFUK.MOD
It's a problem in modplugs core, so I don't even know why I'm posting it here, maybe cause it was broken and unfixed since 5 years or so.


One more thing, is it possible to add MOL playlists in any way to foobar? Or is that another Modplug exclusive crap?


edit: oh, and also, is it possible to set DUMB to only repeat the module x times IF any loop info is detected, otherwise do not repeat it at all?
kode54
QUOTE(Borisz @ May 30 2005, 11:14 AM)
(I'm thinking of Open Cubic Player, not sure how much Modplug-related code is in it tho)
*

Open Cubic Player, at least the last version I downloaded, does not support Modplug ADPCM4 sample compression.

Oh, and while I was at it, I also added support for the same crap in both XM and IT, since a few people seemed intent on releasing their modules in this format. While I do commend Ian Luck for inventing his own format for proprietary compression techniques, at least this stuff is public domain. While I don't expect most people to be using it, at least it shouldn't surprise the occasional user, such as yourself. smile.gif

QUOTE
The file came with the installer of Kyodai Mahjonng by the way (its a really nice game pack, I recommend it to everyone).
*

That game appears to use the Modplug player SDK, which is kind of obsolete since the full source code was released in the form of libmodplug, which is in the modplug-xmms project on Sourceforge... and it's still inferior to BASS. BASS also supports this compression as of mid-2002.

QUOTE
Although I would've used Modplug instead of it, if the fb2k plugin could've offered the extra options the actual player does (EQ with Clear preset, Xtra bass, etc. - all of which would be module file exclusive, which I can't do with foobar DSP plugins).

DSP filter configuration specific to the module input? Maybe I can make that happen with 0.9... Maybe...

QUOTE
Speaking of modplug, this file is broken since Modplug 1.45 or something (I know that once when I upgraded Modplug, it got broken, but I dont know at which version exactly).
http://web.axelero.hu/fka2636/HEADFUK.MOD
It's a problem in modplugs core, so I don't even know why I'm posting it here, maybe cause it was broken and unfixed since 5 years or so.
*


Here is the offending source code, important part in bold:
QUOTE
  if (psmp->nLength)
  {
  UINT derr = 0;
  if (psmp->nLoopStart >= psmp->nLength) { psmp->nLoopStart = psmp->nLength-1; derr|=1; }
  if (psmp->nLoopEnd > psmp->nLength) { psmp->nLoopEnd = psmp->nLength; derr |= 1; }
  if (psmp->nLoopStart > psmp->nLoopEnd) derr |= 1;
  if ((psmp->nLoopStart > psmp->nLoopEnd) || (psmp->nLoopEnd <= 8)
    || (psmp->nLoopEnd - psmp->nLoopStart <= 4))
  {
    psmp->nLoopStart = 0;
    psmp->nLoopEnd = 0;
  }
  if (psmp->nLoopEnd > psmp->nLoopStart)
  {
    psmp->uFlags |= CHN_LOOP;
  }
  }


As you can see, it cannot accept either loop points where the end sample is at 8 or less. It won't accept loops shorter than 6 samples, either. This is not how you support a format which is regularly used for chiptunes. *tsk* *tsk*

QUOTE
One more thing, is it possible to add MOL playlists in any way to foobar? Or is that another Modplug exclusive crap?
*

Maybe if you send me an example file, I can examine it. No guarantees of things like Unicode support or exact time ranges or anything like that, though...

QUOTE
edit: oh, and also, is it possible to set DUMB to only repeat the module x times IF any loop info is detected, otherwise do not repeat it at all?
*

I'll look into it. Shouldn't be much harder than adding a reason flag to the loop callback... looped by flow, or looped by jump effect... I may even consider adding the option to play an extra N (milli)seconds after looping and fade that, if anyone wants it. I *think* I saw someone mention this in relation to XMPlay, so why not chalk up another feature to attract people eheheheheheh.
Borisz
QUOTE(kode54 @ May 31 2005, 07:15 PM)
Open Cubic Player, at least the last version I downloaded, does not support Modplug ADPCM4 sample compression.

hm. Could be my memory playing on me. It's been a good while since I used that old 486.

QUOTE
DSP filter configuration specific to the module input? Maybe I can make that happen with 0.9... Maybe...

Yes, yes, please do so. You might also want to take it to the next level - make it possible that you can specify different DSP combinations (and other settings as well) for different file formats. Thats one of the few things I really miss in Foobar, and it would be a very nice addition, even if it would make things a bit more complicated, although I can imagine a way that would make it simple to do.


QUOTE
Maybe if you send me an example file, I can examine it. No guarantees of things like Unicode support or exact time ranges or anything like that, though...

Just getting it working would be good enough, most of my files arent in any special format. Heck, I haven't touched them at all since I upgraded to Win XP.
It seems a pretty simple format tho.
http://web.axelero.hu/fka2636/floppy.mol
http://web.axelero.hu/fka2636/modulok.mol
It seems that it first stores every used directories name.
none of my playlists had anything under ARCHIVES or ARCHIVDIRECTORIES, so I don't know what should be under them. Modplug doesnt seem to have any ZIP support, so I wonder if they are even used to begin with...
as for Files;
At the start of each line, first char in hex;
36 seems to specify a MOD file,
45 for S3M,
47 for XM,
and 51 for IT.
second char specifies the directory, according to the above entries.
32 for first entry
33 for second
34 for third
35 for fourth
etc, dunno for how long does it goes.
It doesn't seem to store any file extensions, nor individual info on which folder they were in, so I checked it for you in case you get lost - I suppose it wouldn't be hard to figure out which dir the Worms or Jazz Jackrabbit songs were in, but the rest aren't so obvious, lol.
I don't store much stuff in that playlist format though, and I don't have a list on which entry specifies which format (for the first char in the FILES line), perhaps the Modplug source tells more about that.


QUOTE
I'll look into it. Shouldn't be much harder than adding a reason flag to the loop callback... looped by flow, or looped by jump effect... I may even consider adding the option to play an extra N (milli)seconds after looping and fade that, if anyone wants it. I *think* I saw someone mention this in relation to XMPlay, so why not chalk up another feature to attract people eheheheheheh.

I just remember how nice would a costum fadeout would be too, of course only if its optional and can be specified by the user. It's really a preference kind of thing.
By the way - the costum loop was the ONLY thing that the Nullsoft module player of winamp was good for. Not like I ever used Winamp for my module files (for obvious reasons I presume), but I like checking the options and I took a note of that one. Heck, it should be included into any file format decoder that supports a looping like that, including most emulated formats as well (ADX, GYM, SPC, SID, AUD, etc. - whereever it is applyable, I don't know the detailes on how they work).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.