multi-cue, nuevo campo en cuetrack para lanzar la siguiente cue de forma
inmediata, sin esperar a los tiempos de la cue actual. Cambiado el visor de cue a QWidgetList, ahora muestra la última cue reproducida en cada capa.
This commit is contained in:
parent
307d9c4d43
commit
14a51c88e9
18 changed files with 1244 additions and 390 deletions
|
|
@ -1,14 +1,107 @@
|
|||
#include <QFileInfo>
|
||||
|
||||
#include "cuetrackwidget.h"
|
||||
#include "ui_cuetrackwidget.h"
|
||||
|
||||
CuetrackWidget::CuetrackWidget(QWidget *parent) :
|
||||
CueTrackWidget::CueTrackWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::CuetrackWidget)
|
||||
ui(new Ui::CueTrackWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
tlFade.setFrameRange(0, 100);
|
||||
tlWaitIn.setFrameRange(0, 100);
|
||||
tlWaitOut.setFrameRange(0, 100);
|
||||
connect(&tlFade, &QTimeLine::frameChanged, ui->cueProgressBar, &QProgressBar::setValue);
|
||||
connect(&tlWaitIn, &QTimeLine::frameChanged, ui->cueProgressBar, &QProgressBar::setValue);
|
||||
connect(&tlWaitOut, &QTimeLine::frameChanged, ui->cueProgressBar, &QProgressBar::setValue);
|
||||
connect(&tlFade, SIGNAL(finished()), this, SLOT(fadeSlot()));
|
||||
connect(&tlWaitIn, SIGNAL(finished()), this, SLOT(waitInSlot()));
|
||||
connect(&tlWaitOut, SIGNAL(finished()), this, SLOT(waitOutSlot()));
|
||||
}
|
||||
|
||||
CuetrackWidget::~CuetrackWidget()
|
||||
|
||||
CueTrackWidget::~CueTrackWidget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void CueTrackWidget::loadCueTrack(CueTrack* track)
|
||||
{
|
||||
ui->cueName->setText(track->name.data());
|
||||
ui->cueNumber->display(track->userNumber);
|
||||
ui->vol->display(track->volume);
|
||||
ui->pan->display(track->pan);
|
||||
ui->pitch->display(track->pitch);
|
||||
ui->bus1->display(track->bus1);
|
||||
ui->bus2->display(track->bus2);
|
||||
ui->fade->setValue(track->fadeOut);
|
||||
ui->waitIn->setValue(track->waitIn);
|
||||
ui->waitOut->setValue(track->waitOut);
|
||||
ui->halt->setChecked(track->stopAtEnd);
|
||||
QFileInfo fileInfo(track->filePath.data());
|
||||
fileInfo.fileName().truncate(64);
|
||||
ui->mediaFileName->setText(fileInfo.fileName());
|
||||
ui->mediaEndTimeEdit->setTime(QTime::fromMSecsSinceStartOfDay(track->duration));
|
||||
ui->status->setText(statusToString(track->status));
|
||||
ui->audioLayer->display(track->audioLayer);
|
||||
ui->multi->setChecked(track->multi);
|
||||
}
|
||||
|
||||
void CueTrackWidget::go()
|
||||
{
|
||||
tlFade.stop();
|
||||
tlWaitIn.stop();
|
||||
tlWaitOut.stop();
|
||||
ui->cueProgressBar->setValue(0);
|
||||
if (ui->waitIn->value() > 0)
|
||||
{
|
||||
tlWaitIn.setDuration(ui->waitIn->value() * 1000);
|
||||
tlWaitIn.start();
|
||||
ui->cueProgressBar->setStyleSheet("QProgressBar::chunk { background-color: #FF0000; }");
|
||||
} else {
|
||||
waitInSlot();
|
||||
}
|
||||
}
|
||||
|
||||
void CueTrackWidget::waitInSlot()
|
||||
{
|
||||
emit goAction(ui->audioLayer->intValue());
|
||||
tlFade.setDuration(ui->fade->value() * 1000);
|
||||
tlFade.start();
|
||||
ui->cueProgressBar->setStyleSheet("QProgressBar::chunk { background-color: #00FF00; }");
|
||||
}
|
||||
|
||||
void CueTrackWidget::fadeSlot()
|
||||
{
|
||||
if (ui->waitOut->value() > 0) {
|
||||
tlWaitOut.setDuration(ui->waitOut->value() * 1000);
|
||||
tlWaitOut.start();
|
||||
ui->cueProgressBar->setStyleSheet("QProgressBar::chunk { background-color: #FF0000; }");
|
||||
} else {
|
||||
waitOutSlot();
|
||||
}
|
||||
}
|
||||
|
||||
void CueTrackWidget::waitOutSlot()
|
||||
{
|
||||
ui->cueProgressBar->setStyleSheet("QProgressBar::chunk { background-color: #0000FF; }");
|
||||
emit cueFinished(ui->audioLayer->intValue());
|
||||
}
|
||||
|
||||
void CueTrackWidget::refreshCurrentTime(int time)
|
||||
{
|
||||
QTime t;
|
||||
t.fromMSecsSinceStartOfDay(time);
|
||||
ui->mediaCurrentTimeEdit->setTime(t);
|
||||
ui->mediaProgressBar->setValue(time);
|
||||
}
|
||||
|
||||
void CueTrackWidget::setNextCue()
|
||||
{
|
||||
ui->cueProgressBar->setDisabled(true);
|
||||
ui->cueProgressBar->hide();
|
||||
ui->mediaProgressBar->setDisabled(true);
|
||||
ui->mediaProgressBar->hide();
|
||||
ui->mediaCurrentTimeEdit->setDisabled(true);
|
||||
ui->mediaCurrentTimeEdit->hide();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue