From 9c6621f3b70c5d2e353e13f03269459228032470 Mon Sep 17 00:00:00 2001 From: Yohann Dedy Date: Tue, 26 Jul 2016 18:48:55 +0200 Subject: [PATCH] added working openMidiPorts slot --- src/mainwindow.cpp | 24 +++++++++++------------- src/mainwindow.h | 4 ++-- src/settingswindow.cpp | 10 ++++++++++ src/settingswindow.h | 6 ++++-- 4 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index bf3b922..4f175eb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -109,19 +109,17 @@ void mainWindow::openSettingsWindow() qDebug() << "Open settings window here" ; _settingsWindow->setWindowModality(Qt::ApplicationModal); _settingsWindow->show(); - } -void mainWindow::openMidiOutPort(unsigned int port) -{ - if(_midiOut->isPortOpen()) _midiOut->closePort(); - _midiOut->openPort(port); +void mainWindow::openMidiPorts(){ + _midiIn->closePort(); + _midiOut->closePort(); + if(_settingsWindow->_inPortComboBox->currentText() != "None"){ + qDebug()<< "Selected MIDI IN : " <<_settingsWindow->_inPortComboBox->currentText(); + _midiIn->openPort(_settingsWindow->_inPortComboBox->currentIndex()); + } + if(_settingsWindow->_outPortComboBox->currentText() != "None"){ + qDebug()<< "Selected MIDI OUT : " <<_settingsWindow->_inPortComboBox->currentText(); + _midiOut->openPort(_settingsWindow->_outPortComboBox->currentIndex()); + } } - -void mainWindow::openMidiInPort(unsigned int port) -{ - if(_midiIn->isPortOpen()) _midiIn->closePort(); - - _midiIn->openPort(port); -} - diff --git a/src/mainwindow.h b/src/mainwindow.h index 7ee1aa9..461bfd4 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -60,8 +60,8 @@ public slots: void openSettingsWindow(); //void updateDeviceConfig(std::bitset<3> thru, int mastChn); //void updatePresetSettings(std::vector* presetSettings); - void openMidiOutPort(unsigned int port); - void openMidiInPort(unsigned int port); +private slots: + void openMidiPorts(); }; diff --git a/src/settingswindow.cpp b/src/settingswindow.cpp index 1463186..e938ce9 100644 --- a/src/settingswindow.cpp +++ b/src/settingswindow.cpp @@ -29,7 +29,12 @@ settingsWindow::settingsWindow(QWidget *parent) : qDebug()<<"outputs"<<_midiOut->getPorts(); _inPortComboBox->addItems(_midiIn->getPorts()); + _inPortComboBox->addItem("None"); _outPortComboBox->addItems(_midiOut->getPorts()); + _outPortComboBox->addItem("None"); + + emit _inPortComboBox->setCurrentIndex(_inPortComboBox->count()-1); + emit _outPortComboBox->setCurrentIndex(_outPortComboBox->count()-1); QPushButton *bouton = new QPushButton(); @@ -72,6 +77,11 @@ settingsWindow::settingsWindow(QWidget *parent) : connect(_channelThruCheckBox,SIGNAL(toggled(bool)),this,SLOT(onThruCheckboxChange())); connect(_sysexThruCheckBox,SIGNAL(toggled(bool)),this,SLOT(onThruCheckboxChange())); connect(_realtimeThruCheckBox,SIGNAL(toggled(bool)),this,SLOT(onThruCheckboxChange())); + connect(bouton, SIGNAL(clicked(bool)),parent, SLOT(openMidiPorts())); +} + +settingsWindow::~settingsWindow() +{ } void settingsWindow::onThruCheckboxChange(){ diff --git a/src/settingswindow.h b/src/settingswindow.h index 472badb..03618e5 100644 --- a/src/settingswindow.h +++ b/src/settingswindow.h @@ -4,10 +4,10 @@ #include #include #include -#include ; +#include #include #include -#include ; +#include #include "qmidimessage.h" #include "qmidiin.h" @@ -19,6 +19,8 @@ class settingsWindow : public QMainWindow public: explicit settingsWindow(QWidget *parent = 0); + ~settingsWindow(); + QMidiMessage* _midiMessage; QComboBox *_inPortComboBox;