55 lines
1.8 KiB
C++
55 lines
1.8 KiB
C++
#include "showplayer.h"
|
|
|
|
|
|
ShowPlayer::ShowPlayer(QWidget *parent) :
|
|
QDialog(parent)
|
|
, ui(new Ui::ShowPlayer)
|
|
{
|
|
ui->setupUi(this);
|
|
connect(ui->addCueButton, SIGNAL(clicked()), this, SLOT(onAddTrack()));
|
|
connect(ui->goButton, SIGNAL(clicked()), this, SLOT(go()));
|
|
filesLoaded = 0;
|
|
currentStatus = Status::Iddle;
|
|
for(int i = 0; i < MAX_LAYERS; i++)
|
|
layersUsed[i] = -1;
|
|
}
|
|
|
|
ShowPlayer::~ShowPlayer() {}
|
|
|
|
void ShowPlayer::onAddTrack() {
|
|
CueTrackWidget* track = new CueTrackWidget();
|
|
EditCueTrackWidget editor;
|
|
editor.loadCueTrack(track->saveCueTrack());
|
|
if (editor.exec() == QDialog::Accepted) {
|
|
track->loadCueTrack(editor.saveCueTrack());
|
|
ui->cueListWidget->addCueTrackWidget(track);
|
|
}
|
|
}
|
|
|
|
void ShowPlayer::go()
|
|
{
|
|
CueTrackWidget* current = ui->cueListWidget->getSelectedTrack();
|
|
if (!current)
|
|
return;
|
|
if (!current->getFilePath().isEmpty())
|
|
{
|
|
for (int i = 0; i < MAX_LAYERS; i++) {
|
|
if (layersUsed[i] == -1) {
|
|
layersUsed[i] = current->userNumberSpin->value();
|
|
break;
|
|
}
|
|
}
|
|
emit uiLoadMedia(current->audioLayer->value(), current->getFilePath());
|
|
}
|
|
updateTrackStateInEngine(current);
|
|
emit uiPlaybackChanged(current->audioLayer->value(), current->getStatus());
|
|
filesLoaded++;
|
|
}
|
|
|
|
void ShowPlayer::updateTrackStateInEngine(CueTrackWidget *track) {
|
|
emit uiSliderChanged(track->audioLayer->value(), Slider::Volume, track->getVolume());
|
|
emit uiSliderChanged(track->audioLayer->value(), Slider::Pan, track->getPan());
|
|
emit uiSliderChanged(track->audioLayer->value(), Slider::Pitch, track->getPitch());
|
|
emit uiSliderChanged(track->audioLayer->value(), Slider::Bus1, track->getBus1());
|
|
emit uiSliderChanged(track->audioLayer->value(), Slider::Bus2, track->getBus2());
|
|
};
|