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()),
|
||||
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()
|
||||
{
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<dmxSetting> olaThread::settings() const
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
void olaThread::setSettings(const QList<dmxSetting> &settings)
|
||||
{
|
||||
m_settings = settings;
|
||||
}
|
||||
|
||||
|
||||
void olaThread::stop()
|
||||
{
|
||||
|
|
|
@ -42,6 +42,13 @@ public:
|
|||
|
||||
void resendDmx();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
QList<dmxSetting> settings() const;
|
||||
void setSettings(const QList<dmxSetting> &settings);
|
||||
|
||||
private:
|
||||
|
||||
void run ();
|
||||
|
|
|
@ -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();
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ public:
|
|||
void readFromFile(QString file);
|
||||
void readDefaultFile();
|
||||
|
||||
void writeFile(QString filename);
|
||||
signals:
|
||||
void pathChanged(QString path);
|
||||
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