Renamed the QTableWidget / added slots and signals
parent
2cd987fd2d
commit
93b0d837a4
|
|
@ -1,40 +1,73 @@
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
#include <vector>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
mainWindow::mainWindow(QWidget *parent) :
|
mainWindow::mainWindow(QWidget *parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
_presets(new QTableWidget),
|
_presetsTable(new QTableWidget),
|
||||||
_presetSettings(new QTableWidget)
|
_presetSettingsTable(new QTableWidget)
|
||||||
{
|
{
|
||||||
QWidget *mainWidget = new QWidget(this);
|
QWidget *mainWidget = new QWidget(this);
|
||||||
QHBoxLayout *mainLayout = new QHBoxLayout(mainWidget);
|
QHBoxLayout *mainLayout = new QHBoxLayout(mainWidget);
|
||||||
|
|
||||||
_presets->setRowCount(128);
|
_presetsTable->setRowCount(128);
|
||||||
_presets->setColumnCount(1);
|
_presetsTable->setColumnCount(1);
|
||||||
|
|
||||||
for(int i=0; i<_presets->rowCount(); i++){
|
for(int i=0; i<_presetsTable->rowCount(); i++){
|
||||||
QString defaultCelString = QString("Preset #%1").arg(i+1);
|
QString defaultCelString = QString("Preset #%1").arg(i+1);
|
||||||
QTableWidgetItem *celContent = new QTableWidgetItem(defaultCelString);
|
QTableWidgetItem *celContent = new QTableWidgetItem(defaultCelString);
|
||||||
_presets->setItem(i, 0, celContent);
|
_presetsTable->setItem(i, 0, celContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
_presets->horizontalHeader()->setVisible(false);
|
_presetsTable->horizontalHeader()->setVisible(false);
|
||||||
|
|
||||||
QStringList settingsList;
|
QStringList settingsList;
|
||||||
settingsList << "Channel" << "Description"<< "Type" << "Parameter";
|
settingsList << "Channel" << "Description"<< "Type" << "Parameter";
|
||||||
_presetSettings->setRowCount(16);
|
_presetSettingsTable->setRowCount(16);
|
||||||
_presetSettings->setColumnCount(4);
|
_presetSettingsTable->setColumnCount(4);
|
||||||
_presetSettings->setHorizontalHeaderLabels(settingsList);
|
_presetSettingsTable->setHorizontalHeaderLabels(settingsList);
|
||||||
|
|
||||||
|
|
||||||
mainLayout->addWidget(_presets);
|
mainLayout->addWidget(_presetsTable);
|
||||||
mainLayout->addWidget(_presetSettings);
|
mainLayout->addWidget(_presetSettingsTable);
|
||||||
|
|
||||||
mainWidget->setLayout(mainLayout);
|
mainWidget->setLayout(mainLayout);
|
||||||
setCentralWidget(mainWidget);
|
setCentralWidget(mainWidget);
|
||||||
|
|
||||||
|
connect(_midiIn, SIGNAL(midiMessageReceived(QMidiMessage*)), this, SLOT(onMidiMessageReceive(QMidiMessage*)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mainWindow::~mainWindow()
|
mainWindow::~mainWindow()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mainWindow::onMidiMessageReceive(QMidiMessage *message)
|
||||||
|
{
|
||||||
|
std::vector<unsigned char> rawMessage = message->getRawMessage();
|
||||||
|
// MAKE SURE THE RECEIVED MESSAGE IS COMING FROM A POCKETC (F0 00 20 20 14 00) AND THAT message.size() > 7 BYTES
|
||||||
|
if(rawMessage.size() > 7)
|
||||||
|
{
|
||||||
|
// PROCESS THE MESSAGE ACCORDING TO THE BYTE #7
|
||||||
|
switch(rawMessage.at(6))
|
||||||
|
{
|
||||||
|
case THRU_MC_DUMP:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case SINGLE_DUMP:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case VERSION_ANS:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//qDebug() << "BYTE #7 : " << rawMessage.at(6) ; // DEBUG
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,18 +5,57 @@
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QtWidgets>
|
#include <QtWidgets>
|
||||||
#include <QTableWidget>
|
#include <QTableWidget>
|
||||||
|
#include <vector>
|
||||||
|
#include <bitset>
|
||||||
|
|
||||||
|
#include "qmidimessage.h"
|
||||||
|
#include "qmidiin.h"
|
||||||
|
#include "qmidiout.h"
|
||||||
|
|
||||||
|
enum deviceCommandByte {
|
||||||
|
|
||||||
|
SINGLE_DUMP = 0x20,
|
||||||
|
SINGLE_STORE = 0x30,
|
||||||
|
SINGLE_STORE_REQ = 0x26,
|
||||||
|
THRU_MC_DUMP = 0x50,
|
||||||
|
THRU_MC_DUMP_REQ = 0x56,
|
||||||
|
VERSION_REQ = 0x06,
|
||||||
|
VERSION_ANS = 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class mainWindow : public QMainWindow
|
class mainWindow : public QMainWindow
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
mainWindow(QWidget *parent = 0);
|
mainWindow(QWidget *parent = 0);
|
||||||
QTableWidget* _presets;
|
QTableWidget* _presetsTable;
|
||||||
QTableWidget* _presetSettings;
|
QTableWidget* _presetSettingsTable;
|
||||||
|
|
||||||
~mainWindow();
|
~mainWindow();
|
||||||
|
|
||||||
|
QMidiMessage* _midiMessage;
|
||||||
|
deviceCommandByte _deviceCommandByte;
|
||||||
|
|
||||||
|
int _currentPreset;
|
||||||
|
int _masterChannel;
|
||||||
|
std::vector<unsigned int> _presetSettings;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QMidiIn *_midiIn;
|
||||||
|
QMidiOut *_midiOut;
|
||||||
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void singleDumpReceived(QMidiMessage* message);
|
||||||
|
void thruMasterChnDumpReceived(QMidiMessage* message);
|
||||||
|
void versionAnswerReceived(QMidiMessage* message);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
void onMidiMessageReceive(QMidiMessage* message);
|
||||||
|
//void updateDeviceConfig(std::bitset<3> thru, int mastChn);
|
||||||
|
//void updatePresetSettings(std::vector<unsigned int>* presetSettings);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MAINWINDOW_H
|
#endif // MAINWINDOW_H
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue