funcionando multidispositivo, cada capa se patchea a un dispositivo de

audio.
This commit is contained in:
snt 2024-05-10 21:04:26 +02:00
parent 103a33820e
commit 8c69da5f9d
7 changed files with 38 additions and 37 deletions

View file

@ -26,6 +26,7 @@ libreMediaServerAudio::libreMediaServerAudio()
m_settings = Settings::getInstance();
m_settings->readFile();
m_ui = m_settings->getShowUi();
m_dmxSettings = m_settings->getDmxSettings();
m_mediaLibrary = new MediaLibrary;
m_mediaLibrary->initMediaLibrary();
for (int i = 0; i < MAX_LAYERS; i++) {
@ -42,7 +43,10 @@ libreMediaServerAudio::libreMediaServerAudio()
Q_CHECK_PTR(m_ola);
m_ola->blockSignals(true);
m_ola->registerUniverse();
m_mae.startEngine(m_settings->getAudioDeviceId());
m_mae.startEngine();
uint *audioDevList = m_settings->getAudioDeviceId();
for (uint i = 0; i < m_settings->getAudioDeviceQty(); i++)
m_mae.startDevice(audioDevList[i], i);
qDebug("Core init Complete. Start reading DMX.");
m_ola->blockSignals(false);
#ifdef NOGUI
@ -62,7 +66,7 @@ void libreMediaServerAudio::loadMedia(int layer, int folder, int file)
if (strcmp(mediaFile.toLatin1().constData(), m_currentMedia[layer].toLatin1().constData()) == 0)
return;
if (QFile::exists(mediaFile)){
m_mae.loadMedia(layer, mediaFile.toLatin1().data());
m_mae.loadMedia(layer, mediaFile.toLatin1().data(), m_dmxSettings.at(layer).audioDevice);
m_currentMedia[layer] = mediaFile;
#ifndef NOGUI
if (m_ui)
@ -247,7 +251,7 @@ void libreMediaServerAudio::uiLoadMedia(int layer, QString mediaFile)
if (strcmp(mediaFile.toLatin1().constData(), m_currentMedia[layer].toLatin1().constData()) == 0)
return;
result = m_mae.loadMedia(layer, mediaFile.toLatin1().data());
result = m_mae.loadMedia(layer, mediaFile.toLatin1().data(), m_dmxSettings[layer].audioDevice);
if (result == MA_SUCCESS) {
m_currentMedia[layer] = mediaFile;
m_lmsUi->m_aw->mediaLoaded(layer, mediaFile, m_mae.getDuration(layer));