#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <iostream>
#include <cstdlib>
#include <QFileDialog>
//#include <QMediaPlayer>
#include <string.h>
#include <QString>
using namespace std;
using namespace stk;
Qstring plik_otwarty;
Qstring plik_zapis;
FileWvOut output;
int dlugosc;
MainWindow::MainWindow (QWidget *parent):
QMainWindow(parent),
ui (new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_2_clicked() //wybieramy plik dźwiękowy do otwarcia
{
plik_otwarty = QFileDialog::getOpenFileName(this, "pushButton_2");
if (plik_otwarty.isEmpty())
{
return;
}
}
void MainWindow::on_pushButton_3_clicked() //wybor nazwy pliku do zapisania
{
plik_zapis = QFileDialog::getSaveFileName(this, "pushButton_3");
if (plik_zapis.isEmpty())
{
return;
}
}
void MainWindow::on_pushButton_clicked() //Echo
{
FileWvIn input (plik_otwarty.toStdString(), false, true, 1000000,1024,true);
dlugosc = input.getSize();
QString opoznienie_echo = ui->lineEdit_3->text();
int opoznienienie_echo_int 4000;
if((opoznienie_echo.toInt())>=0)
{
opoznienie_echo_int = opoznienie_echo.toInt();
}
JCRev Echo2(4000);
Echo Echo1(opoznienie_echo_int);
output.openFile(plik_zapis.toStdString(), 1, FileWrite::FILE_WAV, Stk::STK_SINT16);
for(int i=0; i<dlugosc;i++)
{
try{
output.tick(Echo1.tick(input.tick()));
}
catch(StkError &){
exit(1);
}
}
output.closeFile();
}
void MainWindow::on_pushButton_4_clicked() //Chorus
{
FileWvIn input (plik_otwarty.toStdString(), false, true, 1000000,1024,true);
dlugosc = input.getSize();
QString dlugosc_mediany_opoznienia = ui->lineEdit_14->text();
int dlugosc_mediany_opoznienia_int = 6000;
if((dlugosc_mediany_opoznienia.toInt())>=0){
dlugosc_mediany_opoznienia = dlugosc_mediany_opoznienia.toInt();
}
Chorus Chorus1(dlugosc_mediany_opoznienia_int):
output.openFile(plik_zapis.toStdString(), 1 FileWrite::FILE_WAV, Stk::STK_SINT16);
for(int i=0; i<dlugosc;i++)
{
try{
output.tick(Chorus1.tick(input.tick()));
}
catch(StkError &){
exit(1);
}
}
output.closeFile();
}
void MainWindow::on_pushbutton_7_clicked() //delay
{
FileWvIn input (plik_otwarty.toStdString(), false, true, 1000000,1024,true);
dlugosc = input.getSize();
QString opoznienie_delay = ui->lineEdit_12->text();
QString dlugosc_delay = ui->lineEdit_13->text();
int opoznienie_delay_int = 0;
int dlugosc_delay_int = 4095;
if((opoznienie_delay.toInt())>=0){
opoznienie_delay_int = opoznienie_delay.toInt();
}
if((dlugosc_delay.toInt())>=0){
dlugosc_delay_int = dlugosc_delay.toInt();
}
Delay Delay1(opoznienie_delay_int,dlugosc_delay_int);
output.openFile(plik_zapis.toStdString(), 1 FileWrite::FILE_WAV, Stk::STK_SINT16);
for(int i=0; i<dlugosc;i++)
{
try{
output.tick(Delay1.tick(input.tick()));
}
catch(StkError &){
exit(1);
}
}
output.closeFile();
}
void MainWindow::on_pushButton_5_clicked() //JCRev
{
FileWvIn input(plik_otwarty.toStdString(), false, true, 1000000,1024,true);
dlugosc = input.getSize();
QString czas_rozpadu_poglosu1 = ui->lineEdit_8->text();
int czas_rozpadu_poglosu_int1 = 1.0;
if((czas_rozpadu_poglosu1.toInt())>=0)
{
czas_rozpadu_poglosu_int1 = czas_rozpadu_poglosu1.toInt();
}
JCRev JCRev1(czas_rozpadu_poglosu_int1);
output.openFile(plik_zapis.toStdString(), 1, FileWrite::FILE_WAV, Stk::STK_SINT16);
for(int i=0; i<dlugosc;i++)
{
try{
output.tick(JCRev1.tick(input.tick()));
}
catch(StkError &){
exit(1);
}
}
output.closeFile();
}
void MainWindow::on_pushButton_9_clicked() //NRev
{
FileWvIn input(plik_otwarty.toStdString(), false, true, 1000000,1024,true);
dlugosc = input.getSize();
QString czas_rozpadu_poglosu1 = ui->lineEdit_5->text();
int czas_rozpadu_poglosu_int1 = 1.0;
if((czas_rozpadu_poglosu1.toInt())>=0)
{
czas_rozpadu_poglosu_int1 = czas_rozpadu_poglosu1.toInt();
}
NRev NRev1(czas_rozpadu_poglosu_int1);
output.openFile(plik_zapis.toStdString(), 1, FileWrite::FILE_WAV, Stk::STK_SINT16);
for(int i=0; i<dlugosc;i++)
{
try{
output.tick(NRev1.tick(input.tick()));
}
catch(StkError &){
exit(1);
}
}
output.closeFile();
}