working UI controls
This commit is contained in:
parent
88704cd726
commit
5a7a82736f
10 changed files with 58 additions and 54 deletions
|
@ -24,7 +24,6 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, int layer):
|
||||||
"color: white;"
|
"color: white;"
|
||||||
"background-color: black;"
|
"background-color: black;"
|
||||||
);
|
);
|
||||||
|
|
||||||
playback->addWidget(m_fileValue);
|
playback->addWidget(m_fileValue);
|
||||||
playback->setSpacing(0);
|
playback->setSpacing(0);
|
||||||
playback->setContentsMargins(0, 0, 0, 0);
|
playback->setContentsMargins(0, 0, 0, 0);
|
||||||
|
@ -33,7 +32,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, int layer):
|
||||||
m_suspendResumeButton = new QPushButton(this);
|
m_suspendResumeButton = new QPushButton(this);
|
||||||
m_suspendResumeButton->setText(StatusStr[Status::Iddle]);
|
m_suspendResumeButton->setText(StatusStr[Status::Iddle]);
|
||||||
//m_suspendResumeButton->setMaximumWidth(180);
|
//m_suspendResumeButton->setMaximumWidth(180);
|
||||||
//connect(m_suspendResumeButton, SIGNAL(clicked()), SLOT(toggleSuspendResume()));
|
connect(m_suspendResumeButton, SIGNAL(clicked()), SLOT(toggleSuspendResume()));
|
||||||
layout->addWidget(m_suspendResumeButton);
|
layout->addWidget(m_suspendResumeButton);
|
||||||
|
|
||||||
m_progress = new QProgressBar(this);
|
m_progress = new QProgressBar(this);
|
||||||
|
@ -47,19 +46,21 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, int layer):
|
||||||
m_progressTime = new QTimeEdit;
|
m_progressTime = new QTimeEdit;
|
||||||
m_progressTime->setToolTip("Current Time");
|
m_progressTime->setToolTip("Current Time");
|
||||||
m_progressTime->setObjectName("Current Time");
|
m_progressTime->setObjectName("Current Time");
|
||||||
m_progressTime->setDisplayFormat("h:mm:ss:zzz");
|
m_progressTime->setDisplayFormat("mm:ss:zz");
|
||||||
m_progressTime->setReadOnly(true);
|
m_progressTime->setReadOnly(true);
|
||||||
m_progressTime->setButtonSymbols(QAbstractSpinBox::NoButtons);
|
m_progressTime->setButtonSymbols(QAbstractSpinBox::NoButtons);
|
||||||
//m_progressTime->setMaximumWidth(80);
|
m_progressTime->setMaximumWidth(75);
|
||||||
m_progressTime->setFocusPolicy(Qt::NoFocus);
|
m_progressTime->setFocusPolicy(Qt::NoFocus);
|
||||||
|
m_progressTime->setAlignment(Qt::AlignHCenter);
|
||||||
m_totalTimeValue = new QTimeEdit;
|
m_totalTimeValue = new QTimeEdit;
|
||||||
m_totalTimeValue->setObjectName("Track Length");
|
m_totalTimeValue->setObjectName("Track Length");
|
||||||
m_totalTimeValue->setToolTip("Track Length");
|
m_totalTimeValue->setToolTip("Track Length");
|
||||||
m_totalTimeValue->setDisplayFormat("h:mm:ss:zzz");
|
m_totalTimeValue->setDisplayFormat("mm:ss:zz");
|
||||||
m_totalTimeValue->setReadOnly(true);
|
m_totalTimeValue->setReadOnly(true);
|
||||||
m_totalTimeValue->setButtonSymbols(QAbstractSpinBox::NoButtons);
|
m_totalTimeValue->setButtonSymbols(QAbstractSpinBox::NoButtons);
|
||||||
//m_totalTimeValue->setMaximumWidth(80);
|
m_totalTimeValue->setMaximumWidth(75);
|
||||||
m_totalTimeValue->setFocusPolicy(Qt::NoFocus);
|
m_totalTimeValue->setFocusPolicy(Qt::NoFocus);
|
||||||
|
m_totalTimeValue->setAlignment(Qt::AlignHCenter);
|
||||||
QHBoxLayout *status = new QHBoxLayout;
|
QHBoxLayout *status = new QHBoxLayout;
|
||||||
status->addWidget(m_progressTime);
|
status->addWidget(m_progressTime);
|
||||||
status->addWidget(m_totalTimeValue);
|
status->addWidget(m_totalTimeValue);
|
||||||
|
@ -67,15 +68,15 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, int layer):
|
||||||
QHBoxLayout *volumeBox = new QHBoxLayout;
|
QHBoxLayout *volumeBox = new QHBoxLayout;
|
||||||
m_volume = new SliderGroup("Vol", 0 , 100, 2, NULL);
|
m_volume = new SliderGroup("Vol", 0 , 100, 2, NULL);
|
||||||
volumeBox->addWidget(m_volume);
|
volumeBox->addWidget(m_volume);
|
||||||
connect(m_volume, SIGNAL(valueChanged(float)), this, SLOT(volumeChanged(float)));
|
connect(m_volume, SIGNAL(valueChanged(int)), this, SLOT(volumeChanged(int)));
|
||||||
m_pan = new SliderGroup("Pan", 0 , 255, 0, NULL);
|
m_pan = new SliderGroup("Pan", 0 , 255, 0, NULL);
|
||||||
volumeBox->addWidget(m_pan);
|
volumeBox->addWidget(m_pan);
|
||||||
connect(m_pan, SIGNAL(valueChanged(float)), this, SLOT(panChanged(float)));
|
connect(m_pan, SIGNAL(valueChanged(int)), this, SLOT(panChanged(int)));
|
||||||
m_pitch = new SliderGroup("Pitch", 0 , 255, 0, NULL);
|
m_pitch = new SliderGroup("Pitch", 0 , 255, 0, NULL);
|
||||||
volumeBox->addWidget(m_pitch);
|
volumeBox->addWidget(m_pitch);
|
||||||
volumeBox->setSpacing(0);
|
volumeBox->setSpacing(0);
|
||||||
volumeBox->setContentsMargins(0, 0, 0, 0);
|
volumeBox->setContentsMargins(0, 0, 0, 0);
|
||||||
connect(m_pitch, SIGNAL(valueChanged(float)), this, SLOT(pitchChanged(float)));
|
connect(m_pitch, SIGNAL(valueChanged(int)), this, SLOT(pitchChanged(int)));
|
||||||
layout->addLayout(volumeBox);
|
layout->addLayout(volumeBox);
|
||||||
layout->setAlignment(Qt::AlignHCenter);
|
layout->setAlignment(Qt::AlignHCenter);
|
||||||
layout->setSpacing(0);
|
layout->setSpacing(0);
|
||||||
|
@ -89,17 +90,17 @@ AudioLayerWidget::~AudioLayerWidget()
|
||||||
}
|
}
|
||||||
|
|
||||||
// From UI.
|
// From UI.
|
||||||
void AudioLayerWidget::volumeChanged(float value)
|
void AudioLayerWidget::volumeChanged(int value)
|
||||||
{
|
{
|
||||||
emit(uiSliderChanged(m_layer, Slider::Volume, value));
|
emit(uiSliderChanged(m_layer, Slider::Volume, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioLayerWidget::panChanged(float value)
|
void AudioLayerWidget::panChanged(int value)
|
||||||
{
|
{
|
||||||
emit(uiSliderChanged(m_layer, Slider::Pan, value));
|
emit(uiSliderChanged(m_layer, Slider::Pan, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioLayerWidget::pitchChanged(float value)
|
void AudioLayerWidget::pitchChanged(int value)
|
||||||
{
|
{
|
||||||
emit(uiSliderChanged(m_layer, Slider::Pitch, value));
|
emit(uiSliderChanged(m_layer, Slider::Pitch, value));
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,9 +39,9 @@ private:
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void toggleSuspendResume();
|
void toggleSuspendResume();
|
||||||
void volumeChanged(float vol);
|
void volumeChanged(int vol);
|
||||||
void panChanged(float pan);
|
void panChanged(int pan);
|
||||||
void pitchChanged(float pitch);
|
void pitchChanged(int pitch);
|
||||||
void fileLoaded(QString file);
|
void fileLoaded(QString file);
|
||||||
void durationChanged(float dur);
|
void durationChanged(float dur);
|
||||||
void refreshUi(float progress);
|
void refreshUi(float progress);
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
#include "audiowidget.h"
|
#include "audiowidget.h"
|
||||||
|
|
||||||
|
|
||||||
AudioWidget::AudioWidget() :
|
AudioWidget::AudioWidget(QWidget *parent) :
|
||||||
m_layout(new QHBoxLayout())
|
QWidget(parent)
|
||||||
|
, m_layout(new QHBoxLayout())
|
||||||
{
|
{
|
||||||
for (int i= 0; i < Settings::getInstance()->getLayersNumber(); i++ ) {
|
for (int i= 0; i < Settings::getInstance()->getLayersNumber(); i++ ) {
|
||||||
AudioLayerWidget *alw = new AudioLayerWidget(this, i);
|
AudioLayerWidget *alw = new AudioLayerWidget(this, i);
|
||||||
m_layout->insertWidget(i, alw);
|
m_layout->insertWidget(i, alw);
|
||||||
connect(alw, SIGNAL(uiSliderChanged(int, Slider, int)), this, SLOT(uiSliderAction(int, Slider, int)));
|
connect(alw, SIGNAL(uiSliderChanged(int, Slider, int)), this, SIGNAL(uiSliderChanged(int, Slider, int)));
|
||||||
connect(alw, SIGNAL(uiPlaybackChanged(int, Status)), this, SLOT(uiChangePlaybackStatus(int, Status)));
|
connect(alw, SIGNAL(uiPlaybackChanged(int, Status)), this, SIGNAL(uiPlaybackChanged(int, Status)));
|
||||||
}
|
}
|
||||||
m_layout->setSpacing(0);
|
m_layout->setSpacing(0);
|
||||||
m_layout->setContentsMargins(0, 0, 0, 0);
|
m_layout->setContentsMargins(1, 1, 1, 1);
|
||||||
setLayout(m_layout);
|
setLayout(m_layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,22 +50,12 @@ void AudioWidget::cursorChanged(int layer, float cursor)
|
||||||
AudioLayerWidget *alw = dynamic_cast<AudioLayerWidget *>(item->widget());
|
AudioLayerWidget *alw = dynamic_cast<AudioLayerWidget *>(item->widget());
|
||||||
alw->refreshUi(cursor);
|
alw->refreshUi(cursor);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
void AudioWidget::uiSliderAction(int layer, Slider s, int value)
|
void AudioWidget::uiSliderAction(int layer, Slider s, float value)
|
||||||
{
|
{
|
||||||
switch (s){
|
emit uiSliderChanged(layer, s, value);
|
||||||
case Slider::Volume:
|
|
||||||
emit uiVolChanged(layer, value);
|
|
||||||
break;
|
|
||||||
case Slider::Pan:
|
|
||||||
emit uiPanChanged(layer, value);
|
|
||||||
break;
|
|
||||||
case Slider::Pitch:
|
|
||||||
emit uiPitchChanged(layer, value);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioWidget::uiChangePlaybackStatus(int layer, Status s) {
|
void AudioWidget::uiChangePlaybackStatus(int layer, Status s) {
|
||||||
emit uiPlaybackChanged(layer, s);
|
emit uiPlaybackChanged(layer, s);
|
||||||
}
|
}*/
|
||||||
|
|
|
@ -13,7 +13,7 @@ class AudioWidget : public QWidget
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AudioWidget();
|
AudioWidget(QWidget *parent = nullptr);
|
||||||
void mediaLoaded(int layer, QString media, float duration);
|
void mediaLoaded(int layer, QString media, float duration);
|
||||||
void volChanged(int layer, float vol);
|
void volChanged(int layer, float vol);
|
||||||
void panChanged(int layer, int pan);
|
void panChanged(int layer, int pan);
|
||||||
|
@ -21,18 +21,14 @@ public:
|
||||||
void playbackChanged(int layer, Status status);
|
void playbackChanged(int layer, Status status);
|
||||||
void cursorChanged(int layer, float cursor);
|
void cursorChanged(int layer, float cursor);
|
||||||
QHBoxLayout *m_layout;
|
QHBoxLayout *m_layout;
|
||||||
|
/*
|
||||||
public slots:
|
public slots:
|
||||||
void uiSliderAction(int layer, Slider s, int value);
|
void uiSliderAction(int layer, Slider s, float value);
|
||||||
void uiChangePlaybackStatus(int layer, Status s);
|
void uiChangePlaybackStatus(int layer, Status s);
|
||||||
|
*/
|
||||||
signals:
|
signals:
|
||||||
void uiMediaLoaded(int layer, QString media );
|
void uiPlaybackChanged(int layer, Status s);
|
||||||
void uiVolChanged(int layer, float vol);
|
void uiSliderChanged(int layer, Slider s, int vol);
|
||||||
void uiPanChanged(int layer, int pan);
|
|
||||||
void uiPitchChanged(int layer, int pitch);
|
|
||||||
void uiPlaybackChanged(int layer, Status status);
|
|
||||||
void uiEntryPointChanged(int layer, int cursor);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // AUDIOWIDGET_H
|
#endif // AUDIOWIDGET_H
|
||||||
|
|
|
@ -26,7 +26,7 @@ libreMediaServerAudioUi::libreMediaServerAudioUi(QWidget *parent)
|
||||||
{
|
{
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
this->setWindowTitle(VERSION);
|
this->setWindowTitle(VERSION);
|
||||||
m_aw = new AudioWidget;
|
m_aw = new AudioWidget(this);
|
||||||
setCentralWidget(m_aw);
|
setCentralWidget(m_aw);
|
||||||
m_dmxWidget = new dmxWidget(this);
|
m_dmxWidget = new dmxWidget(this);
|
||||||
QDockWidget *topWidget = new QDockWidget(tr("Master"), this);
|
QDockWidget *topWidget = new QDockWidget(tr("Master"), this);
|
||||||
|
|
|
@ -134,6 +134,28 @@ void libreMediaServerAudio::setUi(libreMediaServerAudioUi *lmsUi)
|
||||||
{
|
{
|
||||||
m_lmsUi = lmsUi;
|
m_lmsUi = lmsUi;
|
||||||
connect(m_ola, SIGNAL(universeReceived(int)), m_lmsUi->m_dmxWidget, SLOT(updateWatchDMX(int)));
|
connect(m_ola, SIGNAL(universeReceived(int)), m_lmsUi->m_dmxWidget, SLOT(updateWatchDMX(int)));
|
||||||
|
connect(m_lmsUi->m_aw, SIGNAL(uiSliderChanged(int, Slider, int)), this, SLOT(uiSliderChanged(int, Slider, int)));
|
||||||
|
connect(m_lmsUi->m_aw, SIGNAL(uiPlaybackChanged(int, Status)), this, SLOT(uiPlaybackChanged(int, Status)));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void libreMediaServerAudio::uiSliderChanged(int layer, Slider s, int value)
|
||||||
|
{
|
||||||
|
switch (s){
|
||||||
|
case Slider::Volume:
|
||||||
|
m_mae.volChanged(layer, float((value / 100.0f)));
|
||||||
|
break;
|
||||||
|
case Slider::Pan:
|
||||||
|
m_mae.panChanged(layer, value);
|
||||||
|
break;
|
||||||
|
case Slider::Pitch:
|
||||||
|
m_mae.pitchChanged(layer, value);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void libreMediaServerAudio::uiPlaybackChanged(int layer, Status s)
|
||||||
|
{
|
||||||
|
m_mae.playbackChanged(layer, s);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -54,6 +54,8 @@ private slots:
|
||||||
void dmxInput(int layer, int channel, int value);
|
void dmxInput(int layer, int channel, int value);
|
||||||
#ifndef NOGUI
|
#ifndef NOGUI
|
||||||
void refreshUi();
|
void refreshUi();
|
||||||
|
void uiSliderChanged(int layer, Slider s, int value);
|
||||||
|
void uiPlaybackChanged(int layer, Status s);
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,6 @@ class MediaLibrary : public QObject
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MediaLibrary(QObject *parent = 0);
|
MediaLibrary(QObject *parent = 0);
|
||||||
/**
|
|
||||||
* @brief request a new file from the media library
|
|
||||||
* @param int folder - the folder required
|
|
||||||
* @param int layer - file required
|
|
||||||
* @return QString the file required with full path
|
|
||||||
*/
|
|
||||||
QString requestNewFile(int folder, int layer);
|
QString requestNewFile(int folder, int layer);
|
||||||
void initMediaLibrary();
|
void initMediaLibrary();
|
||||||
|
|
||||||
|
|
|
@ -52,8 +52,6 @@ SliderGroup::SliderGroup(QString name,
|
||||||
void SliderGroup::sliderValueChanged(int value)
|
void SliderGroup::sliderValueChanged(int value)
|
||||||
{
|
{
|
||||||
valueBox->setValue(value);
|
valueBox->setValue(value);
|
||||||
if (valueBox->decimals() > 1)
|
|
||||||
value /= 100.0f;
|
|
||||||
emit valueChanged(value);
|
emit valueChanged(value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ public:
|
||||||
QWidget *parent = nullptr);
|
QWidget *parent = nullptr);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void valueChanged(float value);
|
void valueChanged(int value);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setValue(float value);
|
void setValue(float value);
|
||||||
|
|
Loading…
Add table
Reference in a new issue