http://bugs.winehq.org/show_bug.cgi?id=14717
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #37278|0 |1 is obsolete| |
--- Comment #200 from Andrew Eikum aeikum@codeweavers.com 2011-11-04 11:09:19 CDT --- Created attachment 37298 --> http://bugs.winehq.org/attachment.cgi?id=37298 dsound: Use a better resampling and mixing engine
(In reply to comment #195)
Here's a demo for Dark Fall, you have to run it with either 1.3.31 or with the latest git because there was a regression in between (bug #28912). http://www.fileplanet.com/126673/120000/fileinfo/Dark-Fall-Demo
You can also try the demo for Haegemonia (music is looping): http://www.fileplanet.com/113670/110000/fileinfo/Hegemonia:-Legions-of-Iron-...
These are both working for me with the latest version of the patch, attached here. Changes detailed below.
(In reply to comment #194)
No, it still fail
I don't know what to say, it's working great here with the file named "7_opus_number_1.ftm". Do you have a clean WINEPREFIX? Want to attach a log with this latest patch (http://wiki.winehq.org/Sound)?
(In reply to comment #196)
The patch seems to drop support for floating-point secondary buffers.
Added in this version.
(In reply to comment #197)
So either use more points (this doesn't increase compulational complexity, BTW), or use cubic interpolation near lines 271-275 of mixer.c.
I changed the step values in mkfir to match those in libsamplerate and the header file turned out to be 1.1MB in size. That's not going to be acceptable, so I implemented cubic interpolation instead.
(In reply to comment #199)
At least the fast and good FIRs do not contain a whole number of sine periods. This negates the effectiveness of the window.
They're taken unchanged from the output of mkfir, so it's a bug in Krzysztof's program. I don't really understand the program or its output, but do you think line 128 should be changed from: tmp2 = M_PI * cnt * cutoff; to: tmp2 = 2 * M_PI * cnt * cutoff; to complete the sine period?