Varias mejoras. Incluido settingsdialog, pero no funcional
This commit is contained in:
parent
5612d10711
commit
90f3b093c0
12 changed files with 150 additions and 17 deletions
|
@ -102,7 +102,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name):
|
||||||
|
|
||||||
connect(m_watchDMX, SIGNAL(timeout()),
|
connect(m_watchDMX, SIGNAL(timeout()),
|
||||||
this, SLOT(watchDMXExpired()));
|
this, SLOT(watchDMXExpired()));
|
||||||
m_watchDMX->start(200);
|
m_watchDMX->start(123);
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioLayerWidget::~AudioLayerWidget()
|
AudioLayerWidget::~AudioLayerWidget()
|
||||||
|
@ -195,16 +195,12 @@ void AudioLayerWidget::stop()
|
||||||
|
|
||||||
void AudioLayerWidget::watchDMXExpired() {
|
void AudioLayerWidget::watchDMXExpired() {
|
||||||
m_receiveDMX->setChecked(false);
|
m_receiveDMX->setChecked(false);
|
||||||
}
|
|
||||||
|
|
||||||
void AudioLayerWidget::updateWatchDMX(bool b)
|
|
||||||
{
|
|
||||||
m_receiveDMX->setChecked(b);
|
|
||||||
switch (m_music.getStatus()) {
|
switch (m_music.getStatus()) {
|
||||||
case sf::SoundSource::Playing:
|
case sf::SoundSource::Playing:
|
||||||
m_progressMs += m_progressCounter->restart();
|
m_progressMs += m_progressCounter->restart();
|
||||||
m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs));
|
m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs));
|
||||||
m_statusValue->setText(PLAY_LABEL);
|
m_statusValue->setText(PLAY_LABEL);
|
||||||
|
m_progressSlider->setValue(m_progressMs);
|
||||||
break;
|
break;
|
||||||
case sf::SoundSource::Paused:
|
case sf::SoundSource::Paused:
|
||||||
m_statusValue->setText(PAUSE_LABEL);
|
m_statusValue->setText(PAUSE_LABEL);
|
||||||
|
@ -214,10 +210,16 @@ void AudioLayerWidget::updateWatchDMX(bool b)
|
||||||
m_progressMs = 0;
|
m_progressMs = 0;
|
||||||
m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs));
|
m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs));
|
||||||
m_statusValue->setText(STOP_LABEL);
|
m_statusValue->setText(STOP_LABEL);
|
||||||
|
m_progressSlider->setValue(m_progressMs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AudioLayerWidget::updateWatchDMX(bool b)
|
||||||
|
{
|
||||||
|
m_receiveDMX->setChecked(b);
|
||||||
|
}
|
||||||
|
|
||||||
void AudioLayerWidget::toggleSuspendResume()
|
void AudioLayerWidget::toggleSuspendResume()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ AudioWidget::AudioWidget(QWidget *parent) :
|
||||||
layout->insertWidget(i, new AudioLayerWidget(this, tr("Layer %1").arg(i)));
|
layout->insertWidget(i, new AudioLayerWidget(this, tr("Layer %1").arg(i)));
|
||||||
}
|
}
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
qDebug( "Init AudioWidget");
|
// qDebug( "Init AudioWidget");
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioWidget::mediaLoaded(int layer, QString media)
|
void AudioWidget::mediaLoaded(int layer, QString media)
|
||||||
|
|
|
@ -66,7 +66,7 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
||||||
connect(MediaLibrary::getInstance(), SIGNAL(warning(QString)),
|
connect(MediaLibrary::getInstance(), SIGNAL(warning(QString)),
|
||||||
textEdit, SLOT(append(QString)), Qt::QueuedConnection);
|
textEdit, SLOT(append(QString)), Qt::QueuedConnection);
|
||||||
*/
|
*/
|
||||||
// Inicia el widget Master. No implementado todavía
|
// Inicia el widget Master.
|
||||||
amw = new AudioMasterWidget(this);
|
amw = new AudioMasterWidget(this);
|
||||||
QDockWidget *topWidget = new QDockWidget(tr("Master"), this);
|
QDockWidget *topWidget = new QDockWidget(tr("Master"), this);
|
||||||
topWidget->setAllowedAreas(Qt::TopDockWidgetArea);
|
topWidget->setAllowedAreas(Qt::TopDockWidgetArea);
|
||||||
|
|
|
@ -3,8 +3,8 @@ TARGET = libremediaserver-audio
|
||||||
|
|
||||||
QT += webkitwidgets widgets
|
QT += webkitwidgets widgets
|
||||||
|
|
||||||
CONFIG += debug
|
CONFIG += release
|
||||||
DESTDIR = ./debug
|
DESTDIR = ./release
|
||||||
|
|
||||||
HEADERS += libremediaserver-audio.h \
|
HEADERS += libremediaserver-audio.h \
|
||||||
medialibrary.h \
|
medialibrary.h \
|
||||||
|
@ -14,7 +14,8 @@ HEADERS += libremediaserver-audio.h \
|
||||||
audiowidget.h \
|
audiowidget.h \
|
||||||
audiomasterwidget.h \
|
audiomasterwidget.h \
|
||||||
defines.h \
|
defines.h \
|
||||||
settings.h
|
settings.h \
|
||||||
|
settingsdialog.h
|
||||||
|
|
||||||
SOURCES += main.cpp \
|
SOURCES += main.cpp \
|
||||||
libremediaserver-audio.cpp \
|
libremediaserver-audio.cpp \
|
||||||
|
@ -23,7 +24,8 @@ SOURCES += main.cpp \
|
||||||
audiolayerwidget.cpp \
|
audiolayerwidget.cpp \
|
||||||
audiowidget.cpp \
|
audiowidget.cpp \
|
||||||
audiomasterwidget.cpp \
|
audiomasterwidget.cpp \
|
||||||
settings.cpp
|
settings.cpp \
|
||||||
|
settingsdialog.cpp
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
libremediaserver-audio.ui
|
libremediaserver-audio.ui
|
||||||
|
|
|
@ -83,8 +83,8 @@ void MessageHandler(QtMsgType type, const QMessageLogContext &context, const QSt
|
||||||
txt.append(context.file);
|
txt.append(context.file);
|
||||||
txt.append(" Line: ");
|
txt.append(" Line: ");
|
||||||
txt.append(QString::number(context.line));
|
txt.append(QString::number(context.line));
|
||||||
txt.append(" Function: ");
|
// txt.append(" Function: ");
|
||||||
txt.append(context.function);
|
// txt.append(context.function);
|
||||||
txt.append(" Message: ");
|
txt.append(" Message: ");
|
||||||
txt.append(msg);
|
txt.append(msg);
|
||||||
// libreMediaServerAudio::textEdit->append(msg);, context.file, context.line, context.function);
|
// libreMediaServerAudio::textEdit->append(msg);, context.file, context.line, context.function);
|
||||||
|
|
|
@ -17,7 +17,7 @@ MediaLibrary::MediaLibrary(QObject *parent) :
|
||||||
QObject(parent)
|
QObject(parent)
|
||||||
{
|
{
|
||||||
initMediaLibrary();
|
initMediaLibrary();
|
||||||
qDebug("Init MediaLibrary");
|
// qDebug("Init MediaLibrary");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Initializes the media library and the media information
|
/** Initializes the media library and the media information
|
||||||
|
|
|
@ -25,8 +25,8 @@ olaThread::olaThread(QObject *parent)
|
||||||
Q_CHECK_PTR(m_clientWrapper);
|
Q_CHECK_PTR(m_clientWrapper);
|
||||||
if (!m_clientWrapper->Setup()) { qErrnoWarning("olaThread::olaStart| Failed Setup() in Client Wrapper"); }
|
if (!m_clientWrapper->Setup()) { qErrnoWarning("olaThread::olaStart| Failed Setup() in Client Wrapper"); }
|
||||||
m_client = m_clientWrapper->GetClient();
|
m_client = m_clientWrapper->GetClient();
|
||||||
if (ola::InitLogging(ola::OLA_LOG_DEBUG , ola::OLA_LOG_STDERR)) {
|
if (ola::InitLogging(ola::OLA_LOG_INFO , ola::OLA_LOG_STDERR)) {
|
||||||
qDebug() << "Ola logging debug working";
|
qDebug() << "ola logging debug working";
|
||||||
} else {
|
} else {
|
||||||
qWarning() << "Can not init ola logging";
|
qWarning() << "Can not init ola logging";
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,16 @@ void olaThread::run()
|
||||||
emit toTerminal("Reading DMX");
|
emit toTerminal("Reading DMX");
|
||||||
m_clientWrapper->GetSelectServer()->Run();
|
m_clientWrapper->GetSelectServer()->Run();
|
||||||
}
|
}
|
||||||
|
QList<dmxSetting> olaThread::settings() const
|
||||||
|
{
|
||||||
|
return m_settings;
|
||||||
|
}
|
||||||
|
|
||||||
|
void olaThread::setSettings(const QList<dmxSetting> &settings)
|
||||||
|
{
|
||||||
|
m_settings = settings;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void olaThread::stop()
|
void olaThread::stop()
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,6 +42,13 @@ public:
|
||||||
|
|
||||||
void resendDmx();
|
void resendDmx();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
QList<dmxSetting> settings() const;
|
||||||
|
void setSettings(const QList<dmxSetting> &settings);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
void run ();
|
void run ();
|
||||||
|
|
|
@ -70,3 +70,27 @@ void Settings::readFromFile(QString file) {
|
||||||
void Settings::readDefaultFile() {
|
void Settings::readDefaultFile() {
|
||||||
readFromFile(DEFAULT_FILE);
|
readFromFile(DEFAULT_FILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Settings::writeFile(QString filename)
|
||||||
|
{
|
||||||
|
/* QFile* xmlFile = new QFile(filename);
|
||||||
|
if (!xmlFile->open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||||
|
QMessageBox::critical(NULL,"Load XML File Problem",
|
||||||
|
QString("Couldn't open %1 to load settings for olaInterface").arg(file),
|
||||||
|
QMessageBox::Ok);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QXmlStreamWriter* xmlWriter = new QXmlStreamWriter(xmlFile);
|
||||||
|
|
||||||
|
QXmlStreamWriter stream(&output);
|
||||||
|
stream.setAutoFormatting(true);
|
||||||
|
stream.writeStartDocument();
|
||||||
|
|
||||||
|
stream.writeStartElement("dmxSettings");
|
||||||
|
stream.writeAttribute("href", "http://qt.nokia.com/");
|
||||||
|
stream.writeTextElement("title", "Qt Home");
|
||||||
|
stream.writeEndElement();
|
||||||
|
|
||||||
|
stream.writeEndDocument();
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ public:
|
||||||
void readFromFile(QString file);
|
void readFromFile(QString file);
|
||||||
void readDefaultFile();
|
void readDefaultFile();
|
||||||
|
|
||||||
|
void writeFile(QString filename);
|
||||||
signals:
|
signals:
|
||||||
void pathChanged(QString path);
|
void pathChanged(QString path);
|
||||||
void layersNumber(int number);
|
void layersNumber(int number);
|
||||||
|
|
41
src/settingsdialog.cpp
Normal file
41
src/settingsdialog.cpp
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
#include "settingsdialog.h"
|
||||||
|
|
||||||
|
SettingsDialog::SettingsDialog(QWidget *parent) :
|
||||||
|
QWidget(parent)
|
||||||
|
{
|
||||||
|
QHBoxLayout *layout = new QHBoxLayout();
|
||||||
|
for (int i= 0; i < LAYERS_NUMBER; i++ ) {
|
||||||
|
layout->insertWidget(i, new SettingsLayerWidget(this, tr("Layer %1").arg(i)));
|
||||||
|
}
|
||||||
|
setLayout(layout);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Change Media path
|
||||||
|
void SettingsDialog::ChangeMediaPath()
|
||||||
|
{
|
||||||
|
QFileDialog dialog(this);
|
||||||
|
dialog.setFileMode(QFileDialog::Directory);
|
||||||
|
QStringList fileNames;
|
||||||
|
if (!dialog.exec())
|
||||||
|
return;
|
||||||
|
fileNames = dialog.selectedFiles();
|
||||||
|
QString file = fileNames.at(0);
|
||||||
|
MediaLibrary::getInstance()->setPath(file);
|
||||||
|
QString desc = tr("Media Path Changed to: %1").arg(file);
|
||||||
|
qDebug(desc.toLatin1().constData());
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialog::olasetup()
|
||||||
|
{
|
||||||
|
QWebView *view = new QWebView();
|
||||||
|
view->load(QUrl("http://localhost:9090/ola.html"));
|
||||||
|
view->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SettingsLayerWidget::SettingsLayerWidget(QWidget *parent, QString title)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
46
src/settingsdialog.h
Normal file
46
src/settingsdialog.h
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#ifndef SETTINGSDIALOG_H
|
||||||
|
#define SETTINGSDIALOG_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include "defines.h"
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QComboBox>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QCheckBox>
|
||||||
|
#include <QWebView>
|
||||||
|
#include <QFileDialog>
|
||||||
|
|
||||||
|
#include "medialibrary.h"
|
||||||
|
|
||||||
|
class SettingsDialog : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit SettingsDialog(QWidget *parent = 0);
|
||||||
|
|
||||||
|
void ChangeMediaPath();
|
||||||
|
void olasetup();
|
||||||
|
signals:
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
|
||||||
|
private:
|
||||||
|
QLabel m_path;
|
||||||
|
QPushButton m_changePathToMedias;
|
||||||
|
QPushButton m_olaSetup;
|
||||||
|
};
|
||||||
|
|
||||||
|
class SettingsLayerWidget : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit SettingsLayerWidget(QWidget *parent = 0, QString title = "layer");
|
||||||
|
|
||||||
|
private:
|
||||||
|
QComboBox m_universe;
|
||||||
|
QComboBox m_address;
|
||||||
|
signals:
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SETTINGSDIALOG_H
|
Loading…
Add table
Reference in a new issue