/
mainwindow.cpp
69 lines (51 loc) · 1.73 KB
/
mainwindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <QtGui>
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){
setupUi(this);
centerOnScreen();
initAudioReader();
initAudioWriter();
connect(audioReader, SIGNAL(dataUpdated(const char*,int)),
audioWriter, SLOT(writeData(const char*,int)));
}
void MainWindow::centerOnScreen(){
QDesktopWidget *desktop = QApplication::desktop();
int screenWidth, width;
int screenHeight, height;
int x, y;
QSize windowSize;
screenWidth = desktop->width();
screenHeight = desktop->height();
windowSize = size();
width = windowSize.width();
height = windowSize.height();
x = (screenWidth - width) / 2;
y = (screenHeight - height) / 2;
y -= 50;
move (x, y);
}
void MainWindow::initAudioReader(){
audioReader = new AudioReader(this);
audioReader->setMinLevel(qreal(minLevelSlider->value())/100);
audioReader->setMaxLevel(qreal(maxLevelSlider->value())/100);
connect(audioReader, SIGNAL(levelUpdated(qreal)),
this, SLOT(onInputLevelUpdated(qreal)));
}
void MainWindow::initAudioWriter(){
audioWriter = new AudioWriter(this);
}
void MainWindow::onInputLevelUpdated(qreal value){
int levelValue = (int)qRound(value*100);
if (levelValue > digitalValueBar->maximum()){
levelValue = digitalValueBar->maximum();
}
digitalValueBar->setValue(levelValue);
}
void MainWindow::on_minLevelSlider_sliderMoved(int position){
audioReader->setMinLevel(qreal(position)/100);
minLevel_Lb->setText(QString::number(position)+"%");
}
void MainWindow::on_maxLevelSlider_sliderMoved(int position){
audioReader->setMaxLevel(qreal(position)/100);
maxLevel_Lb->setText(QString::number(position)+"%");
}