added slots and widgets to get single preset (currently selected) and all presets

master
Yohann Dedy 2016-10-30 20:16:06 +01:00
parent 697833587b
commit 94c2ce8ed9
2 changed files with 36 additions and 1 deletions

View File

@ -1,6 +1,7 @@
#include "mainwindow.h" #include "mainwindow.h"
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QPushButton>
#include <vector> #include <vector>
#include <QDebug> #include <QDebug>
@ -27,6 +28,14 @@ mainWindow::mainWindow(QWidget *parent) :
QMenu* mainMenu = new QMenu("File", _menuBar); QMenu* mainMenu = new QMenu("File", _menuBar);
QAction* settings = mainMenu->addAction("Settings"); QAction* settings = mainMenu->addAction("Settings");
mainMenu->addSeparator(); mainMenu->addSeparator();
QMenu* get = mainMenu->addMenu("Get");
QAction* getSingle = get->addAction("Get this preset");
connect(getSingle,SIGNAL(triggered(bool)),this,SLOT(sendSingleDumpRequest()));
QAction* getAll = get->addAction("Get all presets");
connect(getAll,SIGNAL(triggered(bool)),this,SLOT(sendAllDumpRequest()));
QMenu* send = mainMenu->addMenu("Send"); QMenu* send = mainMenu->addMenu("Send");
QAction* sendSingle = send->addAction("Send this preset"); QAction* sendSingle = send->addAction("Send this preset");
QAction* sendAll = send->addAction("Send all presets"); QAction* sendAll = send->addAction("Send all presets");
@ -34,6 +43,12 @@ mainWindow::mainWindow(QWidget *parent) :
_menuBar->addMenu(mainMenu); _menuBar->addMenu(mainMenu);
mainLayout->addWidget(_menuBar); mainLayout->addWidget(_menuBar);
QPushButton *getPresetButton = new QPushButton;
getPresetButton->setText("Get preset");
mainLayout->addWidget(getPresetButton);
connect(getPresetButton, SIGNAL(clicked(bool)),this,SLOT(sendSingleDumpRequest()));
// Table // Table
for(int i=0; i<128; i++){ for(int i=0; i<128; i++){
QString defaultCelString = QString("Preset #%1").arg(i+1); QString defaultCelString = QString("Preset #%1").arg(i+1);
@ -142,3 +157,22 @@ void mainWindow::sendThruMasterChnRequest(){
rawRequest.push_back(0xF7); rawRequest.push_back(0xF7);
if(_midiOut->isPortOpen()) _midiOut->sendRawMessage(rawRequest); if(_midiOut->isPortOpen()) _midiOut->sendRawMessage(rawRequest);
} }
void mainWindow::sendSingleDumpRequest(){
std::vector<unsigned char> rawRequest;
rawRequest = _prefixPocketC;
rawRequest.push_back(0x26);
rawRequest.push_back(_presetsList->currentRow());
rawRequest.push_back(0x00);
rawRequest.push_back(0xF7);
if(_midiOut->isPortOpen()) _midiOut->sendRawMessage(rawRequest);
}
void mainWindow::sendAllDumpRequest(){
_presetsList->setCurrentRow(0);
for(int i=0; i<_presetsList->count(); i++){
_presetsList->setCurrentRow(i);
sendSingleDumpRequest();
}
}

View File

@ -63,7 +63,8 @@ public slots:
private slots: private slots:
void openMidiPorts(); void openMidiPorts();
void sendThruMasterChnRequest(); void sendThruMasterChnRequest();
void sendSingleDumpRequest();
void sendAllDumpRequest();
}; };