wip acciones desde ui, la primera capa hace bien el pause pero el resto

no. sólo reciben datos las ptres primeras capas.
This commit is contained in:
snt 2024-04-22 20:39:05 +02:00
parent 521f1fc6d7
commit abf5d3340f
9 changed files with 76 additions and 30 deletions

View file

@ -1,8 +1,9 @@
#include "audiolayerwidget.h"
AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name):
AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name, int layer):
QGroupBox(parent)
, m_layer(layer)
, m_suspendResumeButton(0)
, m_volumeIndicator(new QSpinBox)
, m_panIndicator(new QSpinBox)
@ -93,7 +94,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name):
m_progressTime->setDisplayFormat("h:mm:ss:zzz");
m_progressTime->setReadOnly(true);
m_progressTime->setButtonSymbols(QAbstractSpinBox::NoButtons);
m_progressTime->setMaximumWidth(120);
m_progressTime->setMaximumWidth(100);
progressTime->addWidget(m_progressTimeLabel);
progressTime->addWidget(m_progressTime);
m_totalTimeLabel = new QLabel;
@ -102,7 +103,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name):
m_totalTimeValue->setDisplayFormat("h:mm:ss:zzz");
m_totalTimeValue->setReadOnly(true);
m_totalTimeValue->setButtonSymbols(QAbstractSpinBox::NoButtons);
m_totalTimeValue->setMaximumWidth(120);
m_totalTimeValue->setMaximumWidth(100);
progressTime->addWidget(m_totalTimeLabel);
progressTime->addWidget(m_totalTimeValue);
layout->addLayout(progressTime);
@ -153,11 +154,14 @@ void AudioLayerWidget::toggleSuspendResume()
case Status::PlayingLoop:
case Status::PlayingOnce:
this->setPlaybackStatus(Status::Paused);
emit uiPlaybackChanged(m_layer, Status::Paused);
break;
case Status::Paused:
case Status::Stopped:
this->setPlaybackStatus(Status::PlayingOnce);
emit uiPlaybackChanged(m_layer, Status::PlayingOnce);
break;
}
// ToDo: call the audio engine
}
// from DMX signals
@ -195,13 +199,10 @@ void AudioLayerWidget::fileLoaded(QString file)
}
}
void AudioLayerWidget::setPlaybackStatus(Status status)
QString AudioLayerWidget::getStatus()
{
m_status = status;
if (status == Status::Stopped)
m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(0));
QString tmp;
switch (status) {
switch (m_status) {
case Status::Paused:
tmp.append("Paused");
break;
@ -215,8 +216,21 @@ void AudioLayerWidget::setPlaybackStatus(Status status)
tmp.append("Stopped");
break;
}
return tmp;
}
void AudioLayerWidget::setPlaybackStatus(Status status)
{
m_status = status;
if (status == Status::Stopped)
m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(0));
QString tmp = this->getStatus();
m_statusValue->blockSignals(true);
m_suspendResumeButton->blockSignals(true);
m_statusValue->setText(tmp);
m_suspendResumeButton->setText(tmp);
m_statusValue->blockSignals(false);
m_suspendResumeButton->blockSignals(false);
}
void AudioLayerWidget::durationChanged(qint64 dur)