summaryrefslogtreecommitdiffstats
path: root/src/control
diff options
context:
space:
mode:
authorUwe Klotz <uklotz@mixxx.org>2020-10-29 09:41:18 +0100
committerUwe Klotz <uklotz@mixxx.org>2020-10-29 09:41:18 +0100
commit4076066ce132f20be455b431ca41639133e2485c (patch)
tree31e82e042df7732e5e46fdbb5fcf00d8fa5b6eed /src/control
parent7a0d54eb0a67607ac3e45aec627a13b5f3fc1a37 (diff)
parentc115a0c67c30556d52da1284d8f1df7335f5b3c2 (diff)
Merge branch '2.3' of git@github.com:mixxxdj/mixxx.git into main
# Conflicts: # src/engine/enginebuffer.cpp # src/engine/sync/synccontrol.cpp
Diffstat (limited to 'src/control')
-rw-r--r--src/control/controlbehavior.cpp12
-rw-r--r--src/control/controllinpotmeter.cpp4
-rw-r--r--src/control/controlobject.h5
3 files changed, 13 insertions, 8 deletions
diff --git a/src/control/controlbehavior.cpp b/src/control/controlbehavior.cpp
index 720fa7399e..f6de005a90 100644
--- a/src/control/controlbehavior.cpp
+++ b/src/control/controlbehavior.cpp
@@ -187,7 +187,7 @@ double ControlAudioTaperPotBehavior::valueToParameter(double dValue) {
// m_minDB = 0
// 0 dB = m_neutralParameter
double overlay = m_offset * (1 - dValue);
- if (m_minDB) {
+ if (m_minDB != 0) {
dParam = (ratio2db(dValue + overlay) - m_minDB) / m_minDB * m_neutralParameter * -1;
} else {
dParam = dValue * m_neutralParameter;
@@ -211,7 +211,7 @@ double ControlAudioTaperPotBehavior::parameterToValue(double dParam) {
// db + linear overlay to reach
// m_minDB = 0
// 0 dB = m_neutralParameter;
- if (m_minDB) {
+ if (m_minDB != 0) {
double db = (dParam * m_minDB / (m_neutralParameter * -1)) + m_minDB;
dValue = (db2ratio(db) - m_offset) / (1 - m_offset) ;
} else {
@@ -232,7 +232,7 @@ double ControlAudioTaperPotBehavior::parameterToValue(double dParam) {
double ControlAudioTaperPotBehavior::midiToParameter(double midiValue) {
double dParam;
- if (m_neutralParameter && m_neutralParameter != 1.0) {
+ if (m_neutralParameter != 0 && m_neutralParameter != 1.0) {
double neutralTest = (midiValue - m_midiCorrection) / 127.0;
if (neutralTest < m_neutralParameter) {
dParam = midiValue /
@@ -255,7 +255,7 @@ double ControlAudioTaperPotBehavior::valueToMidiParameter(double dValue) {
// always on a full Midi integer
double dParam = valueToParameter(dValue);
double dMidiParam = dParam * 127.0;
- if (m_neutralParameter && m_neutralParameter != 1.0) {
+ if (m_neutralParameter != 0 && m_neutralParameter != 1.0) {
if (dParam < m_neutralParameter) {
dMidiParam += m_midiCorrection * dParam / m_neutralParameter;
} else {
@@ -316,8 +316,8 @@ void ControlPushButtonBehavior::setValueFromMidi(
auto* timer = getTimer();
if (pressed) {
// Toggle on press
- double value = pControl->get();
- pControl->set(!value, NULL);
+ bool value = (pControl->get() != 0);
+ pControl->set(!value, nullptr);
timer->setSingleShot(true);
timer->start(kPowerWindowTimeMillis);
} else if (!timer->isActive()) {
diff --git a/src/control/controllinpotmeter.cpp b/src/control/controllinpotmeter.cpp
index e3f16d44b4..c3ab24cca5 100644
--- a/src/control/controllinpotmeter.cpp
+++ b/src/control/controllinpotmeter.cpp
@@ -9,10 +9,10 @@ ControlLinPotmeter::ControlLinPotmeter(ConfigKey key,
m_pControl->setBehavior(
new ControlLinPotmeterBehavior(dMinValue, dMaxValue, allowOutOfBounds));
}
- if (dStep) {
+ if (dStep != 0) {
setStepCount(static_cast<int>((dMaxValue - dMinValue) / dStep));
}
- if (dSmallStep) {
+ if (dSmallStep != 0) {
setSmallStepCount(static_cast<int>((dMaxValue - dMinValue) / dSmallStep));
}
}
diff --git a/src/control/controlobject.h b/src/control/controlobject.h
index a3e247f846..22a6d49b93 100644
--- a/src/control/controlobject.h
+++ b/src/control/controlobject.h
@@ -87,6 +87,11 @@ class ControlObject : public QObject {
// Instantly returns the value of the ControlObject
static double get(const ConfigKey& key);
+ /// Returns the boolean interpretation of the ControlObject's value.
+ static bool toBool(const ConfigKey& key) {
+ return ControlObject::get(key) > 0;
+ }
+
// Sets the ControlObject value. May require confirmation by owner.
inline void set(double value) {
if (m_pControl) {