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'?>
|
||||
<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" />
|
||||
<layer1 dmx="21" 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(finished(int)), this, SLOT(restartAudio()));
|
||||
|
||||
if (!m_pd_audio->waitForFinished(1000))
|
||||
// if (!m_pd_audio->waitForFinished(1000))
|
||||
m_pd_audio->terminate();
|
||||
|
||||
|
||||
|
@ -109,14 +109,14 @@ void AudioMotor::close()
|
|||
// delete m_writePD;
|
||||
// m_writePD = NULL;
|
||||
}
|
||||
/* if (m_readPD != NULL)
|
||||
if (m_readPD != NULL)
|
||||
{
|
||||
disconnect(m_readPD, SIGNAL(newConnection()),this, SLOT(newPeer()));
|
||||
m_readPD->close();
|
||||
delete m_readPD;
|
||||
m_readPD = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
QFile socket(SOCKET);
|
||||
if (socket.exists())
|
||||
{
|
||||
|
|
|
@ -57,22 +57,6 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
|||
topWidget->setWidget(amw);
|
||||
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
|
||||
connect(ui.actionOpen_conf, SIGNAL(triggered()), this, SLOT(openFile()));
|
||||
connect(ui.actionSave_conf, SIGNAL(triggered()), this, SLOT(saveFile()));
|
||||
|
@ -96,11 +80,31 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
|||
ola, SLOT( setDMXConf(dmxSetting) ) );
|
||||
|
||||
// Lee la configuración por defecto
|
||||
while (!set->readDefaultFile()) {
|
||||
if (!set->readDefaultFile()) {
|
||||
// Dar la oportunidad de cargar otro fichero de configuración
|
||||
// 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
|
||||
connect(AudioMotor::getInstance(), SIGNAL(loadbang()),
|
||||
this, SLOT (loadbang()));
|
||||
|
||||
AudioMotor::getInstance()->init();
|
||||
|
||||
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)),
|
||||
aw, SLOT(volChanged(int, int)));
|
||||
|
||||
connect(AudioMotor::getInstance(), SIGNAL(loadbang()),
|
||||
this, SLOT (loadbang()));
|
||||
|
||||
connect(ola, SIGNAL( dmxOutput(int, int, int) ),
|
||||
this, SLOT( dmxInput(int, int, int) ) );
|
||||
|
||||
|
@ -128,13 +129,13 @@ libreMediaServerAudio::libreMediaServerAudio(QStringList args, QWidget *parent)
|
|||
libreMediaServerAudio::~libreMediaServerAudio()
|
||||
{
|
||||
// save_finish();
|
||||
delete MediaLibrary::getInstance();
|
||||
// delete MediaLibrary::getInstance();
|
||||
ola->stop();
|
||||
AudioMotor::getInstance()->close();
|
||||
// qDebug() << "PD Audio restarts: " << m_startaudio;
|
||||
qDebug() << QDate::currentDate() << QTime::currentTime();
|
||||
qDebug() << "********************************************************************************";
|
||||
return;
|
||||
// return;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -14,10 +14,10 @@ MediaLibrary *MediaLibrary::getInstance() {
|
|||
|
||||
MediaLibrary::MediaLibrary(QObject *parent) :
|
||||
QObject(parent)
|
||||
,m_media(new QList<MediaFolder>)
|
||||
// ,m_media(new QList<MediaFolder>)
|
||||
, m_pathmedia()
|
||||
{
|
||||
initMediaLibrary();
|
||||
// initMediaLibrary();
|
||||
qDebug("Init MediaLibrary");
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ void MediaLibrary::initMediaLibrary() {
|
|||
qWarning(m_pathmedia.toAscii().constData());
|
||||
return;
|
||||
}
|
||||
// m_media = new QList<MediaFolder>;
|
||||
m_media = new QList<MediaFolder>;
|
||||
dir.setFilter(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot);
|
||||
QFileInfoList filelist = dir.entryInfoList();
|
||||
dir.setFilter(QDir::Files);
|
||||
|
|
Loading…
Add table
Reference in a new issue