lms-audio/src/showplayer.cpp
2024-06-18 20:23:19 +02:00

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());
};