New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix IT sample global volume and sample vibrato. #218
Conversation
c97020a
to
8fa8e88
Compare
I fixed the one module data test that this broke (differences were due to the change in sample vibrato depth). Haven't looked too close at the four failing OpenMPT mixer tests yet. |
* IT sample global volume was being ignored in sample mode due to QUIRK_INSVOL not being enabled. QUIRK_INSVOL is now unconditionally enabled for IT modules. * IT sample global volume was being ignored in instrument mode for IT 1.x modules due to QUIRK_INSVOL not being enabled for IT 1.x modules. QUIRK_INSVOL is now unconditionally enabled for IT modules. * Fixed an incorrect bitshift on IT sample vibrato depth that resulted in IT sample vibrato being very weak. * Sample vibrato rate is now rounded instead of truncated. The LFO period size should probably eventually be expanded instead.
8fa8e88
to
912bc13
Compare
Remaining tests:
|
Let's have @sagamusix and @cmatsuoka look at this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IT support in libxmp is generally innacurate and problems are fixed as they're reported, so if this change fixes issues or makes replay sound "less wrong" it should be good to go. (There are many hacks in IT replaying caused by IT support being added after the common replay code was already in place -- in the future we should refactor the common player to be more IT friendly, including adding proper bidirectional sample loops).
One of the tests on the master branch failed after this was merged: https://travis-ci.org/github/libxmp/libxmp/builds/743831472 I did a local build of libxmp and the tests on my iMac with GCC with no issue so that's not the problem. Is this maybe an issue on Travis' end? edit: maybe related: https://travis-ci.community/t/macos-build-an-error-occurred-while-generating-the-build-script/7684 |
Seems like it |
Fixes a few bugs in IT sample global volume and sample vibrato handling:
QUIRK_INSVOL
not being enabled.QUIRK_INSVOL
is now unconditionally enabled for IT modules.QUIRK_INSVOL
not being enabled for IT 1.x modules.Fixes #102 and #103.
edit: 5 failing tests from this patch, will look into them.