Renamed the QTableWidget / added slots and signals

master
Yohann Dedy 2016-07-12 20:58:40 +02:00
parent 2cd987fd2d
commit 93b0d837a4
2 changed files with 86 additions and 14 deletions

View File

@ -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
}

View File

@ -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