Fixed sigsev on exit
On AudioMotor destructor
This commit is contained in:
parent
061f58aee4
commit
747f5d4af6
4 changed files with 30 additions and 29 deletions
|
@ -1,5 +1,5 @@
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<dmxSettings fileVersion="1" layersNumber="3" path="/home/santi/lo_que_vio_el_mayordomo/sound" universeNumber="1">
|
<dmxSettings fileVersion="1" layersNumber="3" path="/home/santi/audio" universeNumber="1">
|
||||||
<layer0 dmx="1" universe="1" />
|
<layer0 dmx="1" universe="1" />
|
||||||
<layer1 dmx="21" universe="1" />
|
<layer1 dmx="21" universe="1" />
|
||||||
<layer2 dmx="41" universe="1" />
|
<layer2 dmx="41" universe="1" />
|
||||||
|
|
|
@ -98,7 +98,7 @@ void AudioMotor::close()
|
||||||
// disconnect(m_pd_audio, SIGNAL(readyReadStandardError()), this, SLOT(stdout()));
|
// disconnect(m_pd_audio, SIGNAL(readyReadStandardError()), this, SLOT(stdout()));
|
||||||
disconnect(m_pd_audio, SIGNAL(finished(int)), this, SLOT(restartAudio()));
|
disconnect(m_pd_audio, SIGNAL(finished(int)), this, SLOT(restartAudio()));
|
||||||
|
|
||||||
if (!m_pd_audio->waitForFinished(1000))
|
// if (!m_pd_audio->waitForFinished(1000))
|
||||||
m_pd_audio->terminate();
|
m_pd_audio->terminate();
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,14 +109,14 @@ void AudioMotor::close()
|
||||||
// delete m_writePD;
|
// delete m_writePD;
|
||||||
// m_writePD = NULL;
|
// m_writePD = NULL;
|
||||||
}
|
}
|
||||||
/* if (m_readPD != NULL)
|
if (m_readPD != NULL)
|
||||||
{
|
{
|
||||||
disconnect(m_readPD, SIGNAL(newConnection()),this, SLOT(newPeer()));
|
disconnect(m_readPD, SIGNAL(newConnection()),this, SLOT(newPeer()));
|
||||||
m_readPD->close();
|
m_readPD->close();
|
||||||
delete m_readPD;
|
delete m_readPD;
|
||||||
m_readPD = NULL;
|
m_readPD = NULL;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
QFile socket(SOCKET);
|
QFile socket(SOCKET);
|
||||||
if (socket.exists())
|
if (socket.exists())
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,22 +57,6 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
||||||
topWidget->setWidget(amw);
|
topWidget->setWidget(amw);
|
||||||
addDockWidget(Qt::TopDockWidgetArea, topWidget);
|
addDockWidget(Qt::TopDockWidgetArea, topWidget);
|
||||||
|
|
||||||
// Parse the command line options
|
|
||||||
if (args.contains("-gui"))
|
|
||||||
{
|
|
||||||
qDebug()<< "libremediaserver Constructor option GUI detected";
|
|
||||||
AudioMotor::getInstance()->setGui(true);
|
|
||||||
textEdit->append("Pure Data GUI's will be shown");
|
|
||||||
} else { AudioMotor::getInstance()->setGui(false); }
|
|
||||||
|
|
||||||
connect(AudioMotor::getInstance(), SIGNAL(toTerminal(QString)),
|
|
||||||
this, SLOT(toTerminal(QString)));
|
|
||||||
|
|
||||||
if (args.contains("-log"))
|
|
||||||
{
|
|
||||||
textEdit->append("Logging to file");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Conectamos los menus
|
// Conectamos los menus
|
||||||
connect(ui.actionOpen_conf, SIGNAL(triggered()), this, SLOT(openFile()));
|
connect(ui.actionOpen_conf, SIGNAL(triggered()), this, SLOT(openFile()));
|
||||||
connect(ui.actionSave_conf, SIGNAL(triggered()), this, SLOT(saveFile()));
|
connect(ui.actionSave_conf, SIGNAL(triggered()), this, SLOT(saveFile()));
|
||||||
|
@ -96,11 +80,31 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
||||||
ola, SLOT( setDMXConf(dmxSetting) ) );
|
ola, SLOT( setDMXConf(dmxSetting) ) );
|
||||||
|
|
||||||
// Lee la configuración por defecto
|
// Lee la configuración por defecto
|
||||||
while (!set->readDefaultFile()) {
|
if (!set->readDefaultFile()) {
|
||||||
// Dar la oportunidad de cargar otro fichero de configuración
|
// Dar la oportunidad de cargar otro fichero de configuración
|
||||||
// Crear el fichero por defecto.
|
// Crear el fichero por defecto.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Parse the command line options
|
||||||
|
if (args.contains("-gui"))
|
||||||
|
{
|
||||||
|
qDebug()<< "libremediaserver Constructor option GUI detected";
|
||||||
|
AudioMotor::getInstance()->setGui(true);
|
||||||
|
textEdit->append("Pure Data GUI's will be shown");
|
||||||
|
} else { AudioMotor::getInstance()->setGui(false); }
|
||||||
|
|
||||||
|
connect(AudioMotor::getInstance(), SIGNAL(toTerminal(QString)),
|
||||||
|
this, SLOT(toTerminal(QString)));
|
||||||
|
|
||||||
|
if (args.contains("-log"))
|
||||||
|
{
|
||||||
|
textEdit->append("Logging to file");
|
||||||
|
}
|
||||||
|
|
||||||
// Iniciamos Pure Data
|
// Iniciamos Pure Data
|
||||||
|
connect(AudioMotor::getInstance(), SIGNAL(loadbang()),
|
||||||
|
this, SLOT (loadbang()));
|
||||||
|
|
||||||
AudioMotor::getInstance()->init();
|
AudioMotor::getInstance()->init();
|
||||||
|
|
||||||
connect(AudioMotor::getInstance(), SIGNAL(mediaLoaded(int, QString, QString)),
|
connect(AudioMotor::getInstance(), SIGNAL(mediaLoaded(int, QString, QString)),
|
||||||
|
@ -109,9 +113,6 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
||||||
connect(AudioMotor::getInstance(), SIGNAL(volChanged(int, int)),
|
connect(AudioMotor::getInstance(), SIGNAL(volChanged(int, int)),
|
||||||
aw, SLOT(volChanged(int, int)));
|
aw, SLOT(volChanged(int, int)));
|
||||||
|
|
||||||
connect(AudioMotor::getInstance(), SIGNAL(loadbang()),
|
|
||||||
this, SLOT (loadbang()));
|
|
||||||
|
|
||||||
connect(ola, SIGNAL( dmxOutput(int, int, int) ),
|
connect(ola, SIGNAL( dmxOutput(int, int, int) ),
|
||||||
this, SLOT( dmxInput(int, int, int) ) );
|
this, SLOT( dmxInput(int, int, int) ) );
|
||||||
|
|
||||||
|
@ -128,13 +129,13 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
||||||
libreMediaServerAudio::~libreMediaServerAudio()
|
libreMediaServerAudio::~libreMediaServerAudio()
|
||||||
{
|
{
|
||||||
// save_finish();
|
// save_finish();
|
||||||
delete MediaLibrary::getInstance();
|
// delete MediaLibrary::getInstance();
|
||||||
ola->stop();
|
ola->stop();
|
||||||
AudioMotor::getInstance()->close();
|
AudioMotor::getInstance()->close();
|
||||||
// qDebug() << "PD Audio restarts: " << m_startaudio;
|
// qDebug() << "PD Audio restarts: " << m_startaudio;
|
||||||
qDebug() << QDate::currentDate() << QTime::currentTime();
|
qDebug() << QDate::currentDate() << QTime::currentTime();
|
||||||
qDebug() << "********************************************************************************";
|
qDebug() << "********************************************************************************";
|
||||||
return;
|
// return;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -14,10 +14,10 @@ MediaLibrary *MediaLibrary::getInstance() {
|
||||||
|
|
||||||
MediaLibrary::MediaLibrary(QObject *parent) :
|
MediaLibrary::MediaLibrary(QObject *parent) :
|
||||||
QObject(parent)
|
QObject(parent)
|
||||||
,m_media(new QList<MediaFolder>)
|
// ,m_media(new QList<MediaFolder>)
|
||||||
, m_pathmedia()
|
, m_pathmedia()
|
||||||
{
|
{
|
||||||
initMediaLibrary();
|
// initMediaLibrary();
|
||||||
qDebug("Init MediaLibrary");
|
qDebug("Init MediaLibrary");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ void MediaLibrary::initMediaLibrary() {
|
||||||
qWarning(m_pathmedia.toAscii().constData());
|
qWarning(m_pathmedia.toAscii().constData());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// m_media = new QList<MediaFolder>;
|
m_media = new QList<MediaFolder>;
|
||||||
dir.setFilter(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot);
|
dir.setFilter(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot);
|
||||||
QFileInfoList filelist = dir.entryInfoList();
|
QFileInfoList filelist = dir.entryInfoList();
|
||||||
dir.setFilter(QDir::Files);
|
dir.setFilter(QDir::Files);
|
||||||
|
|
Loading…
Add table
Reference in a new issue