summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2020-11-03 11:14:18 +0100
committerGitHub <noreply@github.com>2020-11-03 11:14:18 +0100
commit21be90fac7689ae65798732403fbeed47be8fcf9 (patch)
treedbe03a21347edf4964ef3edb1edd0dba014b6d41
parent7e0cdbb7cbcfe806d31d8546798381a736fdcd91 (diff)
parentf7aa473fa92d35e00926c5f11dcdf87372f43cd6 (diff)
Merge pull request #3076 from PawBud/AutoDJ
AutoDJ: Add Random Track Control to AutoDJ.
-rw-r--r--CHANGELOG.md1
-rw-r--r--res/skins/Deere/style.qss2
-rw-r--r--res/skins/LateNight/style_classic.qss2
-rw-r--r--res/skins/LateNight/style_palemoon.qss2
-rw-r--r--res/skins/Shade/style.qss2
-rw-r--r--res/skins/Tango/style.qss4
-rw-r--r--src/controllers/controlpickermenu.cpp5
-rw-r--r--src/library/autodj/autodjfeature.cpp2
-rw-r--r--src/library/autodj/autodjprocessor.cpp14
-rw-r--r--src/library/autodj/autodjprocessor.h2
-rw-r--r--src/library/autodj/dlgautodj.cpp7
-rw-r--r--src/library/autodj/dlgautodj.h2
-rw-r--r--src/library/autodj/dlgautodj.ui2
13 files changed, 34 insertions, 13 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6095c7b7d3..4b4f6f93a8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
* Cover art: Prevent wrong cover art display due to hash conflicts
* Cover art: Add background color for quick cover art preview
+* Add Random Track Control to AutoDJ [#3076](https://github.com/mixxxdj/mixxx/pull/3076)
## [2.3.0](https://launchpad.net/mixxx/+milestone/2.3.0) (Unreleased)
### Hotcues ###
diff --git a/res/skins/Deere/style.qss b/res/skins/Deere/style.qss
index 1b87870f6e..c417c5a2ff 100644
--- a/res/skins/Deere/style.qss
+++ b/res/skins/Deere/style.qss
@@ -639,7 +639,7 @@ QPushButton#pushButtonSkipNext:!enabled {
QPushButton#pushButtonShuffle {
image: url(skin:/icon/ic_autodj_shuffle.svg) no-repeat center center;
}
-QPushButton#pushButtonAddRandom {
+QPushButton#pushButtonAddRandomTrack {
image: url(skin:/icon/ic_autodj_addrandom.svg) no-repeat center center;
}
QPushButton#pushButtonRepeatPlaylist {
diff --git a/res/skins/LateNight/style_classic.qss b/res/skins/LateNight/style_classic.qss
index 3781db111b..c74cc5f818 100644
--- a/res/skins/LateNight/style_classic.qss
+++ b/res/skins/LateNight/style_classic.qss
@@ -1897,7 +1897,7 @@ QPushButton#pushButtonShuffle:enabled {
image: url(skin:/classic/buttons/btn__autodj_shuffle.svg) no-repeat center center;
}
-QPushButton#pushButtonAddRandom:enabled {
+QPushButton#pushButtonAddRandomTrack:enabled {
image: url(skin:/classic/buttons/btn__autodj_addrandom.svg) no-repeat center center;
}
diff --git a/res/skins/LateNight/style_palemoon.qss b/res/skins/LateNight/style_palemoon.qss
index e6729fa45d..cc5759af0d 100644
--- a/res/skins/LateNight/style_palemoon.qss
+++ b/res/skins/LateNight/style_palemoon.qss
@@ -2355,7 +2355,7 @@ QPushButton#pushButtonShuffle:enabled {
image: url(skin:/palemoon/buttons/btn__autodj_shuffle.svg) no-repeat center center;
}
-QPushButton#pushButtonAddRandom:enabled {
+QPushButton#pushButtonAddRandomTrack:enabled {
image: url(skin:/palemoon/buttons/btn__autodj_addrandom.svg) no-repeat center center;
}
diff --git a/res/skins/Shade/style.qss b/res/skins/Shade/style.qss
index e246467b75..250416d9db 100644
--- a/res/skins/Shade/style.qss
+++ b/res/skins/Shade/style.qss
@@ -875,7 +875,7 @@ QPushButton#pushButtonSkipNext:!enabled {
QPushButton#pushButtonShuffle {
image: url(skin:/btn/btn_autodj_shuffle.svg) no-repeat center center;
}
-QPushButton#pushButtonAddRandom {
+QPushButton#pushButtonAddRandomTrack {
image: url(skin:/btn/btn_autodj_addrandom.svg) no-repeat center center;
}
QPushButton#pushButtonRepeatPlaylist {
diff --git a/res/skins/Tango/style.qss b/res/skins/Tango/style.qss
index d4cd922b4f..b3b74f3f4b 100644
--- a/res/skins/Tango/style.qss
+++ b/res/skins/Tango/style.qss
@@ -2688,7 +2688,7 @@ Library features and their buttons:
QPushButton#
DlgAutoDJ
QPushButton#pushButtonShuffle
- QPushButton#pushButtonAddRandom
+ QPushButton#pushButtonAddRandomTrack
QPushButton#pushButtonSkipNext
QPushButton#pushButtonFadeNow
QSpinBox#spinBoxTransition
@@ -2825,7 +2825,7 @@ QPushButton#pushButtonSkipNext:!enabled {
QPushButton#pushButtonShuffle {
image: url(skin:/buttons/btn_autodj_shuffle.svg) no-repeat center center;
}
-QPushButton#pushButtonAddRandom {
+QPushButton#pushButtonAddRandomTrack {
image: url(skin:/buttons/btn_autodj_addrandom.svg) no-repeat center center;
}
QPushButton#pushButtonRepeatPlaylist:!checked {
diff --git a/src/controllers/controlpickermenu.cpp b/src/controllers/controlpickermenu.cpp
index 912240f12e..b6505e3dff 100644
--- a/src/controllers/controlpickermenu.cpp
+++ b/src/controllers/controlpickermenu.cpp
@@ -989,6 +989,11 @@ ControlPickerMenu::ControlPickerMenu(QWidget* pParent)
addControl("[AutoDJ]", "skip_next",
tr("Auto DJ Skip Next"),
tr("Skip the next track in the Auto DJ queue"), autodjMenu);
+ addControl("[AutoDJ]",
+ "add_random_track",
+ tr("Auto DJ Add Random Track"),
+ tr("Add a random track to the Auto DJ queue"),
+ autodjMenu);
addControl("[AutoDJ]", "fade_now",
tr("Auto DJ Fade To Next"),
tr("Trigger the transition to the next track"), autodjMenu);
diff --git a/src/library/autodj/autodjfeature.cpp b/src/library/autodj/autodjfeature.cpp
index 6b39610762..eb5bf25e70 100644
--- a/src/library/autodj/autodjfeature.cpp
+++ b/src/library/autodj/autodjfeature.cpp
@@ -145,7 +145,7 @@ void AutoDJFeature::bindLibraryWidget(
this,
&AutoDJFeature::slotRandomQueue);
connect(m_pAutoDJView,
- &DlgAutoDJ::addRandomButton,
+ &DlgAutoDJ::addRandomTrackButton,
this,
&AutoDJFeature::slotAddRandomTrack);
}
diff --git a/src/library/autodj/autodjprocessor.cpp b/src/library/autodj/autodjprocessor.cpp
index 34a6c99042..a56a379f97 100644
--- a/src/library/autodj/autodjprocessor.cpp
+++ b/src/library/autodj/autodjprocessor.cpp
@@ -135,6 +135,13 @@ AutoDJProcessor::AutoDJProcessor(
connect(m_pSkipNext, &ControlObject::valueChanged,
this, &AutoDJProcessor::controlSkipNext);
+ m_pAddRandomTrack = new ControlPushButton(
+ ConfigKey("[AutoDJ]", "add_random_track"));
+ connect(m_pAddRandomTrack,
+ &ControlObject::valueChanged,
+ this,
+ &AutoDJProcessor::controlAddRandomTrack);
+
m_pFadeNow = new ControlPushButton(
ConfigKey("[AutoDJ]", "fade_now"));
connect(m_pFadeNow, &ControlObject::valueChanged,
@@ -185,6 +192,7 @@ AutoDJProcessor::~AutoDJProcessor() {
delete m_pCOCrossfaderReverse;
delete m_pSkipNext;
+ delete m_pAddRandomTrack;
delete m_pShufflePlaylist;
delete m_pEnabledAutoDJ;
delete m_pFadeNow;
@@ -580,6 +588,12 @@ void AutoDJProcessor::controlSkipNext(double value) {
}
}
+void AutoDJProcessor::controlAddRandomTrack(double value) {
+ if (value > 0.0) {
+ emit randomTrackRequested(1);
+ }
+}
+
void AutoDJProcessor::crossfaderChanged(double value) {
if (m_eState == ADJ_IDLE) {
// The user is changing the crossfader manually. If the user has
diff --git a/src/library/autodj/autodjprocessor.h b/src/library/autodj/autodjprocessor.h
index f702614d64..08dbecccdb 100644
--- a/src/library/autodj/autodjprocessor.h
+++ b/src/library/autodj/autodjprocessor.h
@@ -227,6 +227,7 @@ class AutoDJProcessor : public QObject {
void controlFadeNow(double value);
void controlShuffle(double value);
void controlSkipNext(double value);
+ void controlAddRandomTrack(double value);
protected:
// The following virtual signal wrappers are used for testing
@@ -293,6 +294,7 @@ class AutoDJProcessor : public QObject {
ControlProxy* m_pCOCrossfaderReverse;
ControlPushButton* m_pSkipNext;
+ ControlPushButton* m_pAddRandomTrack;
ControlPushButton* m_pFadeNow;
ControlPushButton* m_pShufflePlaylist;
ControlPushButton* m_pEnabledAutoDJ;
diff --git a/src/library/autodj/dlgautodj.cpp b/src/library/autodj/dlgautodj.cpp
index b42620c71e..476d4cfec0 100644
--- a/src/library/autodj/dlgautodj.cpp
+++ b/src/library/autodj/dlgautodj.cpp
@@ -91,7 +91,7 @@ DlgAutoDJ::DlgAutoDJ(WLibrary* parent,
setupActionButton(pushButtonFadeNow, &DlgAutoDJ::fadeNowButton, tr("Fade"));
setupActionButton(pushButtonSkipNext, &DlgAutoDJ::skipNextButton, tr("Skip"));
setupActionButton(pushButtonShuffle, &DlgAutoDJ::shufflePlaylistButton, tr("Shuffle"));
- setupActionButton(pushButtonAddRandom, &DlgAutoDJ::addRandomButton, tr("Random"));
+ setupActionButton(pushButtonAddRandomTrack, &DlgAutoDJ::addRandomTrackButton, tr("Random"));
m_enableBtnTooltip = tr(
"Enable Auto DJ\n"
@@ -113,7 +113,7 @@ DlgAutoDJ::DlgAutoDJ(WLibrary* parent,
"Shuffle the content of the Auto DJ queue\n"
"\n"
"Shortcut: Shift+F9");
- QString addRandomBtnTooltip = tr(
+ QString addRandomTrackBtnTooltip = tr(
"Adds a random track from track sources (crates) to the Auto DJ queue.\n"
"If no track sources are configured, the track is added from the library instead.");
QString repeatBtnTooltip = tr(
@@ -150,7 +150,7 @@ DlgAutoDJ::DlgAutoDJ(WLibrary* parent,
pushButtonFadeNow->setToolTip(fadeBtnTooltip);
pushButtonSkipNext->setToolTip(skipBtnTooltip);
pushButtonShuffle->setToolTip(shuffleBtnTooltip);
- pushButtonAddRandom->setToolTip(addRandomBtnTooltip);
+ pushButtonAddRandomTrack->setToolTip(addRandomTrackBtnTooltip);
pushButtonRepeatPlaylist->setToolTip(repeatBtnTooltip);
spinBoxTransition->setToolTip(spinBoxTransitionTooltip);
labelTransitionAppendix->setToolTip(labelTransitionTooltip);
@@ -320,7 +320,6 @@ void DlgAutoDJ::autoDJStateChanged(AutoDJProcessor::AutoDJState state) {
pushButtonFadeNow->setEnabled(true);
}
- // You can always skip the next track if we are enabled.
pushButtonSkipNext->setEnabled(true);
}
}
diff --git a/src/library/autodj/dlgautodj.h b/src/library/autodj/dlgautodj.h
index b5e8761877..72ffb91ca1 100644
--- a/src/library/autodj/dlgautodj.h
+++ b/src/library/autodj/dlgautodj.h
@@ -47,7 +47,7 @@ class DlgAutoDJ : public QWidget, public Ui::DlgAutoDJ, public LibraryView {
void slotRepeatPlaylistChanged(int checkedState);
signals:
- void addRandomButton(bool buttonChecked);
+ void addRandomTrackButton(bool buttonChecked);
void loadTrack(TrackPointer tio);
void loadTrackToPlayer(TrackPointer tio, QString group, bool);
void trackSelected(TrackPointer pTrack);
diff --git a/src/library/autodj/dlgautodj.ui b/src/library/autodj/dlgautodj.ui
index ab549bd9e4..91ad621547 100644
--- a/src/library/autodj/dlgautodj.ui
+++ b/src/library/autodj/dlgautodj.ui
@@ -176,7 +176,7 @@
</widget>
</item>
<item>
- <widget class="QPushButton" name="pushButtonAddRandom">
+ <widget class="QPushButton" name="pushButtonAddRandomTrack">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>