diff --git a/src/audiolayerwidget.cpp b/src/audiolayerwidget.cpp index ee8dc6d..f71e192 100644 --- a/src/audiolayerwidget.cpp +++ b/src/audiolayerwidget.cpp @@ -7,14 +7,14 @@ #include #include -#include // nanosleep y la chapuza de liberar el buffer +//#include // nanosleep y la chapuza de liberar el buffer AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name): QGroupBox(parent) , m_suspendResumeButton(0) , m_watchDMX(new QTimer(this)) - , m_progressCounter(new QTime(0,0,0,1)) - , m_progressMs(0) +// , m_progressCounter(new QTime(0,0,0,1)) +// , m_progressMs(0) , m_currentMedia(" ") , m_running(false) { @@ -26,9 +26,9 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name): m_statusLabel = new QLabel; m_statusLabel->setText(STATUS_LABEL); m_statusValue = new QLabel; - m_receiveDMX = new QCheckBox("Receiving DMX", this); - m_receiveDMX->setChecked(false); - status->addWidget(m_receiveDMX); +// m_receiveDMX = new QCheckBox("Receiving DMX", this); +// m_receiveDMX->setChecked(false); +// status->addWidget(m_receiveDMX); status->addWidget(m_statusLabel); status->addWidget(m_statusValue); layout->addLayout(status); @@ -37,7 +37,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name): m_folderLabel = new QLabel; m_folderLabel->setText(FOLDER_LABEL); m_folderValue = new QLabel; - m_folderValue->setMaximumWidth(250); + m_folderValue->setMaximumWidth(200); folderLoaded->addWidget(m_folderLabel); folderLoaded->addWidget(m_folderValue); layout->addLayout(folderLoaded); @@ -46,7 +46,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name): m_fileLabel = new QLabel; m_fileLabel->setText(FILE_LABEL); m_fileValue = new QLabel; - m_fileValue->setMaximumWidth(250); + m_fileValue->setMaximumWidth(200); fileLoaded->addWidget(m_fileLabel); fileLoaded->addWidget(m_fileValue); layout->addLayout(fileLoaded); @@ -102,7 +102,7 @@ AudioLayerWidget::AudioLayerWidget(QWidget *parent, QString name): connect(m_watchDMX, SIGNAL(timeout()), this, SLOT(watchDMXExpired())); - m_watchDMX->start(123); + m_watchDMX->start(243); } AudioLayerWidget::~AudioLayerWidget() @@ -141,7 +141,7 @@ void AudioLayerWidget::loadMedia(QString file) } m_music.setAttenuation(0); - m_progressCounter->restart(); +// m_progressCounter->restart(); durationChanged(m_music.getDuration().asMilliseconds()); fileLoaded(file); @@ -160,15 +160,15 @@ void AudioLayerWidget::fileLoaded(QString file) m_folderValue->setText(list.at(size - 2)); m_fileValue->setText(list.at(size - 1)); } - m_progressMs = 0; - m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs)); +// m_progressMs = 0; +// m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs)); } - +/* void AudioLayerWidget::notified() { } - +*/ // duration in miliseconds void AudioLayerWidget::durationChanged(qint64 dur) { @@ -179,13 +179,13 @@ void AudioLayerWidget::durationChanged(qint64 dur) void AudioLayerWidget::play() { m_music.play(); - m_progressCounter->restart(); +// m_progressCounter->restart(); } void AudioLayerWidget::pause() { m_music.pause(); - m_progressCounter->restart(); +// m_progressCounter->restart(); } void AudioLayerWidget::stop() @@ -194,34 +194,45 @@ void AudioLayerWidget::stop() } void AudioLayerWidget::watchDMXExpired() { - m_receiveDMX->setChecked(false); +// m_receiveDMX->setChecked(false); + int progress; switch (m_music.getStatus()) { case sf::SoundSource::Playing: - m_progressMs += m_progressCounter->restart(); - m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs)); +// m_progressMs += m_progressCounter->restart(); + progress = m_music.getPlayingOffset().asMilliseconds(); + m_progressSlider->setValue(progress); + m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(progress)); m_statusValue->setText(PLAY_LABEL); - m_progressSlider->setValue(m_progressMs); + m_suspendResumeButton->setText(tr(PLAY_LABEL)); break; case sf::SoundSource::Paused: m_statusValue->setText(PAUSE_LABEL); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); break; case sf::SoundSource::Stopped: - m_progressCounter->restart(); - m_progressMs = 0; - m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(m_progressMs)); +// m_progressCounter->restart(); +// m_progressMs = 0; + m_progressTime->setTime(QTime::fromMSecsSinceStartOfDay(0)); m_statusValue->setText(STOP_LABEL); - m_progressSlider->setValue(m_progressMs); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); + m_progressSlider->setValue(0); break; } } - +/* void AudioLayerWidget::updateWatchDMX(bool b) { - m_receiveDMX->setChecked(b); +// m_receiveDMX->setChecked(b); } - +*/ void AudioLayerWidget::toggleSuspendResume() { - + if (m_music.getStatus() == sf::SoundSource::Playing) { + m_music.pause(); +// m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); + } else { + m_music.play(); +// m_suspendResumeButton->setText(tr(PLAY_LABEL)); + } } diff --git a/src/audiolayerwidget.h b/src/audiolayerwidget.h index 7244495..0668db8 100644 --- a/src/audiolayerwidget.h +++ b/src/audiolayerwidget.h @@ -32,7 +32,7 @@ public: void pause(); void setVol(qreal vol); void resume(); - void updateWatchDMX(bool b); +// void updateWatchDMX(bool b); public slots: @@ -66,8 +66,8 @@ private: QCheckBox *m_receiveDMX; QTimer *m_watchDMX; - QTime *m_progressCounter; - quint64 m_progressMs; +// QTime *m_progressCounter; +// quint64 m_progressMs; QString m_currentMedia; @@ -76,7 +76,7 @@ private: sf::Music m_music; private slots: - void notified(); +// void notified(); void fileLoaded(QString file); void durationChanged(qint64 dur); void watchDMXExpired(); diff --git a/src/audiomasterwidget.cpp b/src/audiomasterwidget.cpp index 96c195a..69671f9 100644 --- a/src/audiomasterwidget.cpp +++ b/src/audiomasterwidget.cpp @@ -38,3 +38,4 @@ void AudioMasterWidget::updateWatchDMX() { m_receiveDMX->setChecked(true); } + diff --git a/src/audiowidget.cpp b/src/audiowidget.cpp index 7bef0f1..cf99e8b 100644 --- a/src/audiowidget.cpp +++ b/src/audiowidget.cpp @@ -42,9 +42,9 @@ void AudioWidget::playbackChanged(int layer, Status status) break; } } - +/* void AudioWidget::layerReceived(int layer) { QLayoutItem * const item = layout->itemAt(layer); dynamic_cast(item->widget())->updateWatchDMX(true); -} +}*/ diff --git a/src/audiowidget.h b/src/audiowidget.h index ce999d5..dae0a80 100644 --- a/src/audiowidget.h +++ b/src/audiowidget.h @@ -26,7 +26,7 @@ public slots: void mediaLoaded(int layer, QString media ); void volChanged(int layer, qreal vol); void playbackChanged(int layer, Status status); - void layerReceived(int layer); +// void layerReceived(int layer); }; #endif // AUDIOWIDGET_H diff --git a/src/libremediaserver-audio.cpp b/src/libremediaserver-audio.cpp index 32503c2..5aad52a 100755 --- a/src/libremediaserver-audio.cpp +++ b/src/libremediaserver-audio.cpp @@ -18,7 +18,7 @@ */ #include "libremediaserver-audio.h" -QTextEdit * libreMediaServerAudio::textEdit = 0; +// QTextEdit * libreMediaServerAudio::textEdit = 0; /** / Constructor @@ -33,7 +33,7 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent) // Inicia la lectura de dmx a través de ola ola = new olaThread(); Q_CHECK_PTR(ola); - +/* if (args.contains("-log")) { // Inicia el widget Terminal textEdit = new QTextEdit; @@ -44,7 +44,16 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent) addDockWidget(Qt::BottomDockWidgetArea, bottomWidget); connect(ola, SIGNAL(toTerminal(QString)), textEdit, SLOT(append(QString)), Qt::QueuedConnection); - } + }*/ + + /* connect(MediaLibrary::getInstance(), SIGNAL(debug(QString)), + textEdit, SLOT(append(QString)), Qt::QueuedConnection); + + connect(MediaLibrary::getInstance(), SIGNAL(warning(QString)), + textEdit, SLOT(append(QString)), Qt::QueuedConnection); + */ + + this->setWindowTitle(VERSION); // qDebug() << QDate::currentDate().toString() << " "<< QTime::currentTime().toString(); @@ -60,12 +69,6 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent) ola->blockSignals(true); ola->start(QThread::TimeCriticalPriority ); -/* connect(MediaLibrary::getInstance(), SIGNAL(debug(QString)), - textEdit, SLOT(append(QString)), Qt::QueuedConnection); - - connect(MediaLibrary::getInstance(), SIGNAL(warning(QString)), - textEdit, SLOT(append(QString)), Qt::QueuedConnection); -*/ // Inicia el widget Master. amw = new AudioMasterWidget(this); QDockWidget *topWidget = new QDockWidget(tr("Master"), this); @@ -85,8 +88,8 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent) ola, SLOT( setLayersNumber(int))); connect(set, SIGNAL( DMXConf(dmxSetting ) ), ola, SLOT( setDMXConf(dmxSetting) ) ); - connect(ola, SIGNAL (layerReceived(int)), - aw, SLOT(layerReceived(int))); + connect(ola, SIGNAL (layerReceived()), + amw, SLOT(updateWatchDMX())); // Lee la configuración por defecto set->readDefaultFile(); @@ -224,7 +227,7 @@ void libreMediaServerAudio::dmxInput(int layer, int channel, int value) /** * Send the DMX info to Pure Data in init * - */ + * void libreMediaServerAudio::loadbang() { ola->resendDmx(); -} +}*/ diff --git a/src/libremediaserver-audio.h b/src/libremediaserver-audio.h index d59d7d1..5d90eff 100755 --- a/src/libremediaserver-audio.h +++ b/src/libremediaserver-audio.h @@ -26,7 +26,7 @@ #include #include #include -#include +//#include #include #include @@ -51,7 +51,7 @@ public: Ui::LibreMediaServerAudio ui; - static QTextEdit *textEdit; // Terminal de feedback +// static QTextEdit *textEdit; // Terminal de feedback protected: @@ -74,11 +74,7 @@ public slots: private slots: - /** - * @brief loadbang The audio motor engine is setup. Resend the dmx info to maintain aupdated to the current state - */ - - void loadbang(); +// void loadbang(); void olasetup(); void dmxInput(int layer, int channel, int value); diff --git a/src/main.cpp b/src/main.cpp index 51795fe..3e370d0 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -19,16 +19,16 @@ */ #include -#include -#include +//#include +//#include #include "libremediaserver-audio.h" // Handler for pipe the stderr to a log file and texEdit -bool initMessageHandler = false; -QFile outFile; -QMutex mutex; +//bool initMessageHandler = false; +//QFile outFile; +//QMutex mutex; //QMutexLocker mutexLocker(mutex); - +/* void MessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) { Q_UNUSED(context); @@ -56,7 +56,7 @@ void MessageHandler(QtMsgType type, const QMessageLogContext &context, const QSt initMessageHandler = true; } QTextStream ts(&outFile);*/ - if (libreMediaServerAudio::textEdit == 0) +/* if (libreMediaServerAudio::textEdit == 0) { QByteArray localMsg = msg.toLocal8Bit(); switch (type) { @@ -134,7 +134,7 @@ void MessageHandler(QtMsgType type, const QMessageLogContext &context, const QSt // libreMediaServerAudio::textEdit->append(txt); } // mutex.unlock(); -} +}*/ int main(int argc, char *argv[]) { @@ -145,7 +145,7 @@ int main(int argc, char *argv[]) { qInstallMessageHandler(MessageHandler); }*/ - qInstallMessageHandler(MessageHandler); +// qInstallMessageHandler(MessageHandler); QApplication app(argc, argv); QStringList args = app.arguments(); diff --git a/src/olathread.cpp b/src/olathread.cpp index 7f50636..7dd97eb 100644 --- a/src/olathread.cpp +++ b/src/olathread.cpp @@ -88,11 +88,11 @@ void olaThread::NewDmx(const ola::client::DMXMetadata &data, m_counter++; gettimeofday(&m_last_data, NULL); uint universe = data.universe; + emit layerReceived(); for (int i = 0; i < m_layersNumber; i++) { // loop for reading the channels by layer. if(m_settings.at(i).universe == universe) { // Compare if the layer is from this universe if ( m_settings.at(i).address > -1 ) { // AND if the DMX address is 0 or greater, process this layer. - emit layerReceived(i); - for (int j = 0; j < LAYER_CHANNELS; j++){ + for (int j = 0; j < LAYER_CHANNELS; j++){ int value = buffer.Get((m_settings.at(i).address) + j); // Get the value for this channel. if (m_dmx[i][j] != value) { // Compare the new value with the old value. emit dmxOutput(i,j,value); diff --git a/src/olathread.h b/src/olathread.h index 700c121..5155448 100644 --- a/src/olathread.h +++ b/src/olathread.h @@ -100,7 +100,7 @@ signals: void finished(); // Signal for closing. Not used now. void dmxOutput(int layer, int channel, int value); // Signal when a channel has changed void toTerminal(QString message); - void layerReceived(int i); + void layerReceived(); }; using namespace ola;