diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2019-11-21 07:34:57 +0100 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2019-11-21 07:34:57 +0100 |
commit | f793e3544ca0b3d544269c33257d86ea956798c7 (patch) | |
tree | 706ea81461f5d04d6ad355340c65744021fad4cc /src | |
parent | 35da91b786eb7979d4cacf1c7e650978c33ea499 (diff) |
Revert "Merge pull request #2353 from daschuer/lp1850644"
This reverts commit 35da91b786eb7979d4cacf1c7e650978c33ea499, reversing
changes made to 7b1f4d106b14b5be9bee1a2e3d192c07a5ec5055.
Diffstat (limited to 'src')
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 |