2016-07-07 19:41:57 +00:00
|
|
|
#ifndef MAINWINDOW_H
|
|
|
|
|
#define MAINWINDOW_H
|
|
|
|
|
|
|
|
|
|
#include <QComboBox>
|
|
|
|
|
#include <QMainWindow>
|
2016-07-11 09:26:06 +00:00
|
|
|
#include <QtWidgets>
|
|
|
|
|
#include <QTableWidget>
|
2016-07-12 18:58:40 +00:00
|
|
|
#include <vector>
|
|
|
|
|
#include <bitset>
|
|
|
|
|
|
2016-07-17 10:48:12 +00:00
|
|
|
#include "settingswindow.h"
|
2016-07-12 18:58:40 +00:00
|
|
|
#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,
|
|
|
|
|
};
|
|
|
|
|
|
2016-07-07 19:41:57 +00:00
|
|
|
class mainWindow : public QMainWindow
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
mainWindow(QWidget *parent = 0);
|
2016-07-17 10:48:12 +00:00
|
|
|
|
|
|
|
|
settingsWindow* _settingsWindow;
|
2016-09-05 23:07:29 +00:00
|
|
|
QListWidget* _presetsList;
|
2016-07-12 18:58:40 +00:00
|
|
|
QTableWidget* _presetSettingsTable;
|
2016-07-16 09:55:29 +00:00
|
|
|
QMenuBar* _menuBar;
|
2016-07-11 09:26:06 +00:00
|
|
|
|
2016-07-07 19:41:57 +00:00
|
|
|
~mainWindow();
|
2016-07-12 18:58:40 +00:00
|
|
|
|
2016-09-05 00:16:21 +00:00
|
|
|
std::vector<unsigned char> _prefixPocketC;
|
2016-07-12 18:58:40 +00:00
|
|
|
QMidiMessage* _midiMessage;
|
|
|
|
|
deviceCommandByte _deviceCommandByte;
|
|
|
|
|
|
2016-10-30 21:06:44 +00:00
|
|
|
unsigned char _preset[128][48];
|
|
|
|
|
|
2016-07-12 18:58:40 +00:00
|
|
|
private:
|
|
|
|
|
QMidiIn *_midiIn;
|
|
|
|
|
QMidiOut *_midiOut;
|
|
|
|
|
|
|
|
|
|
|
2016-07-07 19:41:57 +00:00
|
|
|
signals:
|
2016-07-12 18:58:40 +00:00
|
|
|
void singleDumpReceived(QMidiMessage* message);
|
|
|
|
|
void thruMasterChnDumpReceived(QMidiMessage* message);
|
|
|
|
|
void versionAnswerReceived(QMidiMessage* message);
|
2016-07-07 19:41:57 +00:00
|
|
|
|
|
|
|
|
public slots:
|
2016-07-12 18:58:40 +00:00
|
|
|
void onMidiMessageReceive(QMidiMessage* message);
|
2016-07-17 09:10:51 +00:00
|
|
|
void openSettingsWindow();
|
2016-09-05 21:53:01 +00:00
|
|
|
void updateDeviceConfig();
|
2016-10-30 21:06:44 +00:00
|
|
|
void updatePreset(QMidiMessage* message);
|
|
|
|
|
|
2016-07-26 16:48:55 +00:00
|
|
|
private slots:
|
|
|
|
|
void openMidiPorts();
|
2016-09-05 00:16:21 +00:00
|
|
|
void sendThruMasterChnRequest();
|
2016-10-30 19:16:06 +00:00
|
|
|
void sendSingleDumpRequest();
|
|
|
|
|
void sendAllDumpRequest();
|
2016-07-12 18:58:40 +00:00
|
|
|
|
2016-07-07 19:41:57 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // MAINWINDOW_H
|