added timer for volume changes

This commit is contained in:
2018-10-13 00:21:18 +02:00
parent c535f3784a
commit 6ce791c0ce
2 changed files with 28 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTimer>
#include <qnetwork.h>
#include <QtNetwork/QNetworkReply>
@@ -16,6 +17,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
ui->txt_address->setText(DEFAULT_ADDRESS);
mAddress = ui->txt_address->text();
connect(&mTimer, &QTimer::timeout, this, &MainWindow::sendVolume);
mTimer.setSingleShot(true);
// load initial data
sendCommand("<YAMAHA_AV cmd=\"GET\"><System><Power_Control><Power>GetParam</Power></Power_Control></System></YAMAHA_AV>");
sendCommand("<YAMAHA_AV cmd=\"GET\"><Main_Zone><Volume><Lvl>GetParam</Lvl></Volume></Main_Zone></YAMAHA_AV>");
@@ -36,6 +40,7 @@ void MainWindow::sendCommand(QString cmd)
QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
networkManager->post(request, cmd.toUtf8());
connect(networkManager, &QNetworkAccessManager::finished, this, &MainWindow::replyFinished);
networkManager->deleteLater();
}
void MainWindow::replyFinished(QNetworkReply* reply)
@@ -108,10 +113,25 @@ void MainWindow::on_btn_onoff_clicked()
updateUi();
}
void MainWindow::on_dial_valueChanged(int value)
{
int d = value % 10;
qDebug() << d;
if (!( d == -5 || d == 0 ))
value -= d;
ui->lbl_volume->setText(QString::number(value));
mVolume = value;
mTimer.start(WAITTIME);
}
void yremote::MainWindow::on_dial_valueChanged(int value)
void MainWindow::sendVolume()
{
ui->lbl_volume->setText(QString::number(value));
sendCommand("<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Lvl><Val>" + QString::number(value) + "</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>");
// sendCommand("<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Lvl><Val>"
// + QString::number(mVolume)
// + "</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>");
}
}