From 90f3b093c0eaaaadd06b2f5da8e9d2f0e52b72e5 Mon Sep 17 00:00:00 2001 From: santi Date: Wed, 13 Aug 2014 21:47:28 +0200 Subject: [PATCH] Varias mejoras. Incluido settingsdialog, pero no funcional --- src/audiolayerwidget.cpp | 14 ++++++----- src/audiowidget.cpp | 2 +- src/libremediaserver-audio.cpp | 2 +- src/libremediaserver-audio.pro | 10 +++++--- src/main.cpp | 4 +-- src/medialibrary.cpp | 2 +- src/olathread.cpp | 14 +++++++++-- src/olathread.h | 7 ++++++ src/settings.cpp | 24 ++++++++++++++++++ src/settings.h | 1 + src/settingsdialog.cpp | 41 ++++++++++++++++++++++++++++++ src/settingsdialog.h | 46 ++++++++++++++++++++++++++++++++++ 12 files changed, 150 insertions(+), 17 deletions(-) create mode 100644 src/settingsdialog.cpp create mode 100644 src/settingsdialog.h diff --git a/src/audiolayerwidget.cpp b/src/audiolayerwidget.cpp index 2c98d42..ee8dc6d 100644 --- a/src/audiolayerwidget.cpp +++ b/src/audiolayerwidget.cpp @@ -102,7 +102,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name): connect(m_watchDMX, SIGNAL(timeout()), this, SLOT(watchDMXExpired())); - m_watchDMX->start(200); + m_watchDMX->start(123); } AudioLayerWidget::~AudioLayerWidget() @@ -195,16 +195,12 @@ void AudioLayerWidget::stop() void AudioLayerWidget::watchDMXExpired() { m_receiveDMX->setChecked(false); -} - -void AudioLayerWidget::updateWatchDMX(bool b) -{ - m_receiveDMX->setChecked(b); switch (m_music.getStatus()) { case sf::SoundSource::Playing: m_progressMs += m_progressCounter->restart(); m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs)); m_statusValue->setText(PLAY_LABEL); + m_progressSlider->setValue(m_progressMs); break; case sf::SoundSource::Paused: m_statusValue->setText(PAUSE_LABEL); @@ -214,10 +210,16 @@ void AudioLayerWidget::updateWatchDMX(bool b) m_progressMs = 0; m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs)); m_statusValue->setText(STOP_LABEL); + m_progressSlider->setValue(m_progressMs); break; } } +void AudioLayerWidget::updateWatchDMX(bool b) +{ + m_receiveDMX->setChecked(b); +} + void AudioLayerWidget::toggleSuspendResume() { diff --git a/src/audiowidget.cpp b/src/audiowidget.cpp index e56ee75..7bef0f1 100644 --- a/src/audiowidget.cpp +++ b/src/audiowidget.cpp @@ -9,7 +9,7 @@ AudioWidget::AudioWidget(QWidget *parent) : layout->insertWidget(i, new AudioLayerWidget(this, tr("Layer %1").arg(i))); } setLayout(layout); - qDebug( "Init AudioWidget"); +// qDebug( "Init AudioWidget"); } void AudioWidget::mediaLoaded(int layer, QString media) diff --git a/src/libremediaserver-audio.cpp b/src/libremediaserver-audio.cpp index 3f844c6..32503c2 100755 --- a/src/libremediaserver-audio.cpp +++ b/src/libremediaserver-audio.cpp @@ -66,7 +66,7 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent) connect(MediaLibrary::getInstance(), SIGNAL(warning(QString)), textEdit, SLOT(append(QString)), Qt::QueuedConnection); */ - // Inicia el widget Master. No implementado todavĂ­a + // Inicia el widget Master. amw = new AudioMasterWidget(this); QDockWidget *topWidget = new QDockWidget(tr("Master"), this); topWidget->setAllowedAreas(Qt::TopDockWidgetArea); diff --git a/src/libremediaserver-audio.pro b/src/libremediaserver-audio.pro index 8e4b44c..205ca43 100755 --- a/src/libremediaserver-audio.pro +++ b/src/libremediaserver-audio.pro @@ -3,8 +3,8 @@ TARGET = libremediaserver-audio QT += webkitwidgets widgets -CONFIG += debug -DESTDIR = ./debug +CONFIG += release +DESTDIR = ./release HEADERS += libremediaserver-audio.h \ medialibrary.h \ @@ -14,7 +14,8 @@ HEADERS += libremediaserver-audio.h \ audiowidget.h \ audiomasterwidget.h \ defines.h \ - settings.h + settings.h \ + settingsdialog.h SOURCES += main.cpp \ libremediaserver-audio.cpp \ @@ -23,7 +24,8 @@ SOURCES += main.cpp \ audiolayerwidget.cpp \ audiowidget.cpp \ audiomasterwidget.cpp \ - settings.cpp + settings.cpp \ + settingsdialog.cpp FORMS += \ libremediaserver-audio.ui diff --git a/src/main.cpp b/src/main.cpp index 89fa504..51795fe 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -83,8 +83,8 @@ void MessageHandler(QtMsgType type, const QMessageLogContext &context, const QSt txt.append(context.file); txt.append(" Line: "); txt.append(QString::number(context.line)); - txt.append(" Function: "); - txt.append(context.function); +// txt.append(" Function: "); +// txt.append(context.function); txt.append(" Message: "); txt.append(msg); // libreMediaServerAudio::textEdit->append(msg);, context.file, context.line, context.function); diff --git a/src/medialibrary.cpp b/src/medialibrary.cpp index e0dc89d..1aebfe7 100644 --- a/src/medialibrary.cpp +++ b/src/medialibrary.cpp @@ -17,7 +17,7 @@ MediaLibrary::MediaLibrary(QObject *parent) : QObject(parent) { initMediaLibrary(); - qDebug("Init MediaLibrary"); +// qDebug("Init MediaLibrary"); } /** Initializes the media library and the media information diff --git a/src/olathread.cpp b/src/olathread.cpp index 0172c35..7f50636 100644 --- a/src/olathread.cpp +++ b/src/olathread.cpp @@ -25,8 +25,8 @@ olaThread::olaThread(QObject *parent) Q_CHECK_PTR(m_clientWrapper); if (!m_clientWrapper->Setup()) { qErrnoWarning("olaThread::olaStart| Failed Setup() in Client Wrapper"); } m_client = m_clientWrapper->GetClient(); - if (ola::InitLogging(ola::OLA_LOG_DEBUG , ola::OLA_LOG_STDERR)) { - qDebug() << "Ola logging debug working"; + if (ola::InitLogging(ola::OLA_LOG_INFO , ola::OLA_LOG_STDERR)) { + qDebug() << "ola logging debug working"; } else { qWarning() << "Can not init ola logging"; } @@ -49,6 +49,16 @@ void olaThread::run() emit toTerminal("Reading DMX"); m_clientWrapper->GetSelectServer()->Run(); } +QList olaThread::settings() const +{ + return m_settings; +} + +void olaThread::setSettings(const QList &settings) +{ + m_settings = settings; +} + void olaThread::stop() { diff --git a/src/olathread.h b/src/olathread.h index 17cc59d..700c121 100644 --- a/src/olathread.h +++ b/src/olathread.h @@ -42,6 +42,13 @@ public: void resendDmx(); + + + + + QList settings() const; + void setSettings(const QList &settings); + private: void run (); diff --git a/src/settings.cpp b/src/settings.cpp index ff2bc10..b5c5b8c 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -70,3 +70,27 @@ void Settings::readFromFile(QString file) { void Settings::readDefaultFile() { 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(); +*/ +} diff --git a/src/settings.h b/src/settings.h index fd4a489..431965f 100644 --- a/src/settings.h +++ b/src/settings.h @@ -18,6 +18,7 @@ public: void readFromFile(QString file); void readDefaultFile(); + void writeFile(QString filename); signals: void pathChanged(QString path); void layersNumber(int number); diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp new file mode 100644 index 0000000..62e03cd --- /dev/null +++ b/src/settingsdialog.cpp @@ -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) +{ + + +} + diff --git a/src/settingsdialog.h b/src/settingsdialog.h new file mode 100644 index 0000000..bacca6c --- /dev/null +++ b/src/settingsdialog.h @@ -0,0 +1,46 @@ +#ifndef SETTINGSDIALOG_H +#define SETTINGSDIALOG_H + +#include +#include "defines.h" +#include +#include +#include +#include +#include +#include +#include + +#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