PDA

View Full Version : couple more file formats?


Pages : 1 [2]

Rz_Ten1
8th November 2002, 08:22
27.77 looks good. I'll see if I can find another problem so that you can add more 7's. :D

1. Do you want someone to check streaming? I'm a little unsure of what you mean by 'over http/ftp.' Most of the mod sites I've visited tend to zip their modules. Normally, I've had to do manual extractions to play the files (unless I load it in modplug, but winamp sounds better :D ). Unless winamp can open zipped modules and I never noticed... they're not listed as a suppored type of file.

2. I personally have no idea how to check this. I know that those effects appear in Impulse Tracker files but, other then playing the songs, I don't know how helpful I can be. I can't compose at all. :rolleyes: Plus, my DOS sound emulation is usually limited to 8bit sound (darn NTVDM) due to the way most trackers try to write to the audio hardware.

B3d30x
8th November 2002, 08:56
You can test it by streaming from there:
http://bedeox.hopto.org/mods/CORN.IT
http://bedeox.hopto.org/mods/ICEMOON.IT
http://bedeox.hopto.org/mods/Skyline_-_Gaia.it
http://bedeox.hopto.org/mods/empty.it
http://bedeox.hopto.org/mods/journey.it
http://bedeox.hopto.org/mods/orialcon.it
http://bedeox.hopto.org/mods/upbeat.it
http://bedeox.hopto.org/mods/waterside-town.it

Choose any of them...
I'll test it myself when I'm back into Windows...

X-Fixer
8th November 2002, 08:57
1. it's not an actual streaming, since mods just can't be streamed ;) the file is saved to disk and then played. in_mod uses winamp2 undocumented API to get file over http, but for some reason it also checks for ftp:// urls. I've just tested how beta14 works (it works, but does not delete temp file). also, in_mod plays zipped mods fine. to get them play you need to rename file (so it'll have supported extension) or add 'mod://:' before the url in playlist.

2. seems, I'll have to do it myself :blah:
and do you mean that you have SB emulation under win2k, do you? where have you got it?

edit: crap, it does not work over ftp.

Rz_Ten1
8th November 2002, 11:55
I can still try some HTTP servers if you'd like once I get back home. (The work proxy blocks pretty much everything except IE :mad: .)

The 2K sound emulator I use is called SoundFX, I got it primarily for Cubic Player (for non-mod files, actually), but it works pretty well with most DOS games also :) .

16-bit mode (Soundblaster 16 and higher) seems to have problems with modules and wav files in Cubic, they play far too loud. I've never submitted a bug report for it, because I rarely play those filetypes in DOS.

More information is at http://www.softsystem.co.uk/page3.htm

Rz_Ten1
8th November 2002, 14:57
Found another tiny problem with an xm file...
in http://www.modarchive.com/cgi-bin/download.cgi/T/tkr_imml.xm
the guitar track (tracks 1-3, instrument 3) will not play.

I've included another audio sample from cubic and WinAmp.

On HTTP streaming... I've found the WinAmp will correctly play pretty much anything (I've tried so far) from an HTTP server. It will correctly delete the temporary file once the track either stops, or WinAmp is closed. However, on invalid files (404, 403, 302, etc) WinAmp will report an 'Invalid Module,' as it probably should, but the temporary file will not be deleted.

B3d30x
8th November 2002, 16:32
XFixer: could you be so kind and paste
here seeking code from in_mod?
I'd like to modify XMMS MikMod plugin so that seeking and lenght display would work.

<edit>
Mods could be streamed (at least by HTTP 1.1, because seeking is needed):
- get module header
<loop>
- get patterns
- get needed samples for playback of first fragment
- create dummy module (from parsed patterns and original header)
- play
</loop>

Problem would arise when one of the samples is very big...
Only samples would be really streamed :p, cause I think that patterns are very small compared to them ;)
</edit>

X-Fixer
8th November 2002, 17:25
I've changed periods calculation again, but now not only for XMs, but for other formats too. please, test carefully.

I've also rebuilt FIR table.

and it would be cool, if someone get information on how "set speed/tempo" command works in various trackers. (in some trackers 32 is the maximal speed, in others it's the minimal tempo, but there are seem to be more variants)

Rz_Ten1
9th November 2002, 01:07
Just a quick note (late for work :p ), tkr_imml.xm is still not playing instrument 3. Everything else seems to be working correctly at the moment.

Whiteshapesmall.it does sound quite a bit better, btw :) . It still sounds like it's getting chewed up abit around 4:05, but the rest of the song sounds almost perfect. :D

B3d30x: correct me if I'm wrong, but I believe that mod files are mostly samples, the track information is minimal and while you could probably stream it in that way, it would actually probably end up taking longer. Here's a quick example of filesize with few instruments: CYC-SINE.IT: Sinewave Madness, 7 Instruments, 3:13, 11.6K ;) . I suppose you could do an intelligent scan and see which instruments played when and then only load the ones that are used first, but I have a feeling most mods will use at least 80% of their instruments in the first 30 seconds or so.

X-Fixer
9th November 2002, 04:22
tkr_imml.xm and deleting temp file on errors fixed. (have not uploaded yet)

Bedeox: I can give you timing/seeking module, but this makes no sence, since mikamp and mikmod are very different (just believe me). if you have time to adopt seeking for mikmod (around 600 lines of code)... you'd better port mikamp to linux :p

about streaming... Rz_Ten1, that's just what I wanted to say ;) moreover, if you have not downloaded all samples before playing you will get significant delays in playback (unless you have very fast connection, that makes streaming useless)

Rz_Ten1
9th November 2002, 06:51
Well... if you have a very fast connection, why do you need to stream in the first place? ;)

I know I'd personally rather wait 20 seconds for the song then 10 seconds, some music, another 5 second delay, and the rest of the song.

It would actually probably be easier to write a MOD format that included the samples at the location they first play. ie: header, sample list, first samples, track data, more samples, track data, etc. Lumping all samples at the end of the track would probably also work, as long as they were in the correct order...
Of couse, if you were going to do that, you might as well just chuck in support for mp3 compression of the samples. Sure, it'd have a heck of a lot more processing overhead, but the file should be small. :D

Edit: Whoops, looks like they DO store the sample data at the end... it'd still be a pain though. :rolleyes: You'd have to prescan the patterns, check if those pattern's samples had been loaded yet, guess the remaining download time for all remaining samples, and begin playing when playable time with currently loaded samples is >= remaining download time.

Something like that would actually probably work ok for very large mods (> 500k probably, should be easy to determine since HTTP headers always return filesize (it would probably take LONGER to do 1.1 chunking then just a linear read)) but would require, again, that the samples appear in the correct order.

...I've typed too much... :eek:

B3d30x
11th November 2002, 16:50
But I think, that this is too much work
for too little gain :) (on streaming)

As for XMMS, I ditched Linux for some (probably long)
time, as I don't have access to that harddisk anymore :hang:
(it's dead, and I have new identical one anyway...
backup pays off :D, but I don't have Linux there
and I won't ditch Winamp for XMMS this time!
:winamp: RULES!)

X-Fixer
11th November 2002, 17:28
I've uploaded beta 27.9

btw, Rz_Ten1, do you use open cubic player?

B3d30x
11th November 2002, 17:47
I'm dling it now...
Will test it thoroughly...
beta 28 will probably be new stable version
I think :)

<edit>
It is MUCH better than MikMod 3... especially surround.
</edit>

RIV@NVX
11th November 2002, 22:32
I get [SYNTAX ERROR IN FORMATING STRING] instead of song name even with 27.9. I can reproduce it with any file I have. Previous version didn't have that bug.

Lion King
12th November 2002, 03:57
preferences > input > nullsoft module decoder > configure > general > title formatting > click on 'default' > ok

RIV@NVX
12th November 2002, 10:32
Originally posted by Lion King
preferences > input > nullsoft module decoder > configure > general > title formatting > click on 'default' > ok

Thanks! Works now! Is it because X-Fixer changed something in titles?

Rz_Ten1
12th November 2002, 12:43
27.9 looks good! :D

And yes, I do use Open Cubic once and awhile.

X-Fixer
12th November 2002, 13:27
Originally posted RIV@NVX
Thanks! Works now! Is it because X-Fixer changed something in titles?
RTFM
should I make FAQ on it?

Rz_Ten1, do you have win2k or winxp? and what version of opencp do you use? and do you have any problems with opencp? I get 100% cpu usage and random crashes/closing. (the story: I've ported opencp's devpVXD, so it works under win2k, but I can't really use it, because opencp crashes after few minutes of playback. well, at least this is not worse than shareware version of SoundFX ;) )

Rz_Ten1
12th November 2002, 14:31
I get random crashes in opencp usually after playing 20,30+ songs in a row and almost always while loading the next song. It rarely crashes otherwise. I'm using the registered version of SoundFX, version 2.03. They have fixed the 16-bit playback problem with that version. :D

If you want to use cubic with 2.02 or lower (or the shareware version), you'll need to set the following line in cp.ini:
mix16bit=off
Also, I don't know if this makes a difference or now, but I'm using 2.5.0... the version before they had the vxd option. I didn't like the way 2.6.0 handled files, on my older system I kept getting odd, random, popping nosies so I never upgraded.

On the title issue... maybe you should change the message to: "SYNTAX ERROR IN FORMATTING STRING - CHECK DECODER PREFERENCES" :)

Edit: oh, and like most other DOS programs, cubic player sticks at 100%.

B3d30x
12th November 2002, 16:05
Even better:
make NSIS package with in_mod in it :)
It (probably, I haven't tested it...)
can update config automatically.

RIV@NVX
12th November 2002, 19:09
Originally posted by B3d30x
Even better:
make NSIS package with in_mod in it :)
It (probably, I haven't tested it...)
can update config automatically.

I think it can't actually...

But, you can make in_mod store setting in itself, so you can "update people's configs behind their back" (peter's sentence)

RIV@NVX
12th November 2002, 19:15
Originally posted by X-Fixer
RTFM
should I make FAQ on it?

I have just read it, and I think you haven't updated Help (when you click on button right of Default). It just sounds like peter.:)

Sorry for double posting, but I just can't delete my post...

X-Fixer
13th November 2002, 04:11
of course, NSIS can modify ini files, but I'm too lazy to write script. and I don't like to change settings behind user's back. and I think that users *must* read docs anyway.

and help is the standard help that comes with tagz, only slightly modified (help on $if2).

X-Fixer
13th November 2002, 12:02
Originally posted by Rz_Ten1
If you want to use cubic with 2.02 or lower
of course I don't, what have I written driver for ?! ;)

not to mention, that my driver is freeware, faster, has no 16-bit problems, supports everything your DX drivers support (say 16bit/96KHz) and has a feature to make opencp more background-friendly (lowers it priotity). btw, could you test it? ;)

Rz_Ten1
13th November 2002, 13:12
I suppose I could... but why would I want to use something that only works with cubic player, since SoundFX now supports all 16-bit modes correctly? (it already could do 96khz... it turns out cubic was sending 16-bit unsigned data, which SoundFX couldn't handle. Like I said, the current version now can.) :D

Where can I download your version? I don't see it on your website.

Also, Cubic is fine at 100% at normal... if I set it to anything below normal, the chance of it stopping completely are fairly high since I usually have at least one app also trying to get 100%.

X-Fixer
13th November 2002, 17:37
I've changed speed/tempo handling a bit. check if it brakes any of your modules.

B3d30x
13th November 2002, 19:04
Nothing unusual happened...
(I've tested it for some time,
even with one queer mod constsntly
changing tempo 120-138-166)

X-Fixer
14th November 2002, 04:26
Rz_Ten1, if you want to test it, get it here

X-Fixer
15th November 2002, 08:43
I've found that there are many descriptions of what bugs winamp's in_mod had all over the net (just type "winamp bug mod" in google, or something like this). also there are many modules on modarchive, that say "do not play in winamp". It would be cool if someone test which bugs are still here and what's wrong with these darned modules.

X-Fixer
17th November 2002, 07:22
ugh... beta28, finally

- IT
- fixed lame bug
- fixed pitchpan separation
- some minor changes
- S3M
- added finetune effect
- corrected tempo setting
- XM
- fixed finetune effect
- player
- fixed "XM Amiga periods" mode
- fixed pattern break effect
- NNA related fixes (effects S73-S76 should work now)
- sample/instrument panning fixes
- keyoff fixes
- some other fixes
- mixer
- FIR table rebuilt with cutoff 0.96
- loaders
- corrected "set speed/tempo" command with value of 32
- envelopes validation
- fixes to samples validation
- LoadInfo is faster
- changed default title formatting string
- some hacks in title formatting library
- improved infinite looping
- fixes to "track song"
- fixed small memory leaks
- some minor changes


enjoy :cool:

and will anyone test those mods on modarchive, please? it's pretty easy, really.

Rz_Ten1
17th November 2002, 08:17
I'm working on running some 'for the love of god! don't play in winamp!' files, looks pretty good so far. :) I'll let you know if I get any weirdness.

B3d30x
19th November 2002, 13:53
Well, I'm listening to some of such mods, and I haven't heard anything pecuilar...

:)

RIV@NVX
20th November 2002, 18:13
Originally posted by B3d30x
Well, I'm listening to some of such mods, and I haven't heard anything pecuilar...

:)

So, we can label next bugfix release as 2.2.10.

BTW, X-Fixer - in credits it says copyright 1998,2001. I think it needs to be changed to 1998-2002.

geeck
24th November 2002, 15:12
Hmmm, I wonder what will happen now with in_mod...

B3d30x
24th November 2002, 18:09
There are no bugs as of beta 28,
so I think that beta 29 would freeze
the code.
Time for Peter to port it to Winamp3!

RIV@NVX
24th November 2002, 18:33
Originally posted by B3d30x
There are no bugs as of beta 28,
so I think that beta 29 would freeze
the code.
Time for Peter to port it to Winamp3!
From what I heard, it is already in progress...

geeck
25th November 2002, 06:17
Originally posted by RIV@NVX

From what I heard, it is already in progress...

Um... isn't it already done (in #491 plugz)?

BTW - Peter said that he'll do control panel for cnv_mod.wac as soon as they release #492 SDK.

stein
25th November 2002, 14:11
I have winamp 2.81 , in_mod 2.2.10beta28 under w2k.

I have a module ( protracker ,I think ) named mod.super-baz
If I drag&drop it into winamp, it is not played, the title bar says just "MOD". The same thing happens if I load it from the winamp load dialog ( I must select "Show all files" to see this file ).

If I doublick on the mod name ( to get File info dialog ) then the MPEG file info box appears, not the one from in_mod.

David

B3d30x
25th November 2002, 14:25
Rename the file,
so that the extension is .mod and it will play.

Probably it can't be fixed in Winamp2. :(

stein
25th November 2002, 16:34
Originally posted by B3d30x
Rename the file,
so that the extension is .mod and it will play.

Probably it can't be fixed in Winamp2. :(

What about CD-ROMs ?
Think collections etc...

B3d30x
25th November 2002, 16:49
you have url-like playlist entries, eg.

mod://:c:\mods\mod.super-baz

(you can enter some options before second : )
RTFM (README!!!)

stein
25th November 2002, 17:35
Originally posted by B3d30x
you have url-like playlist entries, eg.

mod://:c:\mods\mod.super-baz

(you can enter some options before second : )
RTFM (README!!!)

Color me stupid, but how does that solve the "can't drop it into winamp" or "can't open it from winamp" problems ?

You suggest I manually create a playlist file for all the MOD's ?

B3d30x
25th November 2002, 18:01
I'm sorry, yes...
It is actually easy:
1. Open already made playlist (.m3u or .pls)
in text editor (Notepad will suffice)
2. Append this to every line with a filename:
mod://:
3. Save and use it.

(Maybe I'll write a tiny cute program
in C++ Builder which will make this automatic)

There is no sane way to check the file type
from its contents in Winamp2 :(

(sane = according to specification)

X-Fixer
26th November 2002, 05:16
either use Ctrl+E to edit playlist entries or just change default extension from "mp3" to "mod" (in preferences/options). and direct all stupid questions to tech support, please.

stein
26th November 2002, 11:58
Originally posted by X-Fixer
either use Ctrl+E to edit playlist entries or just change default extension from "mp3" to "mod" (in preferences/options). and direct all stupid questions to tech support, please.

Changing default extension to "mod" did the trick, thanks.

stein

prism_emf
27th November 2002, 09:01
No bugs in beta28?

If I open *any* mod, s3m, it or whatever the song name just shows up as [SYNTAX ERROR FORMATTING STRING] in both the main window and the playlist. I reinstalled Winamp just to be sure, and tried a previous in_mod.dll beta dated 30.10.2002 as well(which worked ok). A bug or just idiocy by me?

Cheers,
// prism

B3d30x
27th November 2002, 12:39
A bug or just idiocy by me?

It seems, that actually the second one.
RTFM before posting!!!

X-Fixer
28th November 2002, 13:44
here goes pre-release of beta29. check it out, to see what's broken ;)

B3d30x
29th November 2002, 12:45
New option works great.:)
Now Razorback is really 4:01 ;)

B3d30x
1st December 2002, 11:09
Suggestion:

Rename 'Track song' to 'Follow song' :)

X-Fixer
2nd December 2002, 17:41
new pre-beta, featuring my new highly-expiremental FIR table (much sharper, imho).

B3d30x
2nd December 2002, 18:14
This sounds better,
but on few mods slightly too much noise is present.

<edit>
SSRC resampling would be even better...
Super-HQ for modophiles ;) like us!

Am I daydreaming or something?

This plugin is already
THE BEST MODULE PLAYER OF THE WORLD!
</edit>

kode54
3rd December 2002, 03:35
Take note of how fast SSRC can resample a single stereo sound on your system, then factor that amount of processing time/power to each pair of channels playing in a module. Sure, it might be possible for rendering, but I'd much rather use something designed for rendering.


Although, I suppose one could upsample every sound to the highest pitch it's played at, which would require file analysis, or resample them all to a certain multiple of the mixing frequency, then skip samples. (or use some scheme to factor in surrounding samples, if not similar to cubic interpolation)

Doing it in real-time is probably not an option any time soon. :p

X-Fixer
3rd December 2002, 13:31
ok, I've decreased cutoff a bit.

and I've added dynamic FIR table generation with some options avaibale in prefs! check it out!!! and tune settings for release version, please!

FYI beta28 uses nearly this settings: blackman window, cutoff 0.96 and beta 10.

btw, kode54, do you read your pms?

kode54
3rd December 2002, 13:49
Not often enough.

The original code also dynamically allocated and generated the table. It's just that the presence of that code in the ZSNESw binary pushed alignment a certain way, causing a NEWGFX engine bug to appear. So of course, the logical solution was to remove the generation code, rather than spend hours or days weeding through NEWGFX to figure out why one scene in the entire game of Chrono Trigger had a minor glitch.

B3d30x
3rd December 2002, 14:18
You can introduce it now,
it would be useful for writing wavs (slooow).
When processors get better
we'll use it normally :)

<edit>
Kaiser window?
Never heard of such FFT filter.
This needs some explanation.
And what does Beta setting exactly control?

Please write default settings down
for reference.
</edit>

Found some problem (rather difference)
with plugin:
http://bedeox.wz*****infinity.s3z

I can't set FIR to mimick ModPlug's
superior resampler... (HQ)
It's just great, port it to Winamp or something.
Sources of LibModplug and XMMS plugin:
http://modplug-xmms.sourceforge.net

B3d30x
3rd December 2002, 15:24
ModPlug dependent file
(sounds 'wrong' in both DeliPlayer and Winamp):
http://bedeox.wz*****znm-believe.itz

Could be MikAMP open-sourced or will AOL
veto it?

kode54
3rd December 2002, 16:00
Just a note for you. Libmodplug does not have the same resampling code as the original player. The cubic and FIR interpolation schemes were added by the author after he discovered that the original resampling code was missing, or something to that effect. The FIR resampling code featured in libmodplug is the basis for this resampler, although this uses MMX code, so it's probably faster.

B3d30x
3rd December 2002, 16:21
Anybody feels adventurous enough
to mailbomb Olivier about it?
I'm not feeling brave enough... :p

<edit>
Another VERY different mod in ModPlug
and Winamp:
http://bedeox.wz*****4thsym.it

Probably one filter type is not supported
in MikMod. (lowpass?)

If any of you have Win2000/XP IT driver ready,
inform me ASAP.
</edit>

JFD62780
3rd December 2002, 23:21
Originally posted by B3d30x
Another VERY different mod in ModPlug
and Winamp:
http://bedeox.wz*****4thsym.it

Probably one filter type is not supported
in MikMod. (lowpass?)

Ahh, Skaven (http://www.futurecrew.org/skaven)'s 4th Symmetriad, a truly experimental song demonstrating the resonant filters in IT files... One of my favorites! :D

Anyways, first time poster. I was wondering if you guys were also planning on adding MED files... Just curious.

X-Fixer
4th December 2002, 03:29
first, mikamp is open-source and will be distributed under LGPL as soon as I will get time to make a distribution package. although, I consider this to be a low priority task.

second. Kaiser window is this: w = I0(beta*sqrt(1-t*t))/I0(beta), where I0() is a modified bessel and t is in range -1..1 (as you possibly know, window function is applied to sinc). I0() constantly grows (like exp()), so beta controls how fast window is decreasing (how sharp filter is, I think). the original program, I've taken this code from, used beta=9. beta in other window functions is my own hack, controlling the range of 't' passed to function (since it was tricky in the code, used in beta28-).

third. IT resonant filters are not supported! and, actually, never were. I mean, there is Air's code in player engine to handle filter effects (commented out by me for now), but the actual filter code was terribly broken, causing 4th symmetriad to produce no sound at all, so I have commented it out as well. and FIR mixer *never* had filter support. I've planned to fix this long ago, but I can find the time, since this requires hard hacking.

fourth. MED support was there some time ago and was planned to come back, but since it wasn't working ok, (and) because MEDs are really-very-very different from all other mods (so, the only multiformat player I know to play them fine is Deli), it won't happen soon. also I think it's less urgently than resonant filters.

the last. Bedeox, infinity.s3z is not found on your site.
<edit>
oh, and I have not heard about win2k IT driver. I've emailed Pulse some time ago, suggesting help in writting it (I've written a driver for opencp, for example), but I did not have a response. but IT works fine with SoundFX SB emulator, that we were discussing with Rz_Ten1 (the link is somewhere above).
</edit>

RIV@NVX
4th December 2002, 15:48
Yeah, Bedeox, don't delete your mods so quickly, I am trying to make collection of this thread (and Report broken mods here thread too) ;)
X-Fixer, will we be seeing a part of readme that talks about improved FIR interpolation?

B3d30x
4th December 2002, 16:08
Sorry, the file was there, I've made a mistake in the case:

http://bedeox.wz*****INFINITY.s3z

<edit>
This SB emulator is too expensive for me now...
have to buy some CD writer right now
to compensate for my dead Hitachi GD-2500...

X-Fixer
6th December 2002, 05:17
Originally posted by RIV@NVX
X-Fixer, will we be seeing a part of readme that talks about improved FIR interpolation?

first, I want to be sure that it's really "improved". (Bedeox, are you sure that you can't tune settings to make it sound good? are you sure that MPT *interpolation* is better - that it's no caused by noise reduction, bass expansion, filters etc)

also, what do you want to see in readme? have you noticed that it's "for advanced users only"? ;)

B3d30x
6th December 2002, 12:46
MPP's HQ resampler is adapting itself to samples...
gives less noise on noisy samples,
and more detail to smooth ones,
or just has frequency-based table or something.
Anyway it's still better, because I can't find good FIR setting for all (nearly) songs. Some just sound either too smooth,
or too rough. MPP's resampler just does it right (at least for me).

<edit>
I have all effects disabled.

Could you implement MO3?
I think it's very possible (at least in winamp3, but it would make MOD decoder dependent on Vorbis and MP3 plugin.
You'd have to put there 'Select plugins'
window, eg. for users of in_mad or in_mpg123)

I think, that IT vibrato should be slightly increased.

According to this equation, Beta is width
of the filter: it controls time resolution
of the filter (in other words,
its reaction speed). Higher the beta,
more short impulses filter cuts.
Cutoff is just like ModPlug's noise reduction:
it decreases the volume of high frequencies.

My settings (very nice,
but still not as good as MPP on few songs):

Blackmann 4T92 window, Beta = 9.75, cutoff 0.975

</edit>

B3d30x
6th December 2002, 16:03
Kaiser filter cuts off too much of the noise
and makes some music sound 'dull'.

Newest ('92) 4 Tap Blackmann is really the best
(LAME uses it for example)

New (corrected) settings:
Blackmann 4T92 Beta 9.6 cutoff 0.96666

Previous settings worked worse than yours
on samples with low sample rate.

kode54
6th December 2002, 16:25
MO3 seems more like a way for really squeezing module sizes down when using large samples, and sounds like something only useful for demo or small game releases.... Any examples you can point out?

Or do go to the trouble to produce a halfway decent MO3 yourself just to save drive space? IMO, all the trouble of finding the right bitrates for the best balance of compression and sound quality, all while not breaking loops, is not worth it for the small space gain. .... Plus, using any form of compression other than ZIP tends to make it a pain for me to load the modules in MPT or MPP. I keep them as RAR compressed, and unpack of I need to laod in MPT.



EDIT: Or for a fun challenge, you could try implementing a Lanczos type windowed sinc. Seems to give nice results for image scaling as well as shrinking. I have yet to look around for any code examples to do such a thing, though.

X-Fixer
6th December 2002, 17:21
INFINITY.s3z should work now. also, check ALL your s3ms, please.

also, Skavens's "the return of the goblin" is a good example of MO3, I hope (some sizes: mp3 - 4 MB, ogg - 3.5 MB, IT - 7 MB, MO3 - do not remember ;) )

and I use the same method of compressing mods (but I use 7-Zip's gzip compression sometimes, because it sometimes gives better ratio than rar - e.g. on "4th symmetriad" - gonna tell Roshal about that), and this starts to bug me.

and about Lanczos - if you've got equation - give it to me and I'll add it :)

B3d30x
6th December 2002, 17:25
Skaven's webpage contains ONE MO3,
I thought that support for this
could be useful in the future.
(streaming mods for example... am I dreaming?)

And this Blackmann window I chose is a CPU hog:
'Believe' ate 100% CPU, and that's not even using SSRC!
(this song uses resonant filters... creates about 60 voices...)
Just copy ASM windowing function from LAME,
it's exactly the same, but very optimized.

<edit>
That MO3 is about 1.4 MB :)
</edit>

<edit2>

just give me code and I'll implement it


But don't forget to check if that function works well on 'slow processors' ;) like Athlon Thunderbird 1000! :p
</edit2>

B3d30x
6th December 2002, 17:50
oops... I've forgot that X-Fixer is superstitious and doesn't like 66* :p
I just thought that these numbers
would do hell of a job, and it worked :D

<edit>
I've got a hell-of-an-idea:
we could use SBR-like method in resampler
to restore lost high frequencies (killed by cutoff).
These could even sound better than original samples ;)
See http://www.plusv.org for free implementation and sample source code.
Even without extra embedded data it could do good to the 'quality' of the module!
Of course you could switch it off,
but who would want to?

(One caveat: we'd have to contact with the authors
for specific modified license
for distribution under LGPL instead of GPL.
If it matters.)
</edit>

<edit2>
They have even faster resampler than LAME...
Probably of the same quality, but we'd have to check.

(Here, LAME decodes AND resamples 3min MP3 at 15 secs (44100 to 22050),
the major slowdown is caused by the hdd)
</edit2>

B3d30x
7th December 2002, 07:59
I've read my posts today and discovered I was day-dreaming again :p

First, we ought to write filter code.
Could you mailbomb me the sources of the plugin? (if they're smaller than 24 MB)
I could try to add some support for lowpass and highpass filters at least.
Could you write here a comprehensive list of IT filters?

RIV@NVX
7th December 2002, 12:51
I don't know if it is fixed (because there is no changelog), but using beta 28.7 FIR intepolation Cutoff setting usually resets to 0.00000 that results in very bad sound.
Why?

Update:
Using 28.75 (will there be 29.95 too? :D), Cutoff is 0.93 by default (yup, I deleted section Nullsoft Module Decoder from winamp.ini file).
Need to see if resets now too.

X-Fixer
7th December 2002, 13:04
FIR table is generated statically (it's regenerated each time you need to play a sample with new settings, so if you don't use FIR it won't be generated at all). so, unless something will go terribly wrong, FIR settings that you select do not affect speed.

but from my experience, FIR resampler is way slower that ModPlug's :( (kode54, what's up?)

B3d30x
7th December 2002, 14:04
I think that this is what ModPlug do,
Combining two filters
with variable cutoff and/or beta
is probably what ModPlug does,
since it doesn't lose high frequencies
and finely smooths low frequency samples
removing all artifacts.

We could combine Kaiser 4T with Blackmann 4T92.
First one for low-mid frequencies, second for high ones?
(Blackmann is finer-grained but VERY CPU intensive... hifreq samples aren't that common anyway)

Only few ifs away... then much tuning.

X-Fixer
7th December 2002, 17:42
arghhh! insane cpu usage was my lame bug (FIR table was rebuilt for every sample, with all windows except Kaiser, because beta was modified internally and then compared with the original). damn! silly me! this also could have a bad affection on sound quality...

check it out now.

windows combining is an interesting idea, I might try it later ;)

RIV@NVX
7th December 2002, 20:07
Why is blow-up build older than original one?
Isn't it supposed to be blow-up? ;)

kode54
7th December 2002, 21:15
Because he hasn't produced a new one recently?

The FIR resampling code is based on something I threw together for ZSNES. Unlike the original, I changed the code to use signed words instead of dwords, so I could use MMX pmaddwd, which takes two registers containing vectors of words:

pmaddwd mm0, mm1

mm0 = aaaabbbbccccdddd

mm1 = eeeeffffgggghhhh


Then it multiplies the respective pairs, a*e, b*f, c*g, d*h, then adds the first two and last two:

mm0 = XXXXXXXXYYYYYYYY

where:

X = (a*e) + (b*f)
Y = (c*g) + (d*h)


Now if you figure you can try to use that sort of crap for interpolating the window coefficients, but you'll have to set up the multipliers, but the vector based shifts should make the post multiply downshift easier.

You could also try doing it like I've seen in a few other programs, where samples are fed into a rotating window. This one example, libopenspc, also uses a Gaussian bell curve and four tap window, and only needs the up curve, as the first two taps use the two halves of the table, then the other two taps start from the opposite ends of the same halves....

Whereas this setup that uses PMADDWD calls for all of the coefficients for one window to be grouped together. It's also a convenient way to accelerate a four tap window system.

Oh, and I tried finding a convenient real-world application Lanczos window equation, and the reference seems to be wrong for this application...

The same document had Hamming as follows:

***945; + (1 - ***945;) * cos(***960; * (x / ***964;))

Where ***945; = 0.54

I'll keep searching...

X-Fixer
8th December 2002, 05:39
thanks for the explanation (btw, I know how multiply-accamulate works ;) ), but my original idea was that another coder (not me) will do this ;)

also, I haven't get the idea about gaussian. does it uses gaussian instead of sinc or as the first window function?

and do you mean that your implementation does not use a circular buffer?

and I use the same equation for Hamming, I guess.

kode54
8th December 2002, 17:13
The equation I see in the table generator uses:

***945; - (1 - ***945;) * cos(***960; * (x / ***964;))



The explanation was for anyone else who's still following this technical crap. http://forums.winamp.com/images/smilies/wink.gif


My implementation pulls the window of input samples directly from the sample, rather than using a circular window. Circular window wouldn't really work for the MMX code anyway, not that I'd know of. My level of MMX coding isn't really that advanced.

X-Fixer
9th December 2002, 04:24
window function ought to have w(0)=1. the table generator is wicked and uses phase shifted by PI. I now use the formula in a sane-minded way.

X-Fixer
9th December 2002, 13:50
also, kode54, I guess the FIR table length is hard-coded somewhere, but I can't find where. the only value I see is 0xFFF0 - about 64kb, but table is 32kb in size.

RIV@NVX
14th December 2002, 15:38
beta 28.77, FIR Interpolation, Cutoff sometimes RESETS to 0.000000, that makes mods sound bad (last time happened on loading UT music).
X-Fixer, can you look into this?

kode54
14th December 2002, 19:37
WFIR_LOG2WIDTH 3, 2^3 = 2048 (+1) entries, * 8 signed words each.

The table offset calculation in the actual resampler code has to be changed, though.

I do see it is possible to linear interpolate between window sets, by simply calculating two samples surrounding the approximate position, then linear interpolating them. Cubic or other quadratic method is possible, but doesn't usually carry the fine weight of linear, and since the samples will probably be very close, unless the pitch is way less than 1/(1<<WFIR_LOG2WIDTH) of the mix frequency. At 48000 Hz, that's ... 23.4 Hz. Of course, it still increases the precision.

X-Fixer
15th December 2002, 04:55
2049 * 8 * 2 = 32784 bytes

> The table offset calculation in the actual resampler code has to be changed

in what way and why?

> I do see it is possible to linear interpolate between window sets, by simply
> calculating two samples surrounding the approximate position

and we possibly can keep 2nd sample's value for the next calculation.

> At 48000 Hz, that's ... 23.4 Hz

isn't it 48000/8 = 6000 Hz ?

RIV@NVX, can you give more details? does it happen after you do something in preferences or not? on winamp startup? and what's written in winamp.ini when it's 0.00 in mikamp? any 3rd party plug-ins? I just have no idea what's up.

kode54
15th December 2002, 07:49
Originally posted by X-Fixer
2049 * 8 * 2 = 32784 bytes

> The table offset calculation in the actual resampler code has to be changed

in what way and why?


See ECX, which is our fractional position:
shr ecx,17
add ecx,8
and ecx,0FFF0h



> I do see it is possible to linear interpolate between window sets, by simply
> calculating two samples surrounding the approximate position

and we possibly can keep 2nd sample's value for the next calculation.

Quite possible


> At 48000 Hz, that's ... 23.4 Hz

isn't it 48000/8 = 6000 Hz ?

2048x, if you consider the last position is a round up into about centered on the next sample. So, to be going only one step through the table at a time...

RIV@NVX
15th December 2002, 15:57
Originally posted by X-Fixer
RIV@NVX, can you give more details? does it happen after you do something in preferences or not? on winamp startup? and what's written in winamp.ini when it's 0.00 in mikamp? any 3rd party plug-ins? I just have no idea what's up.

Of course I can.
It happens on Winamp startup.
I have installed all peter's plugins (from my updated 4P - lastest versions) + ASIO Output. Nothing else.
Just got one reset. It happened on doubleclick loading of UT module in Windows Explorer.

[Nullsoft Module Decoder]
cfg_title_format=$if2(%title%,%filename%)[ (%part%)]
savestr=0
priority=16
samplesize=1
nch=2
srate=48000
interp=7
surround=1
voices=512
loopcount=0
playflag=0
fadeout=1000
pansep=128
panrev=0
info_x=0
info_y=0
track=0
fir_WT=8
fir_FC=0.00000
fir_Beta=9.00000
modenabled=1
modpanning=0
modeffects=0
m15enabled=1
m15panning=0
m15effects=0
stmenabled=1
stmpanning=0
stmeffects=0
st3enabled=1
st3panning=32
st3effects=0
itenabled=1
itpanning=0
iteffects=0
ft2enabled=1
ft2panning=0
ft2effects=0
mtmenabled=1
mtmpanning=0
mtmeffects=0
ultenabled=1
ultpanning=0
ulteffects=0
669enabled=1
669panning=0
669effects=0
farenabled=1
farpanning=0
fareffects=0
amfenabled=1
amfpanning=0
amfeffects=0
oktenabled=1
oktpanning=0
okteffects=0
ptmenabled=1
ptmpanning=0
ptmeffects=0

It is last section in Winamp.ini.
It happens on starting playback of module.
What else can help you.
It started since you implemented advanced FIR (that sounds nice when works, thanks!).
It is occasional, but I can't find some specific case.

B3d30x
15th December 2002, 16:06
It has never happened to me...
Maybe it's due to garbage on FPU,
like sometimes (rarely) decreasing volume?
(kX drivers 3527 BETA)

RIV@NVX
15th December 2002, 20:58
I don't know why it happens, but it does (rarely).
Bedeox, why do you use LiveWare 2?

kode54
15th December 2002, 21:15
And DirectX 6!

Looks like no ZSNESW for you... Oh wait, I did make minor changes to make it work with DirectX 6, but eventually reverted them. I don't even use ZSNESW anymore. I use something like this (http://perso.wanadoo.fr/ackadia/snes9x/s9xw-1.39mk3b++.zip), only newer and as yet unreleased.

Damnit, I creeped off topic.

B3d30x
16th December 2002, 13:41
First, I use Windows 98 now (don't ask why).
Second, only part of LiveWare 2 I've left are proggies,
updated drivers are newer than LiveWare 3. :p

CL made good drivers for Win9x,
but NT/2k/XP ones are horrible.

And I'll install new DX9 RC2 later today...

RIV@NVX
16th December 2002, 15:05
Originally posted by B3d30x
First, I use Windows 98 now (don't ask why).
Second, only part of LiveWare 2 I've left are proggies,
updated drivers are newer than LiveWare 3. :p

CL made good drivers for Win9x,
but NT/2k/XP ones are horrible.

And I'll install new DX9 RC2 later today...

I know they are newer than LiveWare 3, but are they newer than Audigy2 Drivers (solved a lot of problems on my Audigy - works much better than any previous version).
Driver Pack (http://users2.ev1.net/~dallasstar/sb_install_multilang.rar)
Compatibility Patch for Live! and Audigy1 (http://members.aol.com/dvdking2001/Pub/ctcomp.exe)
It is worth downloading - believe me (I don't like CL, but this is something better - still far from good, but a lot better than before).
Have you considered using these?

@X-Fixer:
What do you say on this issue I mentioned?
@kode54:
I have tried this mk3b++ build, works nice.

RIV@NVX
17th December 2002, 16:55
Originally posted by B3d30x
It has never happened to me...
Maybe it's due to garbage on FPU,
like sometimes (rarely) decreasing volume?
(kX drivers 3527 BETA)

Happened again. IT IS RANDOM. Can't reproduce. Occures once in two days or once per day.
X-Fixer, can you check part of code that has FIR Interpolation Cutoff value (saving, loading, something)?

B3d30x
17th December 2002, 17:04
It's probably not in his code,
but in the drivers or another program!
Registers are used nearly everywhere.
(Like the problem with decreasing volume...
That was random too!)

As to the Audigy2 drvers, they're very heavy! (120 MB) I'm still d/ling them...

B3d30x
17th December 2002, 17:52
X-Fixer:
There is a problem with ModPlug testing mod Aryx.

Just listen to it.

X-Fixer
18th December 2002, 03:23
Originally posted by RIV@NVX
X-Fixer, can you check part of code that has FIR Interpolation Cutoff value (saving, loading, something)?

obviously, I've already done. nothing pecular. so, does it happen on startup or on loading file? this is quite different thing. I've found a bug (can't fix it yet) that causes random memory writes on loading/playing some S3Ms/ITs.

B3d30x
18th December 2002, 12:42
I've found a bug (can't fix it yet) that causes random memory writes on loading/playing some S3Ms/ITs.

What about that bug in Aryx?
Is it caused by this?

<edit>
It probably isn't, cause it's appearing all the time.

Do you know where are MikIT sources?
I think it is based on or derived from MikMod (or vice-versa)
It does have lowpass filters, which are working good
(but has only linear interpolation...)
</edit>

X-Fixer
18th December 2002, 17:14
aryx.s3m fixed (a bug was introduced recently)
also, I've tried to fix (or atleast to something about) 'cutoff reset' problem.

RIV@NVX
18th December 2002, 17:41
Originally posted by X-Fixer


obviously, I've already done. nothing pecular. so, does it happen on startup or on loading file? this is quite different thing. I've found a bug (can't fix it yet) that causes random memory writes on loading/playing some S3Ms/ITs.

UnrealTournament files are ITs.
I am not exactly sure if it occurs on starting playback because I never check the config before starting, but I think it does - Winamp reads it OK.

RIV@NVX
18th December 2002, 19:06
Just had one reset (downloaded in_mod.zip from your site, installed it and ran winamp - haven't started playing anything, checked the config - it was 0.00).

kode54
18th December 2002, 22:34
From Unreal Tournament:
28 ITs, 1 XM, (firebr) and 1 S3M. (Mech8)

I also have one Neve's Crossing (neve.s3m) by Alexander Brandon. I forgot which level it downloaded for, but the comments say it was produced for a mission pack of some sort.

X-Fixer
20th December 2002, 10:25
IT and S3M share same source code for effects loading, so it can also be affected (I've just found one bad s3m for now).

also, I've never heard that MikIT sources are available.

B3d30x
20th December 2002, 12:22
Could you port resonant filtering routines from OpenCP?
They are working great...
I don't know how to program in assembler,
so I can't help you.

X-Fixer
20th December 2002, 12:32
just looked at SSRC sources and noticed that it uses window function very simmilar to Kaiser. gonna look at it closer after when I'll get some time...

and about ocp: first - it's GPL, second - haven't I said that I have not found filter code there?

B3d30x
20th December 2002, 13:00
The code is there:
file ocp\devw\dwmixfa.asm

;FILTER HIER
marks the filtering code...

It sounds great, just like original IT!
I think I'll make OCP plugin some sunny day... (its snowing here right now)

B3d30x
20th December 2002, 18:33
Pitch envelopes in this mod are too 'flat':
http://bedeox.wz*****waterside-town.it
(check for example with Deli or MPP,
it's same there as IT)

RIV@NVX
21st December 2002, 09:29
There is one more thing I noticed.
In FIR setup, I once got "," instead of "." - how and why?

Rz_Ten1
22nd December 2002, 08:37
Originally posted by Rz_Ten1
Of couse, if you were going to do that, you might as well just chuck in support for mp3 compression of the samples. Looks like it was a good idea... it's been done: :D
http://www.un4seen.com/music/music_mo3.html


I've found an some example files here:
The Goblin Returns - IT(ZIP) (http://www.futurecrew.com/skaven/song_files/goblinr_final.zip) (7.4M) - MO3 (http://www.futurecrew.com/skaven/song_files/The_Goblin_Returns_final.mo3) (881k)

I had an idea on the "," vs "."...
I know in some countrys "," is used instead of "." and that is reflected in windows if the country settings are messed with. I wonder if it was just a windows fluke?

B3d30x
22nd December 2002, 09:30
Any chance that waterside-town will be fixed?

X-Fixer
22nd December 2002, 11:04
RIV@NVX, I can't fix this before, at least, you'll tell me if this happens on startup, exit, loading, playing, using preferences or when? I have some ideas, but they will give a [b]stable[b] effect - not random drops.

Rz_Ten1, yes, for example, I have fractional part separator set to ',' in Windows, but this never caused any problems. and mo3 support is more likely to appear in foobar build, if I'll ever get to it.

Bedeox, don't you have the sources :p
edit: 1) I can't hear significant difference 2) I've checked the sources and it seems to be ok 3) the pitch envelope is used only by *one* instrument and in very *quiet* part, so it's hardly affects anything

B3d30x
22nd December 2002, 11:08
Yes, I do, but I stated I won't mess with loaders.

RIV@NVX
22nd December 2002, 13:19
Originally posted by X-Fixer
RIV@NVX, I can't fix this before, at least, you'll tell me if this happens on startup, exit, loading, playing, using preferences or when? I have some ideas, but they will give a [b]stable[b] effect - not random drops.

I think it happens on startup. Not on exit definitly. It is not dependant to using preferences. It doesn't happen during playback, maybe on start of playback (and lasts until I change it and restart playback).

So generally - it is either Winamp startup or playback startup (i think I saw both cases). More?
And please, can you update your in_mod_bu.zip with that ideas so you don't break anything with fixing this problem.

RIV@NVX
31st December 2002, 10:51
It happens on startup definitly, it doesn't have anything with starting playback. Can it be Winamp's fault and not yours.
Reproduced with MODs, ITs, S3Ms.

RIV@NVX
11th January 2003, 11:04
It seems that Dec 15 build fixed it - I don't know how, but it did ;)

B3d30x
11th January 2003, 11:10
I think this could be called 'stable'.
Can't wait to see this in foobar2000...
Just don't use hacks this time, okay?
Maybe you'll get unbanned or something.

X-Fixer
11th January 2003, 11:49
"hacks". LOL. don't start this again. mikmod itself is half a hack, FYI.

B3d30x
11th January 2003, 12:41
It was very funny to read yours
and Peter conversation in HA.
But I'm against exploiting undocumented functionality
in any program, because it breaks compatibility.

I don't know why Peter gave you this ban
and why I'm banned from foobar's IRC channel...
Hell, he was like that all the way along.
Probably because of doing Winamp tech support.

X-Fixer
11th January 2003, 13:49
Originally posted by B3d30x
But I'm against exploiting undocumented functionality
in any program, because it breaks compatibility.


don't start this I've said :mad:

Originally posted by B3d30x
Hell, he was like that all the way along.
Probably because of doing Winamp tech support.

or because of coding tab control.
(for mikamp sources:
// Note to self: Despite their inhernet use in interfaces, coding tab controls
// apparently REALLY sucks, and it should never ever be done again by myself
// or anyone else whom I respect as a sane individual and I would like to have
// remain that way. As for me, it is too late. Bruhahahaha!K!J!lkjgkljASBfkJBdglkn.
)

RIV@NVX
11th January 2003, 21:24
Originally posted by X-Fixer
"hacks". LOL. don't start this again. mikmod itself is half a hack, FYI.

LOL, it is probably because mods are mostly broken... but still it works good ;)
And, just to say, I am banned from fb2k channel too :(

X-Fixer
12th January 2003, 07:58
btw, Bedeox, do your ears hear FIR interpolation in foo_mod? I've got a strong impression (from cpu usage and file size/contents, at least) that there's no FIR indeed.

kode54
12th January 2003, 08:24
It indeed seems to register very low CPU usage. Try loading a module that induces a heavy strain. Perhaps nb_seaso.it, but there are probably others. I can reproduce with a different module decoder, it stays at zero unless some serious work is going on. Currently using my own foo_mod, based on libmodplug, yet to have a configuration page because designing a GUI is new to me, just as new as coding classes is/was. It also lacks compressed module support, not sure yet how Peter hooks in the archive reader for the extra extensions from inside the plug-in, so for now I just rename to .RAR and let the player take care of it.

Hmm, yikes, player seems to be using a lot of memory, perhaps I should optimize this crap... Or maybe it doesn't need it...

Anyway, I leave this messy response for you to gather insight or smth, perhaps into what garbage I post when it's time for me to rest. Adieu.

X-Fixer
12th January 2003, 13:00
update: I've found FIR table in foo_mod. but now I know that it's linear interpolation that isn't actually used - FIR is used instead (that's why I haven't found any difference ;) ). and cpu usage turns out to be nearly the same as in Winamp (just need to do testing on same modules ;) ).

RIV@NVX
12th January 2003, 14:08
can you implement one thing that foo_mod has - editing titles?

kode54
12th January 2003, 18:41
Does it actually save titles to the file, or just the database?

X-Fixer
12th January 2003, 23:37
I'm quite sure it does not, since mikmod specs does not allow this.

JFD62780
13th January 2003, 01:22
SO, you mentioned low CPU usage? I got a song for you to test. Just discovered this song that unleashes a record 179 virtual channels! :eek:

ace-unrel.it (http://www.modarchive.com/cgi-bin/download.cgi/A/ace_unrel.it) (from the MOD Archive)

I hope to whomever downloads this song that their CPU's survive the usage.

X-Fixer
13th January 2003, 16:37
got 181 channels in winamp once. sparsely used imho. used up to 33% of cpu. found a funny bug in modplug player - it can't display that more than 99 channels are in use (seems to play more, though; takes up to 16% of cpu)

thanks for the tune, now I have something to test optimizations on my athlonXP. also, you can hard-limit number of channels, if you're afraid for your cpu ;)

RIV@NVX
14th January 2003, 12:38
I have more info on cutoff reset problem - it occurs if I run winamp and close it and if I played MP3 files in one winamp session (important - non-modules). Still can't reproduce this way, but sometimes after few run play non-mikmod close it happens.
X-Fixer, what could it be?

X-Fixer
14th January 2003, 17:21
just some unlucky coincidence ;)
try today's build.

RIV@NVX
14th January 2003, 17:45
OK, I will report if anything happens...

JFD62780
17th January 2003, 21:18
Originally posted by X-Fixer
thanks for the tune, now I have something to test optimizations on my athlonXP. also, you can hard-limit number of channels, if you're afraid for your cpu ;)

Aww, it was nothing! All's it took was a certain guy that ran a certain radio show (http://www.furnation.com/austinwolfclaw/wolfdenradio.html) to complain about the music skipping in places (he was playing the original file), mistakenly blaming the filters for the CPU usage (this plugin doesn't currently do filters, so I asked him for the tune and played it myself counting the channels via the info window.) When I heard it I was like 179? Whoa! :eek:

So in short, thanks for letting me provide y'all with a benchmark. ;)

kode54
17th January 2003, 21:28
Just FYI, foo_mod is currently hard-configured to max at 128 virtual channels.

X-Fixer
8th February 2003, 18:27
beta29 is finally out. phew!

- mixer
- some unused stuff removed
- dynamic FIR table generation
- player
- fixed arpeggio
- fixed pattern loop effect (to work like in MPT, damn)
- FT2 pattern loop bug emulation
- fixed pattern break
- corrected sample offset effect
- optimized loops detection (memory usage)
- one more seeking bug fixed
- some minor changes
- S3M/IT
- "ignore eof" option in prefs (was always on before)
- S3M
- fixed yet another rare mess-up
- fixed default panning
- proper handling of muted channels
- removed unused channels detection (for much faster loading)
- changed interpolation config
- interpolation options in url-parameters
- option to play muted channels
- internal changes inspired by peter
- displaying of samples' filenames


most bugs where found when listening to "don't listen in Winamp" tunes from modarchive (for example, Sippi-22 and roadblast). (mikamp is now the only player I know (except FT2, of course) that plays roadblast correctly :p ).

bigboo
4th April 2003, 19:31
Hi
I don't know if somebody still read this thread but I have something that may be interesting.
I found a site describing many bugs in winamp module plug-in. I don't know what version was tested but some bugs may still exist.

http://koti.mbnet.fi/~tympanic/bugs.htm



1. WinAmp doesn't understand volume command 00 in IT format at all. It interprets is as a blank volume command. Instead of 00 use 01 or ^^^ (press §) command.

2. WinAmp doesn't understand "jump to order" (Bxx) command at all. It just starts to play the song from the start. WinAmp also loads the mod to the buffer every time it starts playing it. This causes a small delay, which might be a bit annoying in loop songs.

3. WinAmp doesn't understand tremor command (Ixx) properly.

4. If you use "slide to note"-command (Gxx) and you put it to the first note to be slided, WinAmp doesn't make any slide at all. It just plays the first note. To prevent this, don't put Gxx to the first note of the slide session at all.

5. WinAmp doesn't play some mods (especially XM's) at all.

6. WinAmp plays sometimes only the first minute properly.

7. In some cases WinAmp takes kind of "sprints".

8. In some mods in any format made with ModPlug tracker, WinAmp might say that the playtime is hundereds of minutes but it plays only first ½ minutes or it doesn't play it at all. When the same file was saved to some other format the problem disappeard in some cases.

9. WinAmp sometimes slows down or jumps to the end of the pattern if it's quiet.

10. WinAmp plays also the "bonus parts", patterns which have one or more empty rows distance to the previous pattern in the playing order list.

11. If you use Gxx-command and volume envelopes in IT-format, WinAmp doesn't restart the volume envelope, when you use the Gxx-command, but Impulse Tracker does.

12. WinAmp doesn't understand short commands (Gx, Fx Ex...) in the volume-column at all.

13. If you use arpeggio in IT-format, remember to put the value on EVERY row, because WinAmp plays only arpeggios with the value included. This is weird, because there no such problem with other effects.

14. WinAmp doesn't understand IT-filter effects .

15. WinAmp doesn't understand all kinds of reversed patterns (pattern plays from bottom to the top).

16. WinAmp stops playing if you use break to row-command (Cxx) with a value that doesn't even exist.

DJ Egg
4th April 2003, 20:20
At a guess, that page is about 2 years old.
Winamp's module plugin has come a LONG way since then.
I doubt if you can reproduce ANY of those old bugs any more.

X-Fixer
5th April 2003, 04:12
bigboo: why have not you tried to reproduce any of these bugs before posting the whole shitty page? FYI, I've found this page several months ago and even contacted with it's author (nothing interesting). the only "bug" left, is the lack of resonant-filters support. (and the fact that I don't know how to create a "reverse pattern")

Egg: hi ;)

bigboo
5th April 2003, 09:58
ok no problem I'm sorry it was just to be sure!
and I didn't tried to reproduce these bugs because I don't know what they mean that's all

and now a real bug (I think):

I found a module (with a funny name) not playing right at all in in_mod (compared to modplug), the problem is easy to hear.

ftp://ftp.scene.org/pub/parties/2002/lamerfest02/mmul/dont_play_in_winamp_by_trayrace.zip

hey hey it's not a joke

X-Fixer
5th April 2003, 11:13
fixed. what a lame bug this was! someone (Air?) was really drunk...

I've never understood why people say "don't play in winamp", instead of reporting bugs? takes 1 minute to report and 1 minute to fix. seems that I still need someone (who can use tracker) to check that all effects are played correctly.

bigboo: it would be cool, if you'll learn to use a tracker (MPT is one of the easiest). your reports will become much more informative ;)

bigboo
5th April 2003, 11:29
ok I'll try mpt when I have some time just to see how it works! ;-)
and thanks for this quick fix

bigboo
5th April 2003, 12:00
ok I just tried MPT and I think I found another problem with this song "don't play in

winamp"

for channel 5 & 6 there is a panning problem: in modplug the sound move from right to left

but in winamp it seems to stay in center
MPT says they use effect Yxx: Panbrello speed=1 depth=15

again it's easy to hear with headphones

X-Fixer
6th April 2003, 04:57
indeed. i've fixed IT loader, but player code was broken too.
fixed.

bigboo
25th April 2003, 19:15
Hi X-Fixer I just wanted to know if you had time to fix the little problems I found in in_mod.
I don't want to hurry you it just to see if I can download an updated version or not.

I put my original message here so maybe other people interested in that (maybe nobody lol) can see it on the forum:



1. I found a site with many mods in old exotic format (669 stm ult etc...) with good
description about winamp compatibility:

http://hc.hanszen.rice.edu/~noahd/oldweb/index.html
then click on music on the left

I have not tested all mods but this one:
http://hc.hanszen.rice.edu/~noahd/oldweb/m...music/alive.zip
is played bad in winamp (not play at all in modplug) but it must be just broken



2. another problem in an IT module
http://www.cyps.net/akolade/music.html
http://www.cyps.net/akolade/songs/shorstar.zip

time: 00:23 the slide goes to high compared to modplug
end of the seventh pattern (number38) channel 15 & 16 problem with Kxx effect



3. http://mono211.com/st-00/aml_h0l.html
ftp://mirror.support.nl/pub/mono/st-00/h0...ULSIVE_CHIP.zip

the first channel is not played right at all (compared to modplug)
just listen to the first seconds it's very easy to hear
maybe a problem wit h 0xx arpeggio effect?

JFD62780
26th April 2003, 21:46
Originally posted by bigboo
I found a site with many mods in old exotic format (669 stm ult etc...) with good
description about winamp compatibility:

http://hc.hanszen.rice.edu/~noahd/oldweb/index.html
then click on music on the left...

First off, BigBoo; thanks for expanding my MOD collection by a couple songs! :D

Secondly; found another problematic song; I wanted to test out DOPE.MOD (http://hc.hanszen.rice.edu/~noahd/oldweb/music/dope.zip), perhaps the biggest .MOD I've ever seen, not only in terms of size, but channels as well. The song crashed the default Winamp 2.91 MOD plugin upon pressing play. Perhaps there's a way of stabilizing the FastTracker 1 portion of the decoder, so it can accept large songs, close to a megabyte?

X-Fixer
27th April 2003, 07:37
bigboo: when updated version will be out, I'll inform you, don't worry ;)

JFD62780: first, I can't reproduce the crash with the current version (beta29b on winamp 2.81). download 29b and try it again. if it crashes, please, try to isolate the reason of it (e.g. downgrade to 2.81). it's hardly related to file size. this was a DOS problem, no longer present here. I've played modules almost 8MB in size.

second, if you're the author of that page, could you please update it. now STMs/S3Ms do not crash, 669s are (hopefully) played right and FAR is played also (somehow).

and about your alive.mod. the original mod was made in soundtracker (I have it and it plays fine), but someone converted it to startrekker 8-channels format. this was not supported up to now. (I have just added support for such modules) but the conversion was lame, so the module is actually 4-channels. if you care (or to check that I'm right) you can patch the module (in hex editor) - find 'FLT8' and change it to 'FLT4', thus making it 4-channel format. it will play fine then.

JFD62780
27th April 2003, 21:27
I now see my mistake. I relied too heavily on DirectSound for output... Not only that, but I accidentally saved the archive with the Beta 29a plugin to the wrong folder on my HDD! :D

Also, I was referring to the .MOD format alone, not the S3M, XM or IT format, which can very well be over a meg in some, perhaps most, cases.

Thirdly, I'm not the author of that page. However, by saying "my MOD collection" I might have confused you into thinking otherwise... By that, I meant my personal collection, i.e. not stored on the Internet. You see, I don't have a homepage yet. ;)

With that in mind, may I go back to listening to my custom playlist! :cool:

P.S.: The 669's might be a tinge offkey on some channels, but the only side effect I hear is a cool flange effect! :D

X-Fixer
28th April 2003, 11:11
so, the reason it crashed was directsound output? are you sure? what is your OS? could you try to replace out_ds from 2.91 with out_ds from 2.81 and see if it still crashes.

about MOD sizes. most of module size is usually taken by samples (in case of dope.mod 443KB). the code that loads samples is the same for all formats. and the code that parses ProTracker patterns is so simple, that it can hardly cause any problems.

about 669. that's very strange. could you give an example?

Halle
3rd May 2003, 19:56
Hi again :)

I read about beta29b and of course I installed it at one. Now everything runs smooth, thanks :)

Regards,
Halle


Hi,

I experienced the same problem with crashing WinAmp when playing modules through directsound output. However, I think the problem is not the ds_out plugin, as it works perfectly when playing mp3s and other files, and when I replace beta29 with beta28 of in_mod.dll, playing throug ds_out works fine again.
I posted more at http://forums.winamp.com/showthread.php?s=&threadid=131494

Halle
3rd May 2003, 20:34
-crap-

NightShade737
28th May 2003, 12:16
Are you even intending on supporting .MED as the currnt one is crap and doesnt work with shoutcast :/

Cheers,
NS

X-Fixer
28th May 2003, 15:34
eh?

MEDs are not supported for now and I don't know if I'll ever get to it. and anyway, there is no streaming support for any modules at all.

NightShade737
28th May 2003, 17:55
These MODs are playing just fine over shotcast (see sig to listen) using "Winamp" as the input, but I can only hear the MED files if I use "Soundcard" as the input, but then the sound isnt as good and there are other side effects. No idea why MED files dont work with "WinAMP" set as the output.

NS

YtseJam
7th August 2003, 08:32
Hrm, old but good thread...

Sorry for bringing this thread back, but looks like you people are knowledgeable about this...

How can I make Winamp play .lha or .sid files?
I can listen to these via Winamp when streaming, but not when I have the actual file on the HD.

The files are from scenemusic.com
Would it be better if I upload the specific files (although I guess it's any file which is either .sid or .lha)

kode54
7th August 2003, 08:56
LHA is an archiver, but its files usually have a .LZH extension.

For SID files, you'll want the SidAmp (http://www.labyrinth.net.au/~adsoft/sidamp/) plug-in.

YtseJam
7th August 2003, 09:24
Thanks for the .sid plug-in. :)

Didn't understand ya' about the .lha files, I mean, I understood in general, but am I to do?

kode54
7th August 2003, 09:33
No idea... Perhaps try WinRar or WinZip? If that fails, rename them to .lzh?

YtseJam
7th August 2003, 09:43
Renaming them didn't help (WinRar recognized them but said the file might be corrupt).

I redownloaded the files again and put them directly in Winamp (instead of extracting them like before); this time I, at least, can see the duration of the track but Winamp still doesn't play them.

kode54
7th August 2003, 10:04
They might work with DeliPlayer.

YtseJam
7th August 2003, 10:40
Deliplayer indeed plays the files... Does this means the problem is with Winamp's in_mod plug-in? (Is this even related to the in_mod plug-in? 'cause I have no clue in this :))

Lion King
7th August 2003, 12:58
winamp's readfile.dll doesn't support lha, i once requested that from peter...

just decompress those files with powerarchiver or the like, can you link to such a file?

Rz_Ten1
9th August 2003, 13:19
I've found a new little weird bug here on my work machine...

If I have the WinAmp Equalizer on, and in_mod set to 16bit or higher with stereo mode enabled, during the last 5-10 seconds of the song the processor usage will jump to 100%.

If I turn off the equalizer, drop the playback down to 8bit, or turn off stereo mode, the problem goes away.

The high CPU usage occurs on all songs I have that have a blank period at the end. The problem does not seem to occur for songs that end while an instrument is still playing. The error seems to occur regardless of module type (tested xm, s3m, mod, and it).

I have found one song that the error occurs at the beginning instead of the end and have attached it. It occurs at the end of these songs:
http://www.modarchive.com/cgi-bin/download.cgi?X/xmas_pud.mod
http://www.modarchive.com/cgi-bin/download.cgi?1_9/2ND_PM.S3M
http://www.modarchive.com/cgi-bin/download.cgi?M/MECH8.S3M

I'll try and test it at home, and will post if I can reproduce it there

Edit: Fixed some spelling errors. :weird: Also, I'm using 29b.

Rz_Ten1
27th September 2003, 16:04
Sorry for the delays in my response. I’ve been unable to reproduce the CPU usage problem on any other computer then the work one. I think it might just be that machine, so ignore the last message. :p
(The most I was able to notice was a slight increase in CPU usage where the other one dies.)

In any case, I've managed to find a real problem. I've got an MTM file that 29b is having a heck of a time playing. At 22 seconds there is a sound which I can only describe as a cymbal exploding. This occurs throughout the song, but I'm not sure which instrument it corresponds to.
In addition, it appears that instrument 19 (13Hex, "DistortedBass") isn't playing at all.

I've placed the song here (http://www.sysreset.com/BEYOND2.rar) , since I can't seem to attach anything bigger then 100k :rolleyes: (I swear that used to be bigger). Let me know if anyone would like me to do some more poking at it, to see if I can be more specific.

ZeosPantera
2nd October 2003, 04:03
*.OGM (Ogg Vorbis Media video) filetype support would be nice.....as long as the codec is installed winamp will play it... I just have to retitle ogm videos to avi so that they pop up in my library and when enqueing. its an annoying beach.. also I think any highup over there at nullsoft would have no prob aquirering the codec for distro with winamp.

Sawg
2nd October 2003, 04:05
Preferences (Ctrl-P) > Plug-ins > Input > Double Click "Nullsoft DirectShow Decoder..." > add ";OGM" (no quotes) to the end of the Extension List.