mejor rendimiento

This commit is contained in:
snt 2024-05-05 17:36:20 +02:00
parent 246a8a2f98
commit d34b972a54
11 changed files with 47 additions and 48 deletions

View file

@ -40,16 +40,9 @@ libreMediaServerAudio::libreMediaServerAudio(bool gui)
connect(m_ola, SIGNAL(dmxOutput(int, int, int)), this, SLOT(dmxInput(int, int, int)));
m_ola->registerUniverse();
m_mae.startEngine(set->getAudioDeviceId());
qDebug("Init Complete.");
qDebug("Core init Complete. Start reading DMX.");
m_ola->blockSignals(false);
m_ola->start(QThread::TimeCriticalPriority );
#ifndef NOGUI
if (m_ui) {
m_refreshUi = new QTimer(this);
connect(m_refreshUi, SIGNAL(timeout()), this, SLOT(refreshUi()));
m_refreshUi->start(UI_REFRESH_TIME);
}
#endif
}
libreMediaServerAudio::~libreMediaServerAudio()
@ -73,7 +66,7 @@ void libreMediaServerAudio::dmxInput(int layer, int channel, int value)
if (QFile::exists(mediaFile)){
m_mae.loadMedia(layer, mediaFile.toLatin1().data());
m_currentMedia[layer] = mediaFile;
#ifndef NOGIO
#ifndef NOGUI
if (m_ui)
m_lmsUi->m_aw->mediaLoaded(layer, mediaFile, m_mae.getDuration(layer));
#endif
@ -82,7 +75,7 @@ void libreMediaServerAudio::dmxInput(int layer, int channel, int value)
} else if (channel == VOLUME_COARSE || channel == VOLUME_FINE) {
float tmp = value / 65025.0f;
m_mae.volChanged(layer, tmp);
m_updateUi[layer][0] = tmp * 100;
m_updateUi[layer][0] = tmp * 100.0f;
} else if (channel == PAN) {
m_mae.panChanged(layer, value);
m_updateUi[layer][1] = value;
@ -98,21 +91,19 @@ void libreMediaServerAudio::dmxInput(int layer, int channel, int value)
} else if (channel == PLAYBACK && value > 0) {
aux = value / 25;
Status s = m_currentStatus[layer];
if (s != aux) {
if (aux == 0)
s = Status::PlayingOnce;
else if (aux == 1)
s = Status::Stopped;
else if (aux == 2)
s = Status::Paused;
else if (aux == 3)
s = Status::PlayingLoop;
m_mae.playbackChanged(layer, s);
m_currentStatus[layer] = s;
if (aux == 0)
s = Status::PlayingOnce;
else if (aux == 1)
s = Status::Stopped;
else if (aux == 2)
s = Status::Paused;
else if (aux == 3)
s = Status::PlayingLoop;
m_mae.playbackChanged(layer, s);
m_currentStatus[layer] = s;
#ifndef NOGUI
if (m_ui) m_lmsUi->m_aw->playbackChanged(layer, s);
if (m_ui) m_lmsUi->m_aw->playbackChanged(layer, s);
#endif
}
}
}
@ -136,6 +127,7 @@ void libreMediaServerAudio::refreshUi() {
m_lmsUi->m_aw->pitchChanged(i, m_updateUi[i][2]);
m_updateUi[i][2] = -1;
}
//m_lmsUi->m_aw->playbackChanged(i, m_currentStatus[i]);
}
}
@ -146,6 +138,9 @@ void libreMediaServerAudio::setUi(libreMediaServerAudioUi *lmsUi)
connect(m_lmsUi->m_aw, SIGNAL(uiSliderChanged(int, Slider, int)), this, SLOT(uiSliderChanged(int, Slider, int)));
connect(m_lmsUi->m_aw, SIGNAL(uiPlaybackChanged(int, Status)), this, SLOT(uiPlaybackChanged(int, Status)));
connect(m_lmsUi->m_aw, SIGNAL(uiLoadMedia(int, QString)), this, SLOT(uiLoadMedia(int, QString)));
m_refreshUi = new QTimer(this);
connect(m_refreshUi, SIGNAL(timeout()), this, SLOT(refreshUi()));
m_refreshUi->start(UI_REFRESH_TIME);
};
void libreMediaServerAudio::uiSliderChanged(int layer, Slider s, int value)
@ -166,6 +161,7 @@ void libreMediaServerAudio::uiSliderChanged(int layer, Slider s, int value)
void libreMediaServerAudio::uiPlaybackChanged(int layer, Status s)
{
m_mae.playbackChanged(layer, s);
m_currentStatus[layer] = s;
}
void libreMediaServerAudio::uiLoadMedia(int layer, QString s)