summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBe <be@mixxx.org>2019-11-20 20:57:15 -0600
committerGitHub <noreply@github.com>2019-11-20 20:57:15 -0600
commit35da91b786eb7979d4cacf1c7e650978c33ea499 (patch)
tree8141114976665c20f477577c462d70dc8f4d5f93 /src
parent7b1f4d106b14b5be9bee1a2e3d192c07a5ec5055 (diff)
parent7c699b7b69cfb661d51018ebdfeb7720e52bd506 (diff)
Merge pull request #2353 from daschuer/lp1850644
Lp1850644: Restore slider nature of WOverview
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, 712 insertions, 821 deletions
diff --git a/src/controllers/bulk/bulkcontroller.cpp b/src/controllers/bulk/bulkcontroller.cpp
index d178d08487..01853742be 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(libusb_context* context,
- libusb_device_handle *handle,
- struct libusb_device_descriptor *desc)
- : m_context(context),
+BulkController::BulkController(UserSettingsPointer pConfig,
+ libusb_context* context,
+ libusb_device_handle* handle,
+ struct libusb_device_descriptor* desc)
+ : Controller(pConfig),
+ 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 480aa084a6..9d67c1041e 100644
--- a/src/controllers/bulk/bulkcontroller.h
+++ b/src/controllers/bulk/bulkcontroller.h
@@ -42,8 +42,10 @@ class BulkReader : public QThread {
class BulkController : public Controller {
Q_OBJECT
public:
- BulkController(libusb_context* context, libusb_device_handle *handle,
- struct libusb_device_descriptor *desc);
+ BulkController(UserSettingsPointer pConfig,
+ 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 2942c5b3ac..27b5eea15d 100644
--- a/src/controllers/bulk/bulkenumerator.cpp
+++ b/src/controllers/bulk/bulkenumerator.cpp
@@ -11,9 +11,8 @@
#include "controllers/bulk/bulkenumerator.h"
#include "controllers/bulk/bulksupported.h"
-BulkEnumerator::BulkEnumerator()
- : ControllerEnumerator(),
- m_context(NULL) {
+BulkEnumerator::BulkEnumerator(UserSettingsPointer pConfig)
+ : ControllerEnumerator(), m_context(NULL), m_pConfig(pConfig) {
libusb_init(&m_context);
}
@@ -55,7 +54,8 @@ QList<Controller*> BulkEnumerator::queryDevices() {
continue;
}
- BulkController* currentDevice = new BulkController(m_context, handle, &desc);
+ BulkController* currentDevice =
+ new BulkController(m_pConfig, m_context, handle, &desc);
m_devices.push_back(currentDevice);
}
}
diff --git a/src/controllers/bulk/bulkenumerator.h b/src/controllers/bulk/bulkenumerator.h
index 5e16dd67d1..2018a4a118 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();
+ BulkEnumerator(UserSettingsPointer pConfig);
virtual ~BulkEnumerator();
QList<Controller*> queryDevices();
@@ -22,6 +22,7 @@ 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 4147cdcc12..f7ef331f70 100644
--- a/src/controllers/colorjsproxy.cpp
+++ b/src/controllers/colorjsproxy.cpp
@@ -1,36 +1,40 @@
#include "controllers/colorjsproxy.h"
+#include "preferences/hotcuecolorpalettesettings.h"
-ColorJSProxy::ColorJSProxy(QScriptEngine* pScriptEngine)
- : m_pScriptEngine(pScriptEngine),
- m_predefinedColorsList(makePredefinedColorsList(pScriptEngine)){};
-
-ColorJSProxy::~ColorJSProxy() {};
+ColorJSProxy::ColorJSProxy(QScriptEngine* pScriptEngine,
+ HotcueColorPaletteSettings colorPaletteSettings)
+ : m_pScriptEngine(pScriptEngine),
+ m_JsHotcueColorPalette(
+ makeHotcueColorPalette(pScriptEngine, colorPaletteSettings)),
+ m_colorPaletteSettings(colorPaletteSettings) {
+}
-QScriptValue ColorJSProxy::predefinedColorFromId(int iId) {
- PredefinedColorPointer color(Color::kPredefinedColorsSet.predefinedColorFromId(iId));
- return jsColorFrom(color);
-};
+ColorJSProxy::~ColorJSProxy() = default;
-Q_INVOKABLE QScriptValue ColorJSProxy::predefinedColorsList() {
- return m_predefinedColorsList;
+Q_INVOKABLE QScriptValue ColorJSProxy::hotcueColorPalette() {
+ return m_JsHotcueColorPalette;
}
-QScriptValue ColorJSProxy::jsColorFrom(PredefinedColorPointer predefinedColor) {
+QScriptValue ColorJSProxy::colorFromHexCode(uint colorCode) {
+ QColor color = QColor::fromRgba(colorCode);
QScriptValue jsColor = m_pScriptEngine->newObject();
- 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);
+ jsColor.setProperty("red", color.red());
+ jsColor.setProperty("green", color.green());
+ jsColor.setProperty("blue", color.blue());
+ jsColor.setProperty("alpha", color.alpha());
return jsColor;
}
-QScriptValue ColorJSProxy::makePredefinedColorsList(QScriptEngine* pScriptEngine) {
- int numColors = Color::kPredefinedColorsSet.allColors.length();
- QScriptValue colorList = pScriptEngine->newArray(numColors);
+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);
for (int i = 0; i < numColors; ++i) {
- PredefinedColorPointer color = Color::kPredefinedColorsSet.allColors.at(i);
- colorList.setProperty(i, jsColorFrom(color));
+ QColor color = colorList.at(i);
+ jsColorList.setProperty(i, colorFromHexCode(color.rgba()));
}
- return colorList;
+ return jsColorList;
}
diff --git a/src/controllers/colorjsproxy.h b/src/controllers/colorjsproxy.h
index e6ebeda1d9..dda4d69379 100644
--- a/src/controllers/colorjsproxy.h
+++ b/src/controllers/colorjsproxy.h
@@ -5,23 +5,29 @@
#include <QScriptEngine>
#include <QScriptValue>
+#include "preferences/hotcuecolorpalettesettings.h"
#include "util/color/color.h"
-class ColorJSProxy: public QObject {
+class ColorJSProxy final : public QObject {
Q_OBJECT
public:
- ColorJSProxy(QScriptEngine* pScriptEngine);
+ ColorJSProxy(QScriptEngine* pScriptEngine,
+ HotcueColorPaletteSettings colorPaletteSettings);
- virtual ~ColorJSProxy();
+ ~ColorJSProxy() override;
- Q_INVOKABLE QScriptValue predefinedColorFromId(int iId);
- Q_INVOKABLE QScriptValue predefinedColorsList();
+ 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);
private:
- QScriptValue jsColorFrom(PredefinedColorPointer predefinedColor);
- QScriptValue makePredefinedColorsList(QScriptEngine* pScriptEngine);
+ QScriptValue makeHotcueColorPalette(QScriptEngine* pScriptEngine,
+ HotcueColorPaletteSettings colorPaletteSettings);
QScriptEngine* m_pScriptEngine;
- QScriptValue m_predefinedColorsList;
+ QScriptValue m_JsHotcueColorPalette;
+ HotcueColorPaletteSettings m_colorPaletteSettings;
};
#endif /* COLORJSPROXY_H */
diff --git a/src/controllers/controller.cpp b/src/controllers/controller.cpp
index e30ff7a5f6..15a1e1dd5e 100644
--- a/src/controllers/controller.cpp
+++ b/src/controllers/controller.cpp
@@ -13,14 +13,15 @@
#include "controllers/defs_controllers.h"
#include "util/screensaver.h"
-Controller::Controller()
+Controller::Controller(UserSettingsPointer pConfig)
: QObject(),
m_pEngine(NULL),
m_bIsOutputDevice(false),
m_bIsInputDevice(false),
m_bIsOpen(false),
- m_bLearning(false) {
- m_userActivityInhibitTimer.start();
+ m_bLearning(false),
+ m_pConfig(pConfig) {
+ m_userActivityInhibitTimer.start();
}
Controller::~Controller() {
@@ -35,7 +36,7 @@ void Controller::startEngine()
qWarning() << "Controller: Engine already exists! Restarting:";
stopEngine();
}
- m_pEngine = new ControllerEngine(this);
+ m_pEngine = new ControllerEngine(this, m_pConfig);
}
void Controller::stopEngine() {
diff --git a/src/controllers/controller.h b/src/controllers/controller.h
index 9cc6be386c..44a5218e2a 100644
--- a/src/controllers/controller.h
+++ b/src/controllers/controller.h
@@ -23,7 +23,7 @@
class Controller : public QObject, ConstControllerPresetVisitor {
Q_OBJECT
public:
- Controller();
+ Controller(UserSettingsPointer pConfig);
~Controller() override; // Subclass should call close() at minimum.
// Returns the extension for the controller (type) preset files. This is
@@ -162,6 +162,8 @@ 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 4e370b552d..fb618ef21b 100644
--- a/src/controllers/controllerengine.cpp
+++ b/src/controllers/controllerengine.cpp
@@ -29,9 +29,11 @@ const int kDecks = 16;
const int kScratchTimerMs = 1;
const double kAlphaBetaDt = kScratchTimerMs / 1000.0;
-ControllerEngine::ControllerEngine(Controller* controller)
+ControllerEngine::ControllerEngine(
+ Controller* controller, UserSettingsPointer pConfig)
: m_pEngine(nullptr),
m_pController(controller),
+ m_pConfig(pConfig),
m_bPopups(false),
m_pBaClass(nullptr) {
// Handle error dialog buttons
@@ -213,7 +215,8 @@ void ControllerEngine::initializeScriptEngine() {
engineGlobalObject.setProperty("midi", m_pEngine->newQObject(m_pController));
}
- m_pColorJSProxy = std::make_unique<ColorJSProxy>(m_pEngine);
+ m_pColorJSProxy = std::make_unique<ColorJSProxy>(
+ m_pEngine, HotcueColorPaletteSettings(m_pConfig));
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 2359a0bcbb..7eafb1763e 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);
+ ControllerEngine(Controller* controller, UserSettingsPointer pConfig);
virtual ~ControllerEngine();
bool isReady();
@@ -198,6 +198,7 @@ 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 54029398d4..397a9c7dc8 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_enumerators.append(new PortMidiEnumerator(m_pConfig));
#ifdef __HSS1394__
m_enumerators.append(new Hss1394Enumerator());
#endif
#ifdef __BULK__
- m_enumerators.append(new BulkEnumerator());
+ m_enumerators.append(new BulkEnumerator(m_pConfig));
#endif
#ifdef __HID__
- m_enumerators.append(new HidEnumerator());
+ m_enumerators.append(new HidEnumerator(m_pConfig));
#endif
}
diff --git a/src/controllers/hid/hidcontroller.cpp b/src/controllers/hid/hidcontroller.cpp
index 919dc30b7d..a3e33ebb2a 100644
--- a/src/controllers/hid/hidcontroller.cpp
+++ b/src/controllers/hid/hidcontroller.cpp
@@ -16,8 +16,9 @@
#include "controllers/controllerdebug.h"
#include "util/time.h"
-HidController::HidController(const hid_device_info deviceInfo)
- : m_pHidDevice(NULL) {
+HidController::HidController(
+ const hid_device_info deviceInfo, UserSettingsPointer pConfig)
+ : Controller(pConfig), 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 4f446c9ae9..26ed6792ae 100644
--- a/src/controllers/hid/hidcontroller.h
+++ b/src/controllers/hid/hidcontroller.h
@@ -20,7 +20,8 @@
class HidController final : public Controller {
Q_OBJECT
public:
- HidController(const hid_device_info deviceInfo);
+ HidController(
+ const hid_device_info deviceInfo, UserSettingsPointer pConfig);
~HidController() override;
QString presetExtension() override;
diff --git a/src/controllers/hid/hidenumerator.cpp b/src/controllers/hid/hidenumerator.cpp
index c1c2dc2783..802459f3c0 100644
--- a/src/controllers/hid/hidenumerator.cpp
+++ b/src/controllers/hid/hidenumerator.cpp
@@ -11,7 +11,8 @@
#include "controllers/hid/hidenumerator.h"
#include "controllers/hid/hidblacklist.h"
-HidEnumerator::HidEnumerator() : ControllerEnumerator() {
+HidEnumerator::HidEnumerator(UserSettingsPointer pConfig)
+ : ControllerEnumerator(), m_pConfig(pConfig) {
}
HidEnumerator::~HidEnumerator() {
@@ -98,7 +99,7 @@ QList<Controller*> HidEnumerator::queryDevices() {
continue;
}
- HidController* currentDevice = new HidController(*cur_dev);
+ HidController* currentDevice = new HidController(*cur_dev, m_pConfig);
m_devices.push_back(currentDevice);
}
hid_free_enumeration(devs);
diff --git a/src/controllers/hid/hidenumerator.h b/src/controllers/hid/hidenumerator.h
index 351e972beb..9b39b75c94 100644
--- a/src/controllers/hid/hidenumerator.h
+++ b/src/controllers/hid/hidenumerator.h
@@ -12,13 +12,14 @@
class HidEnumerator : public ControllerEnumerator {
public:
- HidEnumerator();
+ HidEnumerator(UserSettingsPointer pConfig);
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 0176aa653e..43dbaa65be 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()
- : Controller() {
+MidiController::MidiController(UserSettingsPointer pConfig)
+ : Controller(pConfig) {
setDeviceCategory(tr("MIDI Controller"));
}
diff --git a/src/controllers/midi/midicontroller.h b/src/controllers/midi/midicontroller.h
index 93d91fdf44..b8ebb8b94b 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();
+ MidiController(UserSettingsPointer pConfig);
~MidiController() override;
QString presetExtension() override;
diff --git a/src/controllers/midi/portmidicontroller.cpp b/src/controllers/midi/portmidicontroller.cpp
index c4479a1ae6..4be78583c7 100644
--- a/src/controllers/midi/portmidicontroller.cpp
+++ b/src/controllers/midi/portmidicontroller.cpp
@@ -12,12 +12,11 @@
#include "controllers/controllerdebug.h"
PortMidiController::PortMidiController(const PmDeviceInfo* inputDeviceInfo,
- const PmDeviceInfo* outputDeviceInfo,
- int inputDeviceIndex,
- int outputDeviceIndex)
- : MidiController(),
- m_cReceiveMsg_index(0),
- m_bInSysex(false) {
+ const PmDeviceInfo* outputDeviceInfo,
+ int inputDeviceIndex,
+ int outputDeviceIndex,
+ UserSettingsPointer pConfig)
+ : MidiController(pConfig), 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 96da9afce1..92d2954e18 100644
--- a/src/controllers/midi/portmidicontroller.h
+++ b/src/controllers/midi/portmidicontroller.h
@@ -60,9 +60,10 @@ class PortMidiController : public MidiController {
Q_OBJECT
public:
PortMidiController(const PmDeviceInfo* inputDeviceInfo,
- const PmDeviceInfo* outputDeviceInfo,
- int inputDeviceIndex,
- int outputDeviceIndex);
+ const PmDeviceInfo* outputDeviceInfo,
+ int inputDeviceIndex,
+ int outputDeviceIndex,
+ UserSettingsPointer pConfig);
~PortMidiController() override;
private slots:
diff --git a/src/controllers/midi/portmidienumerator.cpp b/src/controllers/midi/portmidienumerator.cpp
index 47e6a23a82..ba525ddeb7 100644
--- a/src/controllers/midi/portmidienumerator.cpp
+++ b/src/controllers/midi/portmidienumerator.cpp
@@ -21,7 +21,8 @@ bool shouldBlacklistDevice(const PmDeviceInfo* device) {
deviceName.startsWith("Midi Through Port", Qt::CaseInsensitive);
}
-PortMidiEnumerator::PortMidiEnumerator() : MidiEnumerator() {
+PortMidiEnumerator::PortMidiEnumerator(UserSettingsPointer pConfig)
+ : MidiEnumerator(), m_pConfig(pConfig) {
PmError err = Pm_Initialize();
// Based on reading the source, it's not possible for this to fail.
if (err != pmNoError) {
@@ -257,9 +258,12 @@ QList<Controller*> PortMidiEnumerator::queryDevices() {
// device (outputDeviceInfo != NULL).
//.... so create our (aggregate) MIDI device!
- PortMidiController *currentDevice = new PortMidiController(
- inputDeviceInfo, outputDeviceInfo,
- inputDevIndex, outputDevIndex);
+ PortMidiController* currentDevice =
+ new PortMidiController(inputDeviceInfo,
+ outputDeviceInfo,
+ inputDevIndex,
+ outputDevIndex,
+ m_pConfig);