Varias mejoras. Incluido settingsdialog, pero no funcional

This commit is contained in:
santi 2014-08-13 21:47:28 +02:00
parent 5612d10711
commit 90f3b093c0
12 changed files with 150 additions and 17 deletions

View file

@ -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()
{ {

View file

@ -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)

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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()
{ {

View file

@ -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 ();

View file

@ -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();
*/
}

View file

@ -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
View 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
View 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