Skip to content

Commit

Permalink
CI test, no declaration of ControlEncoder: add beats_translate_move t…
Browse files Browse the repository at this point in the history
…o trigger beats_translate_earlier/_later
  • Loading branch information
ronso0 committed Dec 5, 2023
1 parent 40d23f3 commit 867f871
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
35 changes: 17 additions & 18 deletions src/engine/controls/bpmcontrol.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "engine/controls/bpmcontrol.h"

// #include "control/controlencoder.h"
#include "control/controllinpotmeter.h"
#include "control/controlobject.h"
#include "control/controlproxy.h"
Expand Down Expand Up @@ -83,6 +84,13 @@ BpmControl::BpmControl(const QString& group,
connect(m_pTranslateBeatsLater, &ControlObject::valueChanged,
this, &BpmControl::slotTranslateBeatsLater,
Qt::DirectConnection);
m_pTranslateBeatsMove = new ControlEncoder(ConfigKey(group, "beats_translate_move"), false);
m_pTranslateBeatsMove->setKbdRepeatable(true);

Check failure on line 88 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / clazy

no member named 'setKbdRepeatable' in 'ControlEncoder'

Check failure on line 88 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04 (gcc)

‘class ControlEncoder’ has no member named ‘setKbdRepeatable’

Check failure on line 88 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04 (Qt 6.2, gcc)

‘class ControlEncoder’ has no member named ‘setKbdRepeatable’

Check failure on line 88 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / clang-tidy

no member named 'setKbdRepeatable' in 'ControlEncoder' [clang-diagnostic-error]

Check failure on line 88 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / coverage

‘class ControlEncoder’ has no member named ‘setKbdRepeatable’

Check failure on line 88 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'setKbdRepeatable': is not a member of 'ControlEncoder'
connect(m_pTranslateBeatsMove,
&ControlObject::valueChanged,
this,
&BpmControl::slotTranslateBeatsMove,
Qt::DirectConnection);

// Pick a wide range (kBpmRangeMin to kBpmRangeMax) and allow out of bounds sets. This lets you
// map a soft-takeover MIDI knob to the BPM. This also creates bpm_up and
Expand Down Expand Up @@ -134,6 +142,7 @@ BpmControl::~BpmControl() {
delete m_pBeatsTranslateMatchAlignment;
delete m_pTranslateBeatsEarlier;
delete m_pTranslateBeatsLater;
delete m_pTranslateBeatsMove;
delete m_pAdjustBeatsFaster;
delete m_pAdjustBeatsSlower;
}
Expand Down Expand Up @@ -180,26 +189,16 @@ void BpmControl::slotAdjustBeatsSlower(double v) {
}

void BpmControl::slotTranslateBeatsEarlier(double v) {

Check failure on line 191 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / clazy

unused parameter 'v' [-Werror,-Wunused-parameter]

Check failure on line 191 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04 (gcc)

unused parameter ‘v’ [-Werror=unused-parameter]

Check failure on line 191 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04 (Qt 6.2, gcc)

unused parameter ‘v’ [-Werror=unused-parameter]

Check failure on line 191 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / clang-tidy

unused parameter 'v' [clang-diagnostic-unused-parameter]

Check warning on line 191 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / coverage

unused parameter ‘v’ [-Wunused-parameter]
if (v <= 0) {
return;
}
const TrackPointer pTrack = getEngineBuffer()->getLoadedTrack();
if (!pTrack) {
return;
}
const mixxx::BeatsPointer pBeats = pTrack->getBeats();
if (pBeats) {
const double sampleOffset = frameInfo().sampleRate * -0.01;
const mixxx::audio::FrameDiff_t frameOffset = sampleOffset / mixxx::kEngineChannelCount;
const auto translatedBeats = pBeats->tryTranslate(frameOffset);
if (translatedBeats) {
pTrack->trySetBeats(*translatedBeats);
}
}
slotTranslateBeatsMove(-1);
}

void BpmControl::slotTranslateBeatsLater(double v) {

Check failure on line 195 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / clazy

unused parameter 'v' [-Werror,-Wunused-parameter]

Check failure on line 195 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04 (gcc)

unused parameter ‘v’ [-Werror=unused-parameter]

Check failure on line 195 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04 (Qt 6.2, gcc)

unused parameter ‘v’ [-Werror=unused-parameter]

Check failure on line 195 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / clang-tidy

unused parameter 'v' [clang-diagnostic-unused-parameter]

Check warning on line 195 in src/engine/controls/bpmcontrol.cpp

View workflow job for this annotation

GitHub Actions / coverage

unused parameter ‘v’ [-Wunused-parameter]
if (v <= 0) {
slotTranslateBeatsMove(1);
}

void BpmControl::slotTranslateBeatsMove(double v) {
v = std::round(v);
if (v == 0) {
return;
}
const TrackPointer pTrack = getEngineBuffer()->getLoadedTrack();
Expand All @@ -209,7 +208,7 @@ void BpmControl::slotTranslateBeatsLater(double v) {
const mixxx::BeatsPointer pBeats = pTrack->getBeats();
if (pBeats) {
// TODO(rryan): Track::frameInfo is possibly inaccurate!
const double sampleOffset = frameInfo().sampleRate * 0.01;
const double sampleOffset = frameInfo().sampleRate * v * 0.01;
const mixxx::audio::FrameDiff_t frameOffset = sampleOffset / mixxx::kEngineChannelCount;
const auto translatedBeats = pBeats->tryTranslate(frameOffset);
if (translatedBeats) {
Expand Down
3 changes: 3 additions & 0 deletions src/engine/controls/bpmcontrol.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include "track/beats.h"
#include "util/tapfilter.h"

// class ControlEncoder;
class ControlLinPotmeter;
class ControlPushButton;

Expand Down Expand Up @@ -100,6 +101,7 @@ class BpmControl : public EngineControl {
void slotAdjustBeatsSlower(double);
void slotTranslateBeatsEarlier(double);
void slotTranslateBeatsLater(double);
void slotTranslateBeatsMove(double);
void slotTapFilter(double,int);
void slotBpmTap(double);
void slotUpdateRateSlider(double v = 0.0);
Expand Down Expand Up @@ -141,6 +143,7 @@ class BpmControl : public EngineControl {
ControlPushButton* m_pAdjustBeatsSlower;
ControlPushButton* m_pTranslateBeatsEarlier;
ControlPushButton* m_pTranslateBeatsLater;
ControlEncoder* m_pTranslateBeatsMove;

// The current effective BPM of the engine
ControlLinPotmeter* m_pEngineBpm;
Expand Down

0 comments on commit 867f871

Please sign in to comment.