Skip to content
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

script.crossfaderCurve does not work as desired #8192

Open
mixxxbot opened this issue Aug 22, 2022 · 4 comments
Open

script.crossfaderCurve does not work as desired #8192

mixxxbot opened this issue Aug 22, 2022 · 4 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: daschuer
Date: 2015-08-06T10:17:30Z
Status: Confirmed
Importance: Medium
Launchpad Issue: lp1482163


The code implies that we are able to tweak the xFader independently for each mode.

script.crossfaderCurve = function (value, min, max) {
    if (engine.getValue("[Mixer Profile]", "xFaderMode")==1) {
        // Constant Power
        engine.setValue("[Mixer Profile]", "xFaderCalibration", script.absoluteLin(value, 0.5, 0.962, min, max));
    } else {
        // Additive
        engine.setValue("[Mixer Profile]", "xFaderCurve", script.absoluteLin(value, 1, 2, min, max));
    }
}

Unfortunately the slider in the xFader preferences tweaks xFaderCalibration and xFaderCurve in both modes.
Tweaking the modes independently seams to be desirable. So I consider the CO interface and the preference dialog and the underlying calculation as broken.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2015-08-06T10:22:06Z


If we fix this this, it should be easy to fix Bug #⁠829538 as well, by shifting the maximum towards a steep cut.

IMHO this is a 1.12 bug, and it should be fixes without any interface changes.

Thoughts?

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2015-11-27T12:10:00Z


xFaderCalibration is used in both modes.
The range is now 1 ... 1000

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2016-01-21T20:17:15Z


Please note: the xFaderCalibration depends on the value of xFaderCurve to achieve a desired curve.

Fading:
xFaderCalibration 0.5 / 0
xFaderCurve = 1 / 0
Scratching:
xFaderCalibration 0.999307 / 0.998614
xFaderCurve = 1000 / 1

See:

double EngineXfader::getPowerCalibration(double transform) {

xFaderCalibration = pow(0.5, 1.0 / xFaderCurve);

@mixxxbot
Copy link
Collaborator Author

Commented by: kejbilgsf
Date: 2016-02-22T03:48:56Z


Maybe this comment will be helpful:

// m_transform is in the range of 1 to 1000 while 50 % slider results

So, the xFaderCurve is in the range of 1 to 1000 while 50 % slider results to about 2, which represents a medium rounded fader curve.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant