Allow to stop DebugToneGenerator

This commit is contained in:
Gitea
2019-09-17 22:13:28 +02:00
parent 6c550abaaf
commit 00cd74295c
2 changed files with 8 additions and 4 deletions

View File

@@ -117,7 +117,7 @@ MainWindow::MainWindow(QWidget *parent) :
connect(&m_zoomlevelsGroup, &QActionGroup::triggered, this, &MainWindow::zoomChanged); connect(&m_zoomlevelsGroup, &QActionGroup::triggered, this, &MainWindow::zoomChanged);
//setting up menu Debug //setting up menu Debug
connect(m_ui->actionToneGenerator, &QAction::triggered, this, &MainWindow::startGenerator); connect(m_ui->actionToneGenerator, &QAction::triggered, this, &MainWindow::startStopGenerator);
{ {
auto widgetAction = new QWidgetAction(this); auto widgetAction = new QWidgetAction(this);
@@ -200,9 +200,13 @@ void MainWindow::zoomChanged()
m_ui->widget->setFactor(zoomlevel/100.f); m_ui->widget->setFactor(zoomlevel/100.f);
} }
void MainWindow::startGenerator() void MainWindow::startStopGenerator()
{ {
if(m_generator){
m_generator = nullptr; m_generator = nullptr;
return;
}
m_generator = std::make_unique<DebugToneGenerator>(); m_generator = std::make_unique<DebugToneGenerator>();
m_generator->setDevice(m_outputDevices.at(m_outputDeviceGroup.actions().indexOf(m_outputDeviceGroup.checkedAction()))); m_generator->setDevice(m_outputDevices.at(m_outputDeviceGroup.actions().indexOf(m_outputDeviceGroup.checkedAction())));
m_generator->setSamplerate(samplerate()); m_generator->setSamplerate(samplerate());

View File

@@ -28,7 +28,7 @@ private slots:
void stop(); void stop();
void refreshRateChanged(); void refreshRateChanged();
void zoomChanged(); void zoomChanged();
void startGenerator(); void startStopGenerator();
private: private:
int samplerate() const; int samplerate() const;