summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2019-11-21 07:34:57 +0100
committerDaniel Schürmann <daschuer@mixxx.org>2019-11-21 07:34:57 +0100
commitf793e3544ca0b3d544269c33257d86ea956798c7 (patch)
tree706ea81461f5d04d6ad355340c65744021fad4cc /src
parent35da91b786eb7979d4cacf1c7e650978c33ea499 (diff)
Revert "Merge pull request #2353 from daschuer/lp1850644"
Diffstat (limited to 'src')
-rw-r--r--src/controllers/bulk/bulkcontroller.cpp14
-rw-r--r--src/controllers/bulk/bulkcontroller.h6
-rw-r--r--src/controllers/bulk/bulkenumerator.cpp8
-rw-r--r--src/controllers/bulk/bulkenumerator.h3
-rw-r--r--src/controllers/colorjsproxy.cpp50
-rw-r--r--src/controllers/colorjsproxy.h22
-rw-r--r--src/controllers/controller.cpp9
-rw-r--r--src/controllers/controller.h4
-rw-r--r--src/controllers/controllerengine.cpp7
-rw-r--r--src/controllers/controllerengine.h3
-rw-r--r--src/controllers/controllermanager.cpp6
-rw-r--r--src/controllers/hid/hidcontroller.cpp5
-rw-r--r--src/controllers/hid/hidcontroller.h3
-rw-r--r--src/controllers/hid/hidenumerator.cpp5
-rw-r--r--src/controllers/hid/hidenumerator.h3
-rw-r--r--src/controllers/midi/midicontroller.cpp4
-rw-r--r--src/controllers/midi/midicontroller.h2
-rw-r--r--src/controllers/midi/portmidicontroller.cpp11
-rw-r--r--src/controllers/midi/portmidicontroller.h7
-rw-r--r--src/controllers/midi/portmidienumerator.cpp12
-rw-r--r--src/controllers/midi/portmidienumerator.h3
-rw-r--r--src/database/mixxxdb.cpp2
-rw-r--r--src/engine/controls/cuecontrol.cpp73
-rw-r--r--src/engine/controls/cuecontrol.h12
-rw-r--r--src/library/dao/cuedao.cpp19
-rw-r--r--src/library/dlgtrackinfo.cpp240
-rw-r--r--src/library/dlgtrackinfo.h8
-rw-r--r--src/library/dlgtrackinfo.ui102
-rw-r--r--src/preferences/configobject.cpp37
-rw-r--r--src/preferences/configobject.h2
-rw-r--r--src/preferences/hotcuecolorpalettesettings.cpp36
-rw-r--r--src/preferences/hotcuecolorpalettesettings.h26
-rw-r--r--src/skin/skincontext.h15
-rw-r--r--src/test/colorconfig_test.cpp79
-rw-r--r--src/test/controller_preset_validation_test.cpp9
-rw-r--r--src/test/controllerengine_test.cpp45
-rw-r--r--src/test/midicontrollertest.cpp5
-rw-r--r--src/test/portmidicontroller_test.cpp19
-rw-r--r--src/track/cue.cpp16
-rw-r--r--src/track/cue.h17
-rw-r--r--src/util/color/color.cpp2
-rw-r--r--src/util/color/color.h4
-rw-r--r--src/util/color/colorpalette.cpp18
-rw-r--r--src/util/color/colorpalette.h21
-rw-r--r--src/util/color/predefinedcolor.cpp10
-rw-r--r--src/util/color/predefinedcolor.h35
-rw-r--r--src/util/color/predefinedcolorsrepresentation.h41
-rw-r--r--src/util/color/predefinedcolorsset.h120
-rw-r--r--src/waveform/renderers/waveformrendermark.cpp7
-rw-r--r--src/waveform/renderers/waveformrendermark.h2
-rw-r--r--src/widget/colormenu.cpp81
-rw-r--r--src/widget/colormenu.h20
-rw-r--r--src/widget/cuemenu.cpp10
-rw-r--r--src/widget/cuemenu.h7
-rw-r--r--src/widget/woverview.cpp138
-rw-r--r--src/widget/woverview.h19
-rw-r--r--src/widget/wtracktableview.cpp2
-rw-r--r--src/widget/wwidget.cpp28
-rw-r--r--src/widget/wwidget.h19
59 files changed, 821 insertions, 712 deletions
diff --git a/src/controllers/bulk/bulkcontroller.cpp b/src/controllers/bulk/bulkcontroller.cpp
index 01853742be..d178d08487 100644
--- a/src/controllers/bulk/bulkcontroller.cpp
+++ b/src/controllers/bulk/bulkcontroller.cpp
@@ -68,15 +68,15 @@ static QString get_string(libusb_device_handle *handle, u_int8_t id) {
return QString::fromLatin1((char*)buf);
}
-BulkController::BulkController(UserSettingsPointer pConfig,
- libusb_context* context,
- libusb_device_handle* handle,
- struct libusb_device_descriptor* desc)
- : Controller(pConfig),
- m_context(context),
+
+BulkController::BulkController(libusb_context* context,
+ libusb_device_handle *handle,
+ struct libusb_device_descriptor *desc)
+ : m_context(context),
m_phandle(handle),
in_epaddr(0),
- out_epaddr(0) {
+ out_epaddr(0)
+{
vendor_id = desc->idVendor;
product_id = desc->idProduct;
diff --git a/src/controllers/bulk/bulkcontroller.h b/src/controllers/bulk/bulkcontroller.h
index 9d67c1041e..480aa084a6 100644
--- a/src/controllers/bulk/bulkcontroller.h
+++ b/src/controllers/bulk/bulkcontroller.h
@@ -42,10 +42,8 @@ class BulkReader : public QThread {
class BulkController : public Controller {
Q_OBJECT
public:
- BulkController(UserSettingsPointer pConfig,
- libusb_context* context,
- libusb_device_handle* handle,
- struct libusb_device_descriptor* desc);
+ BulkController(libusb_context* context, libusb_device_handle *handle,
+ struct libusb_device_descriptor *desc);
~BulkController() override;
QString presetExtension() override;
diff --git a/src/controllers/bulk/bulkenumerator.cpp b/src/controllers/bulk/bulkenumerator.cpp
index 27b5eea15d..2942c5b3ac 100644
--- a/src/controllers/bulk/bulkenumerator.cpp
+++ b/src/controllers/bulk/bulkenumerator.cpp
@@ -11,8 +11,9 @@
#include "controllers/bulk/bulkenumerator.h"
#include "controllers/bulk/bulksupported.h"
-BulkEnumerator::BulkEnumerator(UserSettingsPointer pConfig)
- : ControllerEnumerator(), m_context(NULL), m_pConfig(pConfig) {
+BulkEnumerator::BulkEnumerator()
+ : ControllerEnumerator(),
+ m_context(NULL) {
libusb_init(&m_context);
}
@@ -54,8 +55,7 @@ QList<Controller*> BulkEnumerator::queryDevices() {
continue;
}
- BulkController* currentDevice =
- new BulkController(m_pConfig, m_context, handle, &desc);
+ BulkController* currentDevice = new BulkController(m_context, handle, &desc);
m_devices.push_back(currentDevice);
}
}
diff --git a/src/controllers/bulk/bulkenumerator.h b/src/controllers/bulk/bulkenumerator.h
index 2018a4a118..5e16dd67d1 100644
--- a/src/controllers/bulk/bulkenumerator.h
+++ b/src/controllers/bulk/bulkenumerator.h
@@ -14,7 +14,7 @@ struct libusb_context;
class BulkEnumerator : public ControllerEnumerator {
public:
- BulkEnumerator(UserSettingsPointer pConfig);
+ BulkEnumerator();
virtual ~BulkEnumerator();
QList<Controller*> queryDevices();
@@ -22,7 +22,6 @@ class BulkEnumerator : public ControllerEnumerator {
private:
QList<Controller*> m_devices;
libusb_context* m_context;
- UserSettingsPointer m_pConfig;
};
#endif
diff --git a/src/controllers/colorjsproxy.cpp b/src/controllers/colorjsproxy.cpp
index f7ef331f70..4147cdcc12 100644
--- a/src/controllers/colorjsproxy.cpp
+++ b/src/controllers/colorjsproxy.cpp
@@ -1,40 +1,36 @@
#include "controllers/colorjsproxy.h"
-#include "preferences/hotcuecolorpalettesettings.h"
-ColorJSProxy::ColorJSProxy(QScriptEngine* pScriptEngine,
- HotcueColorPaletteSettings colorPaletteSettings)
- : m_pScriptEngine(pScriptEngine),
- m_JsHotcueColorPalette(
- makeHotcueColorPalette(pScriptEngine, colorPaletteSettings)),
- m_colorPaletteSettings(colorPaletteSettings) {
-}
+ColorJSProxy::ColorJSProxy(QScriptEngine* pScriptEngine)
+ : m_pScriptEngine(pScriptEngine),
+ m_predefinedColorsList(makePredefinedColorsList(pScriptEngine)){};
+
+ColorJSProxy::~ColorJSProxy() {};
-ColorJSProxy::~ColorJSProxy() = default;
+QScriptValue ColorJSProxy::predefinedColorFromId(int iId) {
+ PredefinedColorPointer color(Color::kPredefinedColorsSet.predefinedColorFromId(iId));
+ return jsColorFrom(color);
+};
-Q_INVOKABLE QScriptValue ColorJSProxy::hotcueColorPalette() {
- return m_JsHotcueColorPalette;
+Q_INVOKABLE QScriptValue ColorJSProxy::predefinedColorsList() {
+ return m_predefinedColorsList;
}
-QScriptValue ColorJSProxy::colorFromHexCode(uint colorCode) {
- QColor color = QColor::fromRgba(colorCode);
+QScriptValue ColorJSProxy::jsColorFrom(PredefinedColorPointer predefinedColor) {
QScriptValue jsColor = m_pScriptEngine->newObject();
- jsColor.setProperty("red", color.red());
- jsColor.setProperty("green", color.green());
- jsColor.setProperty("blue", color.blue());
- jsColor.setProperty("alpha", color.alpha());
+ jsColor.setProperty("red", predefinedColor->m_defaultRgba.red());
+ jsColor.setProperty("green", predefinedColor->m_defaultRgba.green());
+ jsColor.setProperty("blue", predefinedColor->m_defaultRgba.blue());
+ jsColor.setProperty("alpha", predefinedColor->m_defaultRgba.alpha());
+ jsColor.setProperty("id", predefinedColor->m_iId);
return jsColor;
}
-QScriptValue ColorJSProxy::makeHotcueColorPalette(QScriptEngine* pScriptEngine,
- HotcueColorPaletteSettings colorPaletteSettings) {
- // TODO: make sure we get notified when the palette changes
- QList<QColor> colorList =
- colorPaletteSettings.getHotcueColorPalette().m_colorList;
- int numColors = colorList.length();
- QScriptValue jsColorList = pScriptEngine->newArray(numColors);
+QScriptValue ColorJSProxy::makePredefinedColorsList(QScriptEngine* pScriptEngine) {
+ int numColors = Color::kPredefinedColorsSet.allColors.length();
+ QScriptValue colorList = pScriptEngine->newArray(numColors);
for (int i = 0; i < numColors; ++i) {
- QColor color = colorList.at(i);
- jsColorList.setProperty(i, colorFromHexCode(color.rgba()));
+ PredefinedColorPointer color = Color::kPredefinedColorsSet.allColors.at(i);
+ colorList.setProperty(i, jsColorFrom(color));
}
- return jsColorList;
+ return colorList;
}
diff --git a/src/controllers/colorjsproxy.h b/src/controllers/colorjsproxy.h
index dda4d69379..e6ebeda1d9 100644
--- a/src/controllers/colorjsproxy.h
+++ b/src/controllers/colorjsproxy.h
@@ -5,29 +5,23 @@
#include <QScriptEngine>
#include <QScriptValue>
-#include "preferences/hotcuecolorpalettesettings.h"
#include "util/color/color.h"
-class ColorJSProxy final : public QObject {
+class ColorJSProxy: public QObject {
Q_OBJECT
public:
- ColorJSProxy(QScriptEngine* pScriptEngine,
- HotcueColorPaletteSettings colorPaletteSettings);
+ ColorJSProxy(QScriptEngine* pScriptEngine);
- ~ColorJSProxy() override;
+ virtual ~ColorJSProxy();
- Q_INVOKABLE QScriptValue hotcueColorPalette();
- // Return a JS object with the red, green, blue and alpha components
- // of a color. The parameter is the hexadecimal representation of the color
- // i.e. 0xAARRGGBB
- Q_INVOKABLE QScriptValue colorFromHexCode(uint colorCode);
+ Q_INVOKABLE QScriptValue predefinedColorFromId(int iId);
+ Q_INVOKABLE QScriptValue predefinedColorsList();
private:
- QScriptValue makeHotcueColorPalette(QScriptEngine* pScriptEngine,
- HotcueColorPaletteSettings colorPaletteSettings);
+ QScriptValue jsColorFrom(PredefinedColorPointer predefinedColor);
+ QScriptValue makePredefinedColorsList(QScriptEngine* pScriptEngine);
QScriptEngine* m_pScriptEngine;
- QScriptValue m_JsHotcueColorPalette;
- HotcueColorPaletteSettings m_colorPaletteSettings;
+ QScriptValue m_predefinedColorsList;
};
#endif /* COLORJSPROXY_H */
diff --git a/src/controllers/controller.cpp b/src/controllers/controller.cpp
index 15a1e1dd5e..e30ff7a5f6 100644
--- a/src/controllers/controller.cpp
+++ b/src/controllers/controller.cpp
@@ -13,15 +13,14 @@
#include "controllers/defs_controllers.h"
#include "util/screensaver.h"
-Controller::Controller(UserSettingsPointer pConfig)
+Controller::Controller()
: QObject(),
m_pEngine(NULL),
m_bIsOutputDevice(false),
m_bIsInputDevice(false),
m_bIsOpen(false),
- m_bLearning(false),
- m_pConfig(pConfig) {
- m_userActivityInhibitTimer.start();
+ m_bLearning(false) {
+ m_userActivityInhibitTimer.start();
}
Controller::~Controller() {
@@ -36,7 +35,7 @@ void Controller::startEngine()
qWarning() << "Controller: Engine already exists! Restarting:";
stopEngine();
}
- m_pEngine = new ControllerEngine(this, m_pConfig);
+ m_pEngine = new ControllerEngine(this);
}
void Controller::stopEngine() {
diff --git a/src/controllers/controller.h b/src/controllers/controller.h
index 44a5218e2a..9cc6be386c 100644
--- a/src/controllers/controller.h
+++ b/src/controllers/controller.h
@@ -23,7 +23,7 @@
class Controller : public QObject, ConstControllerPresetVisitor {
Q_OBJECT
public:
- Controller(UserSettingsPointer pConfig);
+ Controller();
~Controller() override; // Subclass should call close() at minimum.
// Returns the extension for the controller (type) preset files. This is
@@ -162,8 +162,6 @@ class Controller : public QObject, ConstControllerPresetVisitor {
bool m_bLearning;
QTime m_userActivityInhibitTimer;
- UserSettingsPointer m_pConfig;
-
// accesses lots of our stuff, but in the same thread
friend class ControllerManager;
// For testing
diff --git a/src/controllers/controllerengine.cpp b/src/controllers/controllerengine.cpp
index fb618ef21b..4e370b552d 100644
--- a/src/controllers/controllerengine.cpp
+++ b/src/controllers/controllerengine.cpp
@@ -29,11 +29,9 @@ const int kDecks = 16;
const int kScratchTimerMs = 1;
const double kAlphaBetaDt = kScratchTimerMs / 1000.0;
-ControllerEngine::ControllerEngine(
- Controller* controller, UserSettingsPointer pConfig)
+ControllerEngine::ControllerEngine(Controller* controller)
: m_pEngine(nullptr),
m_pController(controller),
- m_pConfig(pConfig),
m_bPopups(false),
m_pBaClass(nullptr) {
// Handle error dialog buttons
@@ -215,8 +213,7 @@ void ControllerEngine::initializeScriptEngine() {
engineGlobalObject.setProperty("midi", m_pEngine->newQObject(m_pController));
}
- m_pColorJSProxy = std::make_unique<ColorJSProxy>(
- m_pEngine, HotcueColorPaletteSettings(m_pConfig));
+ m_pColorJSProxy = std::make_unique<ColorJSProxy>(m_pEngine);
engineGlobalObject.setProperty("color", m_pEngine->newQObject(m_pColorJSProxy.get()));
m_pBaClass = new ByteArrayClass(m_pEngine);
diff --git a/src/controllers/controllerengine.h b/src/controllers/controllerengine.h
index 7eafb1763e..2359a0bcbb 100644
--- a/src/controllers/controllerengine.h
+++ b/src/controllers/controllerengine.h
@@ -80,7 +80,7 @@ class ScriptConnectionInvokableWrapper : public QObject {
class ControllerEngine : public QObject {
Q_OBJECT
public:
- ControllerEngine(Controller* controller, UserSettingsPointer pConfig);
+ ControllerEngine(Controller* controller);
virtual ~ControllerEngine();
bool isReady();
@@ -198,7 +198,6 @@ class ControllerEngine : public QObject {
double getDeckRate(const QString& group);
Controller* m_pController;
- UserSettingsPointer m_pConfig;
bool m_bPopups;
QList<QString> m_scriptFunctionPrefixes;
QMap<QString, QStringList> m_scriptErrors;
diff --git a/src/controllers/controllermanager.cpp b/src/controllers/controllermanager.cpp
index 397a9c7dc8..54029398d4 100644
--- a/src/controllers/controllermanager.cpp
+++ b/src/controllers/controllermanager.cpp
@@ -127,15 +127,15 @@ void ControllerManager::slotInitialize() {
// Instantiate all enumerators. Enumerators can take a long time to
// construct since they interact with host MIDI APIs.
- m_enumerators.append(new PortMidiEnumerator(m_pConfig));
+ m_enumerators.append(new PortMidiEnumerator());
#ifdef __HSS1394__
m_enumerators.append(new Hss1394Enumerator());
#endif
#ifdef __BULK__
- m_enumerators.append(new BulkEnumerator(m_pConfig));
+ m_enumerators.append(new BulkEnumerator());
#endif
#ifdef __HID__
- m_enumerators.append(new HidEnumerator(m_pConfig));
+ m_enumerators.append(new HidEnumerator());
#endif
}
diff --git a/src/controllers/hid/hidcontroller.cpp b/src/controllers/hid/hidcontroller.cpp
index a3e33ebb2a..919dc30b7d 100644
--- a/src/controllers/hid/hidcontroller.cpp
+++ b/src/controllers/hid/hidcontroller.cpp
@@ -16,9 +16,8 @@
#include "controllers/controllerdebug.h"
#include "util/time.h"
-HidController::HidController(
- const hid_device_info deviceInfo, UserSettingsPointer pConfig)
- : Controller(pConfig), m_pHidDevice(NULL) {
+HidController::HidController(const hid_device_info deviceInfo)
+ : m_pHidDevice(NULL) {
// Copy required variables from deviceInfo, which will be freed after
// this class is initialized by caller.
hid_vendor_id = deviceInfo.vendor_id;
diff --git a/src/controllers/hid/hidcontroller.h b/src/controllers/hid/hidcontroller.h
index 26ed6792ae..4f446c9ae9 100644
--- a/src/controllers/hid/hidcontroller.h
+++ b/src/controllers/hid/hidcontroller.h
@@ -20,8 +20,7 @@
class HidController final : public Controller {
Q_OBJECT
public:
- HidController(
- const hid_device_info deviceInfo, UserSettingsPointer pConfig);
+ HidController(const hid_device_info deviceInfo);
~HidController() override;
QString presetExtension() override;
diff --git a/src/controllers/hid/hidenumerator.cpp b/src/controllers/hid/hidenumerator.cpp
index 802459f3c0..c1c2dc2783 100644
--- a/src/controllers/hid/hidenumerator.cpp
+++ b/src/controllers/hid/hidenumerator.cpp
@@ -11,8 +11,7 @@
#include "controllers/hid/hidenumerator.h"
#include "controllers/hid/hidblacklist.h"
-HidEnumerator::HidEnumerator(UserSettingsPointer pConfig)
- : ControllerEnumerator(), m_pConfig(pConfig) {
+HidEnumerator::HidEnumerator() : ControllerEnumerator() {
}
HidEnumerator::~HidEnumerator() {
@@ -99,7 +98,7 @@ QList<Controller*> HidEnumerator::queryDevices() {
continue;
}
- HidController* currentDevice = new HidController(*cur_dev, m_pConfig);
+ HidController* currentDevice = new HidController(*cur_dev);
m_devices.push_back(currentDevice);
}
hid_free_enumeration(devs);
diff --git a/src/controllers/hid/hidenumerator.h b/src/controllers/hid/hidenumerator.h
index 9b39b75c94..351e972beb 100644
--- a/src/controllers/hid/hidenumerator.h
+++ b/src/controllers/hid/hidenumerator.h
@@ -12,14 +12,13 @@
class HidEnumerator : public ControllerEnumerator {
public:
- HidEnumerator(UserSettingsPointer pConfig);
+ HidEnumerator();
virtual ~HidEnumerator();
QList<Controller*> queryDevices();
private:
QList<Controller*> m_devices;
- UserSettingsPointer m_pConfig;
};
#endif
diff --git a/src/controllers/midi/midicontroller.cpp b/src/controllers/midi/midicontroller.cpp
index 43dbaa65be..0176aa653e 100644
--- a/src/controllers/midi/midicontroller.cpp
+++ b/src/controllers/midi/midicontroller.cpp
@@ -17,8 +17,8 @@
#include "util/math.h"
#include "util/screensaver.h"
-MidiController::MidiController(UserSettingsPointer pConfig)
- : Controller(pConfig) {
+MidiController::MidiController()
+ : Controller() {
setDeviceCategory(tr("MIDI Controller"));
}
diff --git a/src/controllers/midi/midicontroller.h b/src/controllers/midi/midicontroller.h
index b8ebb8b94b..93d91fdf44 100644
--- a/src/controllers/midi/midicontroller.h
+++ b/src/controllers/midi/midicontroller.h
@@ -23,7 +23,7 @@
class MidiController : public Controller {
Q_OBJECT
public:
- MidiController(UserSettingsPointer pConfig);
+ MidiController();
~MidiController() override;
QString presetExtension() override;
diff --git a/src/controllers/midi/portmidicontroller.cpp b/src/controllers/midi/portmidicontroller.cpp
index 4be78583c7..c4479a1ae6 100644
--- a/src/controllers/midi/portmidicontroller.cpp
+++ b/src/controllers/midi/portmidicontroller.cpp
@@ -12,11 +12,12 @@
#include "controllers/controllerdebug.h"
PortMidiController::PortMidiController(const PmDeviceInfo* inputDeviceInfo,
- const PmDeviceInfo* outputDeviceInfo,
- int inputDeviceIndex,
- int outputDeviceIndex,
- UserSettingsPointer pConfig)
- : MidiController(pConfig), m_cReceiveMsg_index(0), m_bInSysex(false) {
+ const PmDeviceInfo* outputDeviceInfo,
+ int inputDeviceIndex,
+ int outputDeviceIndex)
+ : MidiController(),
+ m_cReceiveMsg_index(0),
+ m_bInSysex(false) {
for (unsigned int k = 0; k < MIXXX_PORTMIDI_BUFFER_LEN; ++k) {
// Can be shortened to `m_midiBuffer[k] = {}` with C++11.
m_midiBuffer[k].message = 0;
diff --git a/src/controllers/midi/portmidicontroller.h b/src/controllers/midi/portmidicontroller.h
index 92d2954e18..96da9afce1 100644
--- a/src/controllers/midi/portmidicontroller.h
+++ b/src/controllers/midi/portmidicontroller.h
@@ -60,10 +60,9 @@ class PortMidiController : public MidiController {
Q_OBJECT
public:
PortMidiController(const PmDeviceInfo* inputDeviceInfo,
- const PmDeviceInfo* outputDeviceInfo,
- int inputDeviceIndex,
- int outputDeviceIndex,
- UserSettingsPointer pConfig);
+ const PmDeviceInfo* outputDeviceInfo,
+ int inputDeviceIndex,
+ int outputDeviceIndex);
~PortMidiController() override;
private slots:
diff --git a/src/controllers/midi/portmidienumerator.cpp b/src/controllers/midi/portmidienumerator.cpp
index ba525ddeb7..47e6a23a82 100644
--- a/src/control