Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_dumb (Read 312790 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_dumb

Reply #125
Quote
I noticed a while ago that I have a bunch of mods - mostly .s3ms, also some .xm - showing up blank in the playlist. Inspection reveals that they have an empty TITLE metadata field. It would be nice to have an option for foo_dumb which would make it use the filename as the song title when the title itself is empty.

Aside from that, I miss .stm support.
[a href="index.php?act=findpost&pid=375330"][{POST_SNAPBACK}][/a]

Heh, I just had the same issue with some XM files.

Code: [Select]
$if($stricmp(%__codec%,xm),
$if($stricmp(%title%,                    ),$upper(%_filename%),%title%),
%title%)


I think that's what I did so they display the same way as they did in modplug.

edit: by the way - would it be possible to include looping + fadeout? So you can set a module to loop x times then fadeout IF it has loop info. I'm sure this was mentioned before...

foo_dumb

Reply #126
Quote
Heh, I just had the same issue with some XM files.

Cheers, I could adapt your code to get it work. False alarm - my fault for not having familiarised myself with title formatting.

I still miss .stm support, though.

foo_dumb

Reply #127
I went through the Mod Archive and came up with every file that doesn't load at all with foo_dumb.

First we have the "priority" modules, of which there are four:
   darkness2.s3m is the one module that loads fine, but I guess subsong scanning messes it up: foo_dumb comes up with twelve 11-second and five 0-length subsongs, none of which contain any sound.
   Trying to load a-000000.it causes foobar to use 100% of the CPU and hang until the loading is aborted. Maybe it terminates, but not in any reasonable amount of time.
   Trying to load either of the last two, hall8.it or n4.s3m, outright crashes foobar2000.

priority.zip, 2.36 MiB, 4 files

Then a "semi-priority" module. This one is actually an S3M, but if it is renamed to a MOD (as it originally was), it causes the same problem as a-000000.it of the "priority" modules.

drdfca.s3m, 0.17 MiB

The rest just plain fail to load - foo_dumb doesn't recognise them. I've tested them to make sure that they work in at least one of: Modplug Tracker, Scream Tracker 3, Fast Tracker 2, Impulse Tracker.

669.zip, 0.33 MiB, 2 files
it.zip, 20.5 MiB, 15 files
aw_bface.mtm, 0.11 MiB
s3m.zip, 33.0 MiB, 43 files
xm.zip, 41.0 MiB, 56 files

foo_dumb

Reply #128
I have a MOD in which foo_dumb can't find a subsong (kode54, let me know when you grab it so I can delete it from my host).

foo_dumb

Reply #129
I didn't notice most of this crap until TrNSZ downloaded the entire modarchive torrent a while ago and started rediscovering these problems on his own and reported them to me on IRC. I haven't been following the forum a whole lot. Anyway, back in the saddle for a while...

2006-05-27 22:40 UTC - kode54
  • S3M reader defaults to maximum (128) global volume when the header value is either zero or greater than 64. (darkness2.s3m) [This still doesn't fix the issue of extra subsongs, which are caused by extra not so empty patterns way the hell at the end of the orders list, past the point where other players and even ModPlug Tracker seem to give up and call it the end of the list. Heh, so there's a huge padding of 255's, which indicate end of order list, but they usually only signal end of playback, and the scanner skips them when looking for more real orders.]
  • Version is now 0.9.7.4
2006-05-23 00:06 UTC - kode54
  • Changed module format load order priority to check all file type signatures before attempting MOD now, and then only 15 sample module for MOD/MDZ. This should hopefully cut back on problems with N formats renamed to MOD.
2006-05-22 21:44 UTC - kode54
  • XM reader now supports up to 256 instruments, even though FT2 only supports up to 128. ModPlug Tracker again. (no_utndgs2.xm)
  • Main loader function in foo_dumb now supports other files misnamed as .MOD (hilse.mod) [This is a renamed .IT file. Condition still changed a bit, see above.]
2006-05-22 18:43 UTC - kode54
  • XM reader now ignores when instrument header contains a sample header size of 0, when it should be 0x28. (neptune_*.xm)
  • S3M reader was using the incorrect index into component for sample packing when reading sample data. Was using n, should have been m. [night2.s3m helped me to notice this bug, but the file is still truncated and therefore broken.]
2006-05-22 17:26 UTC - kode54
  • IT renderer may have a bug with its time_lost / loop handling. Switchover from sustain loop would compound time_lost onto itself for every note-off. I'm not sure if this crap is even doing the right thing, especially in the case of a sample with a sustain loop, but no main loop. Working around for now by zeroing time_lost after note-off. (hall8.it) [This is a bit of a bug and/or incorrect fix, I'm not sure how this is supposed to be handled. Common sense says that playback position remains where it is if sustain->normal loop leaves the position inside the normal loop. Needs further testing, or maybe asking around.]
  • S3M reader ignores effects outside of 1-25 range so nothing can hit internal effects which are XM or PTM only. (N4.S3M)
  • IT reader now supports ModPlug Tracker extensions for up to 4000 samples and mapping them with instruments. (hallowe.it.it)
  • XM reader now supports instrument vibrato 4, random. Yet another ModPlug extension. (hcw-st.xm)
2006-05-21 02:11 UTC - kode54
  • S3M reader correctly reads all 24 bits of the sample memory segment offset, fixing at least one file with >1MB of sample data (d-t-x_x.s3m)
  • XM reader stops reading instruments when it has at least one valid
      instrument and encounters an error, fixing at least one file with too high instrument count in the header (drx-chri.xm)
  • IT reader ignores instrument header signatures, since there seem to be files with bad signatures on unused/filler instruments (dsouls.it)
  • MOD reader can now be restricted to handling 31 sample files with legal/known signatures only, so frontend can fall back on restricted MOD loading for files with incorrect extensions (dreamer_0g.s3m) [This has been changed again, see above.]
  • Version is now 0.9.7.2
2006-05-20 xx:xx UTC - kode54
  • Modified silence skipping to hack around some "S L O W" effects crap and a misused break to row effect (a-000000.it) [Damn delay pattern from hell, mixture of slow ticks per row, tempo, a mess of pattern loops, and finally S00 L00 O00 W00 just to spell out a word, even though those effects should have audible effect of sorts. Ignored counting just those effects, just to pass this file.]
Known oddities:
  • n-sform.it: LZH packed. Install LHA unpacker to play it, or just unpack it first.
  • hijastus.xm, night2.s3m, nightbeat-waylands.it: Truncated. By a whole lot. Sometimes over half the file missing.
  • nicsno.xm: Truncated by a whole 499 bytes. Adding 499 bytes of null data to the end of the last sample should fix it, and is quite similar to the end sample data anyway.
  • herc-g2.it: Truncated. You can find an unmolested copy of the file in this archive.
  • nin_realmix.s3m: Broken file. nin-1.s3m appears to be the same exact song, only not broken.
  • graymm.mod: The main song ends with global volume to 0, but due to the fact that I tailored the global volume code to wait out a whole 12 seconds of silence, the subsong (which appears to be quite the mess) is merged into the end of the main song. Without this threshold, at least with a second or two, there are a few files which would fail. And then there is that file from Final Reality, where I'm not sure if the silence handling should separate the main part from the second half. Oh well, too many different files where this fuzzy logic can either go right or wrong...
And here are files among the above which slipped under the radar, or their relative position in the modarchive collection pushed them under the radar by other files that had similar bugs. Anyway, these are now fixed:
  • axelf_8.669, cantina.669: Misnamed .MOD files.
Ahahahaha, and nobody else downloaded the other rapidshared packs, so they expired before I got to them. Perhaps you could use the upload forum next time? Feel free to retest the broken files, at least a few more should be fixed. And if not, you can give me the names and I can fetch them myself from modarchive. And if not, I'm alive enough to fetch from rapidshare within 30 days or less this time, I think.

foo_dumb

Reply #130
I didn't notice most of this crap until TrNSZ downloaded the entire modarchive torrent a while ago and started rediscovering these problems on his own and reported them to me on IRC. I haven't been following the forum a whole lot. Anyway, back in the saddle for a while...

<changelog + comments>

Ahahahaha, and nobody else downloaded the other rapidshared packs, so they expired before I got to them. Perhaps you could use the upload forum next time? Feel free to retest the broken files, at least a few more should be fixed. And if not, you can give me the names and I can fetch them myself from modarchive. And if not, I'm alive enough to fetch from rapidshare within 30 days or less this time, I think.

It's alive! Excellent.

I figured if you didn't get the archives in time it might be because you've been working on the plugin, so the packs would be outdated anyway. It seems I was right, so it doesn't matter. 

All my problems are from the Mod Archive torrent as well (I've already listed problems with completely corrupt files or ones with the wrong file extension at the Mod Archive forums), so if this TrNSZ has done his homework properly there's nothing new here.

To be safe, I'll update my findings anyway.

So, of the 34276 modules in the Mod Archive[1], last time foo_dumb couldn't properly play 120, this time the number is 49. That's from a 99.65% success rate to 99.86%, congratulations.

The remaining issues follow. First, my take on some of the files you already mentioned:
  • a-000000.it loads now instead of crashing foobar completely, but has a length of 2 hours. I guess this is due to that crap in the last pattern, and presumably can't be fixed.
  • darkness2.s3m loads, but has five spurious zero-length subsongs, like you said.
  • Most of your truncated/broken files (hijastus.xm, nightbeat-waylands.it, nicsno.xm, herc-g2.it, nin_realmix.s3m) seem to play fine in OpenMPT. Maybe it's doing some really smart error correction with complicated heuristics and whatever, which would understandably be a lot of work, but it only proves that it's possible to get these modules to work without breaking others. Alternatively it just ignores whatever's wrong, which isn't that bad either - just put an "Other info" note saying that the file seems to be screwed up.
  • night2.s3m does seem to be screwed up, like you said - I don't think it's meant to sound the way it does in MPT.
Then, the remaining files that don't work. I've uploaded them to RapidShare again, just to spite you.  But really, they're not even meant to stay there forever - just long enough for foo_dumb to be able to play them all.
  • revive_nimnone.xm loads, but plays incorrectly. First it seemed to me that foo_dumb is playing only channel 4, but actually not even that worked fully.
  • sw-ecbreeze.xm is loaded with an extra subsong of length two seconds.
Lastly, the archives containing files that simply refuse to load at all.[1] Not including 9 corrupt files, but including 9 "almost-corrupt" ones that can be easily fixed, as well as archives which only need to be extracted. Also not including files with the wrong file extension, as I've corrected those manually. EDIT: also not including *.stm, *.okt, *.med. I'm still waiting for support for those file formats.

foo_dumb

Reply #131
*.med. I'm still waiting for support for those file formats.

Ohhh, me too (and there's SDK, but unfortunatelly of no use for fb2k).

foo_dumb

Reply #132
[deleted]

foo_dumb

Reply #133
I did not download the packs of the "broken" files, (and my own modules are merged in with those from modarchive), but kode54's foo_unpack_lha plugin might fix at least a couple of these.  A few files I had (two in particular) were transparently LZH (LHArc) compressed.

I've checked each file quite thoroughly. Each .s3m is really a Scream Tracker 3 module, each .xm is a FastTracker 2 module, each .it is an Impulse Tracker module. None bear the distinctive "PK" header for .zip files or "-lh" for .lha files, or anything else that doesn't belong.

Besides, I've made sure they all play in either OpenMPT or their "own" tracker (Scream Tracker/FastTracker/Impulse Tracker) which, as far as I know, don't implement such general compression algorithms. (Impulse Tracker seems to have some compression scheme of its own, though: it claims that issa.it and sj-kboar.it are of type "Compressed Impulse Tracker".)

foo_dumb

Reply #134
I did not download the packs of the "broken" files, (and my own modules are merged in with those from modarchive), but kode54's foo_unpack_lha plugin might fix at least a couple of these.  A few files I had (two in particular) were transparently LZH (LHArc) compressed.

I've checked each file quite thoroughly. Each .s3m is really a Scream Tracker 3 module, each .xm is a FastTracker 2 module, each .it is an Impulse Tracker module. None bear the distinctive "PK" header for .zip files or "-lh" for .lha files, or anything else that doesn't belong.

You will see the -lh5- in n-sform.it. And if not, then modarchive has already fixed it.

Quote
Besides, I've made sure they all play in either OpenMPT

Oh, and Open ModPlug Tracker, like ModPlug Tracker and Player before it, transparently supports ZIP, LHA, and RAR. Although the LHA code is kind of old and doesn't support lh6/7 methods, but that's fairly easy to fix. Heh, and their code is easy enough to crash with corrupt archives because one of the huffman table functions doesn't report its errors to the caller. But that's beside the point, really.

Quote
or their "own" tracker (Scream Tracker/FastTracker/Impulse Tracker) which, as far as I know, don't implement such general compression algorithms. (Impulse Tracker seems to have some compression scheme of its own, though: it claims that issa.it and sj-kboar.it are of type "Compressed Impulse Tracker".)

That is sample compression. And thankfully, only native sample compression. ModPlug Tracker also has its own ADPCM compression, which it supports for MOD, S3M, XM, and IT files, and foo_dumb already supports. Of course, that won't work at all in the original trackers.

foo_dumb

Reply #135
I've checked each file quite thoroughly. Each .s3m is really a Scream Tracker 3 module, each .xm is a FastTracker 2 module, each .it is an Impulse Tracker module. None bear the distinctive "PK" header for .zip files or "-lh" for .lha files, or anything else that doesn't belong.

You will see the -lh5- in n-sform.it. And if not, then modarchive has already fixed it.

I should probably have been more clear: I was referring only to the modules in the packs I uploaded. It's true that the Mod Archive contains a couple of compressed files.

Quote
Quote
Besides, I've made sure they all play in either OpenMPT
Oh, and Open ModPlug Tracker, like ModPlug Tracker and Player before it, transparently supports ZIP, LHA, and RAR.

Thanks for the info, I didn't know that. Fortunately, I checked the uploaded modules both with a script and manually, so it doesn't matter in this case, but that's good to remember.

foo_dumb

Reply #136
[deleted]

 

foo_dumb

Reply #137
Who would have thought that foobar2000 with kode54's help would end up the closest competition to XMPlay?!
Foo_Dumb surpasses XMPlay in terms of accuracy, though not in terms of speed (loading) and probably cpu usage (don't mind).


@Kode54
A foobar2000 v0.8 compatible build of the latest foo_dumb release would be appreciated since i'm currently running both foobar2000 v0.08 and v0.09 as some input plugins that i'm using aren't updated yet (eg. foo_ganbatte, foo_adplug ...).


Regards,
deus-ex


foo_dumb

Reply #139
2006-06-01 00:47 UTC - kode54
  • STM reader reads effects properly now.

2006-05-31 23:15 UTC - kode54
  • Implemented STM support.
  • Version is now 0.9.7.4
2006-05-31 20:12 UTC - kode54
  • Implemented fading support.
2006-05-30 03:57 UTC - kode54
  • IT reader works around a broken file that has several of the instruments offset by two bytes from their indicated file offsets. Since the hack only checks for offset by two null bytes, it also assumes that the two bytes it can't read from the end are also zero. (bz_ult9.it) [Meh, hacks. Maybe some other broken files have the same problem?]
  • IT reader treats null instrument/sample/pattern offsets as empty items. (flight2.it, sherri.it)
2006-05-30 00:04 UTC - kode54
  • XM reader now truncates instrument envelope lengths to 12, and performs some basic envelope loop checking, similar to Open ModPlug Tracker. (revive_nimnone.xm) [The bad envelope node count (16) was causing the second instrument to break, and then changes I made earlier made it keep the existing first instrument instead of rejecting the file.]
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']
The remaining issues follow. First, my take on some of the files you already mentioned:
  • a-000000.it loads now instead of crashing foobar completely, but has a length of 2 hours. I guess this is due to that crap in the last pattern, and presumably can't be fixed.
[/quote]
Needs more "Trim silent patterns".
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']
  • darkness2.s3m loads, but has five spurious zero-length subsongs, like you said.
[/quote]
And there's not much I can do about this without redoing a bit of the silent pattern scanning and how the subsong scanner uses that information. Although, in this case, it's a bunch of patterns way the hell at the end of the order list, then they do something with global volume slide that ends up muting them immediately.
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']
  • Most of your truncated/broken files (hijastus.xm, nightbeat-waylands.it, nicsno.xm, herc-g2.it, nin_realmix.s3m) seem to play fine in OpenMPT. Maybe it's doing some really smart error correction with complicated heuristics and whatever, which would understandably be a lot of work, but it only proves that it's possible to get these modules to work without breaking others. Alternatively it just ignores whatever's wrong, which isn't that bad either - just put an "Other info" note saying that the file seems to be screwed up.
[/quote]
You can check the ends of the files to see that one or more of the samples are cut off, and all remaining samples are silenced. You can even compare herc-g2.it against the working copy in that musicdisk archive. They may play, but they won't sound as originally intended.
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']
  • night2.s3m does seem to be screwed up, like you said - I don't think it's meant to sound the way it does in MPT.
[/quote]
Needs more locating of the original authors and/or uploaders for proper reuploading, if they even have a working copy. Most of this stuff, I can only find at modarchive.
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']Then, the remaining files that don't work. I've uploaded them to RapidShare again, just to spite you.  But really, they're not even meant to stay there forever - just long enough for foo_dumb to be able to play them all.[/quote]
That depends. So far, most of these look like they're broken, with the exception of the files fixed above.
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37'][/quote]
Another problem with my subsong scanner. The silence skipper really needs a little more smarts. Perhaps it should even run the full parser on the orders or patterns to see if they generate any sound. Although that will make the scanning, and thus initial loading almost every time you play the file to be slower.
Quote
Lastly, the archives containing files that simply refuse to load at all.

These seem to be corrupt files, but I'll look over them more thoroughly soon.
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']Also not including files with the wrong file extension, as I've corrected those manually.[/quote]
These should all work now, except for unsupported formats.
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']EDIT: also not including *.stm[/quote]
See above. Hopefully, everything should work correctly.
[quote name='Deewiant' post='397183' date='May 29 2006, 06:37']*.okt, *.med. I'm still waiting for support for those file formats. [/quote]
And maybe I'll get on to these soon.

[quote name='deus-ex' post='397753' date='May 30 2006, 15:16']Foo_Dumb surpasses XMPlay in terms of accuracy, though not in terms of speed (loading)[/quote]
Unfortunately, I can only cache length and subsong information for a few files, and only for the life of the foobar2000 process, so loading files without cached info will result in a reprobe. The length probing and subsong scanning requires a full replay parse, sans sample mixing. This process would be somewhat slower if the subsong scanner were to employ some audible data checking for initial patterns.

[quote name='deus-ex' post='397753' date='May 30 2006, 15:16']and probably cpu usage (don't mind).[/quote]
Certainly, some of this could be due to the rather sub-optimal volume ramping implementation, where several volume variables (including a pointer to a variable) are passed around for every active channel. The whole mixer could probably use a once-over, but I don't really feel like doing that right now. Or maybe someone else would like to do that? It's 100% C.

[quote name='deus-ex' post='397753' date='May 30 2006, 15:16']A foobar2000 v0.8 compatible build of the latest foo_dumb release would be appreciated since i'm currently running both foobar2000 v0.08 and v0.09 as some input plugins that i'm using aren't updated yet (eg. foo_ganbatte, foo_adplug ...).[/quote]
I don't plan on backporting it to 0.8, or supporting anything for 0.8.

foo_adplug could lead to some considerable work on adplug itself, namely multi-instance safety, and I think maybe it needs proper file reader support as well.

I cannot find any reference to this foo_ganbatte, though. What does it do, and is there any source code available?

[quote name='Borisz' post='398036' date='May 31 2006, 09:19']
[quote name='Borisz' post='375385' date='Mar 26 2006, 15:02']
edit: by the way - would it be possible to include looping + fadeout? So you can set a module to loop x times then fadeout IF it has loop info. I'm sure this was mentioned before...
[/quote]

[/quote]
Hold your horses.  See above.

foo_dumb

Reply #140
Unfortunately, I can only cache length and subsong information for a few files, and only for the life of the foobar2000 process, so loading files without cached info will result in a reprobe.
I just keep wondering how XMPLay is able to load modules this fast including trimming and scanning subsongs? I didn't have caching in mind, for instance starting XMPlay with a modulename from the commandline immediately loads and scans the file and starts playback. To my knowledge XMP doesn't use any caching techniques. Fileloading times is a field where foo_dumb obviously could be further optimized. Just recently i have switched trimming permanently off to gain a litte increase, a fast CPU and HD doesn't improve loading that much as i expected (recently upgraded, highend system). Though i'm fine with the current situation as in exchange for the high replay quality foo_dumb delivers.


Quote
I don't plan on backporting it to 0.8, or supporting anything for 0.8.
I just threw a coin to get an reaction.


Quote
foo_adplug could lead to some considerable work on adplug itself, namely multi-instance safety, and I think maybe it needs proper file reader support as well.
Question is if it still is maintained. Simon, the Adplug author, mentioned that the foobar version of Adplug would need further improvement (he is not involved with the foobar port). Then again the recent update of Adplug still doesn't support all fileversions of the a2m-format (Adlibtracker2) although the sourcecode for a loader supporting all fileversions is included with all Adlibtracker2 distributions. The last fileversion which introduced a different compression algorhythm and support for instrument macros was released in 2001.

Adlib Tracker II homepage: http://www.adlibtracker.net


Quote
I cannot find any reference to this foo_ganbatte, though. What does it do, and is there any source code available?
This plugin supports EdlibTracker D00/D01 Adlib-modules and is maintained by OPLx, author of the Winamp input plugin. Though Adlpug has support for this format as well it is not as good as Ganbatte by far. The foobar version was born on my request, OPLx kindly made it available after about one year of development time (on and off) and beta testing on my side. He is already porting it to foobar 0.9x in his spare time, so it will just take some time (ie. when its done...). I don't know if he is giving away the sourcecode, can't hurt to ask him if you're interested. Getting in touch with each other could improve development time of his plugin, and certainly this would lead to new impulses and fresh ideas for the both of you.

OPLx (Ganbatte) homepage: http://www.oplx.com/code


Regards,
deus-ex

EDIT: spelling, Adlibtracker2 link

foo_dumb

Reply #141
Unfortunately, I can only cache length and subsong information for a few files, and only for the life of the foobar2000 process, so loading files without cached info will result in a reprobe.
I just keep wondering how XMPLay is able to load modules this fast including trimming and scanning subsongs? I didn't have caching in mind, for instance starting XMPlay with a modulename from the commandline immediately loads and scans the file and starts playback. To my knowledge XMP doesn't use any caching techniques. Fileloading times is a field where foo_dumb obviously could be further optimized. Just recently i have switched trimming permanently off to gain a litte increase, a fast CPU and HD doesn't improve loading that much as i expected (recently upgraded, highend system). Though i'm fine with the current situation as in exchange for the high replay quality foo_dumb delivers.

That I'm not sure about, perhaps the sequence handling replay code could use some work as well, since it's so slow even without mixing. For instance, I went kind of all out with loop detection by using a complete binary array to mark played rows/orders, even though it currently only checks for collisions on pattern start/jump. It's kind of a pain to clear parts of it on pattern loops, especially in XM which as per-channel pattern looping.

Quote
foo_adplug could lead to some considerable work on adplug itself, namely multi-instance safety, and I think maybe it needs proper file reader support as well.
Question is if it still is maintained. Simon, the Adplug author, mentioned that the foobar version of Adplug would need further improvement (he is not involved with the foobar port). Then again the recent update of Adplug still doesn't support all fileversions of the a2m-format (Adlibtracker2) although the sourcecode for a loader supporting all fileversions is included with all Adlibtracker2 distributions. The last fileversion which introduced a different compression algorhythm and support for instrument macros was released in 2001.

Adlib Tracker II homepage: http://www.adlibtracker.net

I may look into this later, if nobody else starts on it.

Quote
I cannot find any reference to this foo_ganbatte, though. What does it do, and is there any source code available?
This plugin supports EdlibTracker D00/D01 Adlib-modules and is maintained by OPLx, author of the Winamp input plugin. Though Adlpug has support for this format as well it is not as good as Ganbatte by far. The foobar version was born on my request, OPLx kindly made it available after about one year of development time (on and off) and beta testing on my side. He is already porting it to foobar 0.9x in his spare time, so it will just take some time (ie. when its done...). I don't know if he is giving away the sourcecode, can't hurt to ask him if you're interested. Getting in touch with each other could improve development time of his plugin, and certainly this would lead to new impulses and fresh ideas for the both of you.

OPLx (Ganbatte) homepage: http://www.oplx.com/code

Well, I don't really need the source if he's going to port it himself. More power to him, I say. And I can understand that development cycle. (Heh, even if I do have almost all the free time in the world, but very random motivation.)



foo_dumb

Reply #144
DSPs? Does that mean external components will be required for playback?

foo_dumb

Reply #145
I tested latest foo_dumb (v0.9.7.4, 01-06-2006) with my mod collection and against some (previously) known problem files. A lot of the files which i had noted to produce clipping could be removed from my list. As it turned out the clipping wasn't an issue with foo_dumb but was caused by my previous sound card, a 'Terratec Aureon Space' which i picked because it doesn't alter sounddata internally and offers EAX support to a certain degree. The 'Terratec Aureon' replaced my 'Creative Audigy' back then which is known to (badly) remix sounddata internaly which was inacceptable for me when listening to my music collection. For my new system i choosed an 'Creative XiFi Extreme Music' which has superior audio reproduction using its 'Audio creation' mode and full EAX support as well.

Due to changes of the subsong detection a few problems arised:
coffee-blues 3.mod: playback broken (several orders only played partial, skips to next order early), detects 1 subsong (previously found 10, like XMPlay, though these aren't real subsongs)

Following modules detects the second subsong now at one order earlier (eg. order 2 instead 3) which holds an empty pattern:
Basehead <- link to artist folder
  • deus ex - vandenburg airfield.it

Michiel van den Bos
  • deus ex - lebedev airfield.it

Michiel van den Bos & Siren
  • deus ex - duclare chateau - paris.it

Siren
  • deus ex - area 51.it
  • deus ex - battery park.it
  • deus ex - begin the end.it
  • deus ex - hong kong helipad.it
  • deus ex - hong kong streets.it
  • deus ex - liberty island.it
  • deus ex - mission 14, oceanlab 2.it
  • deus ex - mission eight.it
  • deus ex - nauticus.it
  • deus ex - nyc streets.it
  • deus ex - opponent within.it
  • deus ex - the nothing.it
  • deus ex - versalife.it

Siren & Reeves Gabrels
  • deus ex - hong kong club 1.it
  • deus ex - hong kong club 2.it
  • deus ex - nyc bar 2.it
  • deus ex - paris club 1.it
  • deus ex - paris club 2.it

Skaven
  • unreal ][ - the 2nd reality.s3m

Non-existant subsongs detected (previously not):
angel&devil.xm
wild king arthur.xm
,.it (not a typo)


Regards,
deus-ex

foo_dumb

Reply #146
2006-06-02 22:06 UTC - kode54
  • Fixed finite looping for speed 0 and global volume 0 triggers.
  • Reset loop count when seeking backwards.
  • Version is now 0.9.7.5

2006-06-02 21:20 UTC - kode54
  • IT renderer now supports pattern jump and break to row on the same row. (coffee-blues 3.mod)
2006-06-02 20:25 UTC - kode54
  • Empty pattern scanner now returns the correct value for completely empty pattern structures, and also checks for lists of empty rows. [This change was necessitated by mostly useless changes I made earlier, where return values of 2 or 1 indicate more or less obviously silent or delay patterns. Since everything that uses the scanner is already checking for greater than 1 to fix , and the part in the subsong scanner that checked for greater than 0 now checks for greater than 1, it kind of makes the whole thing pointless.]
That last bit fixes all of the other subsong issues you reported above. You will have to re-add the files to your playlist(s).

foo_dumb

Reply #147
All issues fixed. Thanks.


Regards,
deus-ex

foo_dumb

Reply #148
DSPs? Does that mean external components will be required for playback?

I don't think so, I can't tell about (Octa)MED for PC, but in Amiga versions there wasn't any support for external DSP plugins. To make things more clear, there was MED, OctaMED, and OctaMED SoundStudio.
MED was for 4-channel songs only (that's how many hardware channels Amiga had), it was really just like Sound/Noise/ProTracker with some additional features like simple synthesizer, MIDI, subsongs, etc.
Later there was OctaMED with which you could have more channels, but they needed to be mixed by the CPU into these 4 channels, in that mixing mode you could also use 16bit samples (two 8bit hardware channels per speaker could result in 14bit playback, some more details in this topic).
Since there was already some software sound processing (that mixing), in OctaMED SoundStudio they also threw in DSP effects like echo, cross delay, stereo separation, panning, smoothing (interpolation I guess), and resampling - all that was built-in. Resampling & mixing is already done by system/fb2k, interpolation is already implemented in your plugin, so for full OctaMED SoundStudio support you would need to implement echo, cross delay, stereo separation, and panning. IIRC you couldn't control these effects with commands - once set they were for the whole song. Also, settings for some of these effects (for echo & cross delay I think) wasn't even saved in the module (I had to set them for every playback session), so if you don't feel like doing too much, you could ignore them...

foo_dumb

Reply #149
Hi!

I'm sure you already know everything about those file formats, but just in case I found some links describing them, and some mudules to download (yeah I really hope you'll add oktalyzer support in the next future!  There are some great tunes in this format.)


oktalyzer file format:
http://www.exotica.org.uk/tunes/formats/okt/Okt-form.txt
http://jss.sourceforge.net/moddoc/okt-form.txt

some .okt to download:
ftp://ftp.modland.com/pub/modules/Oktalyzer
http://www.exotica.org.uk/tunes/pages-full...-Oktalyzer.html
http://oldschool.voodoofrog.com/downloads/songs/okt



med/octamed file format:
http://www.exotica.org.uk/tunes/formats/med/mmd3_r6.txt

some .med to download:
http://www.aminet.net/search.php?path=mods/med
ftp://ftp.modland.com/pub/modules/OctaMED%20MMD0
ftp://ftp.modland.com/pub/modules/OctaMED%20MMD1
ftp://ftp.modland.com/pub/modules/OctaMED%20MMD2
ftp://ftp.modland.com/pub/modules/OctaMED%20MMD3
ftp://ftp.modland.com/pub/modules/OctaMED%20MMDC

EDIT:
I just found on http://dumb.sourceforge.net/ that a new version of the DUMB library (v 0.9.3) was released in 2005, with many bugfixes and speed optimisations, have you implemented them?