[Sv1-commits] SF.net SVN: sv1:[1598] sonic-visualiser/trunk
Brought to you by:
cannam
From: <ca...@us...> - 2009-08-14 14:01:23
|
Revision: 1598 http://sv1.svn.sourceforge.net/sv1/?rev=1598&view=rev Author: cannam Date: 2009-08-14 14:01:09 +0000 (Fri, 14 Aug 2009) Log Message: ----------- * Fix crash on exit on win32. This was caused by incorrectly using fftw_free() to free the string returned from fftw_export_wisdom_to_string(), instead of plain free(). * Various debug artifacts related to tracking down the above Modified Paths: -------------- sonic-visualiser/trunk/audioio/AudioCallbackPlaySource.cpp sonic-visualiser/trunk/audioio/AudioGenerator.cpp sonic-visualiser/trunk/audioio/AudioPortAudioTarget.cpp sonic-visualiser/trunk/framework/MainWindowBase.cpp sonic-visualiser/trunk/sv/main/MainWindow.cpp sonic-visualiser/trunk/sv/main/main.cpp sonic-visualiser/trunk/transform/TransformFactory.cpp Modified: sonic-visualiser/trunk/audioio/AudioCallbackPlaySource.cpp =================================================================== --- sonic-visualiser/trunk/audioio/AudioCallbackPlaySource.cpp 2009-08-05 16:36:07 UTC (rev 1597) +++ sonic-visualiser/trunk/audioio/AudioCallbackPlaySource.cpp 2009-08-14 14:01:09 UTC (rev 1598) @@ -99,6 +99,9 @@ AudioCallbackPlaySource::~AudioCallbackPlaySource() { +#ifdef DEBUG_AUDIO_PLAY_SOURCE + std::cerr << "AudioCallbackPlaySource::~AudioCallbackPlaySource entering" << std::endl; +#endif m_exiting = true; if (m_fillThread) { @@ -128,6 +131,9 @@ m_bufferScavenger.scavenge(true); m_pluginScavenger.scavenge(true); +#ifdef DEBUG_AUDIO_PLAY_SOURCE + std::cerr << "AudioCallbackPlaySource::~AudioCallbackPlaySource finishing" << std::endl; +#endif } void Modified: sonic-visualiser/trunk/audioio/AudioGenerator.cpp =================================================================== --- sonic-visualiser/trunk/audioio/AudioGenerator.cpp 2009-08-05 16:36:07 UTC (rev 1597) +++ sonic-visualiser/trunk/audioio/AudioGenerator.cpp 2009-08-14 14:01:09 UTC (rev 1598) @@ -65,6 +65,9 @@ AudioGenerator::~AudioGenerator() { +#ifdef DEBUG_AUDIO_GENERATOR + std::cerr << "AudioGenerator::~AudioGenerator" << std::endl; +#endif } void Modified: sonic-visualiser/trunk/audioio/AudioPortAudioTarget.cpp =================================================================== --- sonic-visualiser/trunk/audioio/AudioPortAudioTarget.cpp 2009-08-05 16:36:07 UTC (rev 1597) +++ sonic-visualiser/trunk/audioio/AudioPortAudioTarget.cpp 2009-08-14 14:01:09 UTC (rev 1598) @@ -141,6 +141,9 @@ void AudioPortAudioTarget::shutdown() { +#ifdef DEBUG_PORT_AUDIO_TARGET + std::cerr << "AudioPortAudioTarget::shutdown" << std::endl; +#endif m_done = true; } @@ -181,10 +184,15 @@ PaStreamCallbackFlags) { #ifdef DEBUG_AUDIO_PORT_AUDIO_TARGET - std::cout << "AudioPortAudioTarget::process(" << nframes << ")" << std::endl; + std::cerr << "AudioPortAudioTarget::process(" << nframes << ")" << std::endl; #endif - if (!m_source || m_done) return 0; + if (!m_source || m_done) { +#ifdef DEBUG_AUDIO_PORT_AUDIO_TARGET + std::cerr << "AudioPortAudioTarget::process: Doing nothing, no source or application done" << std::endl; +#endif + return 0; + } float *output = (float *)outputBuffer; Modified: sonic-visualiser/trunk/framework/MainWindowBase.cpp =================================================================== --- sonic-visualiser/trunk/framework/MainWindowBase.cpp 2009-08-05 16:36:07 UTC (rev 1597) +++ sonic-visualiser/trunk/framework/MainWindowBase.cpp 2009-08-14 14:01:09 UTC (rev 1598) @@ -230,6 +230,7 @@ MainWindowBase::~MainWindowBase() { + std::cerr << "MainWindowBase::~MainWindowBase" << std::endl; if (m_playTarget) m_playTarget->shutdown(); // delete m_playTarget; delete m_playSource; Modified: sonic-visualiser/trunk/sv/main/MainWindow.cpp =================================================================== --- sonic-visualiser/trunk/sv/main/MainWindow.cpp 2009-08-05 16:36:07 UTC (rev 1597) +++ sonic-visualiser/trunk/sv/main/MainWindow.cpp 2009-08-14 14:01:09 UTC (rev 1598) @@ -296,10 +296,12 @@ MainWindow::~MainWindow() { +// std::cerr << "MainWindow::~MainWindow" << std::endl; delete m_keyReference; delete m_preferencesDialog; delete m_layerTreeDialog; Profiles::getInstance()->dump(); +// std::cerr << "MainWindow::~MainWindow finishing" << std::endl; } void Modified: sonic-visualiser/trunk/sv/main/main.cpp =================================================================== --- sonic-visualiser/trunk/sv/main/main.cpp 2009-08-05 16:36:07 UTC (rev 1597) +++ sonic-visualiser/trunk/sv/main/main.cpp 2009-08-14 14:01:09 UTC (rev 1598) @@ -431,9 +431,9 @@ gui->hide(); cleanupMutex.lock(); + TransformFactory::deleteInstance(); TempDirectory::getInstance()->cleanup(); - application.releaseMainWindow(); #ifdef HAVE_FFTW3F @@ -441,13 +441,13 @@ char *cwisdom = fftwf_export_wisdom_to_string(); if (cwisdom) { settings.setValue("wisdom", cwisdom); - fftwf_free(cwisdom); + free(cwisdom); } #ifdef HAVE_FFTW3 cwisdom = fftw_export_wisdom_to_string(); if (cwisdom) { settings.setValue("wisdom_d", cwisdom); - fftw_free(cwisdom); + free(cwisdom); } #endif settings.endGroup(); Modified: sonic-visualiser/trunk/transform/TransformFactory.cpp =================================================================== --- sonic-visualiser/trunk/transform/TransformFactory.cpp 2009-08-05 16:36:07 UTC (rev 1597) +++ sonic-visualiser/trunk/transform/TransformFactory.cpp 2009-08-14 14:01:09 UTC (rev 1598) @@ -69,9 +69,14 @@ { m_exiting = true; if (m_thread) { +#ifdef DEBUG_TRANSFORM_FACTORY std::cerr << "TransformFactory::~TransformFactory: waiting on thread" << std::endl; +#endif m_thread->wait(); delete m_thread; +#ifdef DEBUG_TRANSFORM_FACTORY + std::cerr << "TransformFactory::~TransformFactory: waited and done" << std::endl; +#endif } } @@ -107,14 +112,18 @@ std::set<TransformDescription> dset; for (TransformDescriptionMap::const_iterator i = m_transforms.begin(); i != m_transforms.end(); ++i) { -// cerr << "inserting transform into set: id = " << i->second.identifier.toStdString() << endl; +#ifdef DEBUG_TRANSFORM_FACTORY + cerr << "inserting transform into set: id = " << i->second.identifier.toStdString() << endl; +#endif dset.insert(i->second); } TransformList list; for (std::set<TransformDescription>::const_iterator i = dset.begin(); i != dset.end(); ++i) { -// cerr << "inserting transform into list: id = " << i->identifier.toStdString() << endl; +#ifdef DEBUG_TRANSFORM_FACTORY + cerr << "inserting transform into list: id = " << i->identifier.toStdString() << endl; +#endif list.push_back(*i); } @@ -149,14 +158,18 @@ std::set<TransformDescription> dset; for (TransformDescriptionMap::const_iterator i = m_uninstalledTransforms.begin(); i != m_uninstalledTransforms.end(); ++i) { -// cerr << "inserting transform into set: id = " << i->second.identifier.toStdString() << endl; +#ifdef DEBUG_TRANSFORM_FACTORY + cerr << "inserting transform into set: id = " << i->second.identifier.toStdString() << endl; +#endif dset.insert(i->second); } TransformList list; for (std::set<TransformDescription>::const_iterator i = dset.begin(); i != dset.end(); ++i) { -// cerr << "inserting transform into uninstalled list: id = " << i->identifier.toStdString() << endl; +#ifdef DEBUG_TRANSFORM_FACTORY + cerr << "inserting transform into uninstalled list: id = " << i->identifier.toStdString() << endl; +#endif list.push_back(*i); } @@ -464,7 +477,9 @@ bool configurable = (!plugin->getPrograms().empty() || !plugin->getParameterDescriptors().empty()); -// cerr << "Feature extraction plugin transform: " << transformId.toStdString() << " friendly name: " << friendlyName.toStdString() << endl; +#ifdef DEBUG_TRANSFORM_FACTORY + cerr << "Feature extraction plugin transform: " << transformId.toStdString() << " friendly name: " << friendlyName.toStdString() << endl; +#endif transforms[transformId] = TransformDescription(TransformDescription::Analysis, @@ -642,12 +657,14 @@ PluginRDFDescription desc(*i); QString name = desc.getPluginName(); -// if (name == "") { -// std::cerr << "TransformFactory::populateUninstalledTransforms: " -// << "No name available for plugin " << i->toStdString() -// << ", skipping" << std::endl; -// continue; -// } +#ifdef DEBUG_TRANSFORM_FACTORY + if (name == "") { + std::cerr << "TransformFactory::populateUninstalledTransforms: " + << "No name available for plugin " << i->toStdString() + << ", skipping" << std::endl; + continue; + } +#endif QString description = desc.getPluginDescription(); QString maker = desc.getPluginMaker(); @@ -660,8 +677,10 @@ TransformId tid = Transform::getIdentifierForPluginOutput(*i, *j); if (m_transforms.find(tid) != m_transforms.end()) { -// std::cerr << "TransformFactory::populateUninstalledTransforms: " -// << tid.toStdString() << " is installed; adding info url if appropriate, skipping rest" << std::endl; +#ifdef DEBUG_TRANSFORM_FACTORY + std::cerr << "TransformFactory::populateUninstalledTransforms: " + << tid.toStdString() << " is installed; adding info url if appropriate, skipping rest" << std::endl; +#endif if (infoUrl != "") { if (m_transforms[tid].infoUrl == "") { m_transforms[tid].infoUrl = infoUrl; @@ -670,8 +689,10 @@ continue; } -// std::cerr << "TransformFactory::populateUninstalledTransforms: " -// << "adding " << tid.toStdString() << std::endl; +#ifdef DEBUG_TRANSFORM_FACTORY + std::cerr << "TransformFactory::populateUninstalledTransforms: " + << "adding " << tid.toStdString() << std::endl; +#endif QString oname = desc.getOutputName(*j); if (oname == "") oname = *j; @@ -723,7 +744,9 @@ m_uninstalledTransformsPopulated = true; +#ifdef DEBUG_TRANSFORM_FACTORY std::cerr << "populateUninstalledTransforms exiting" << std::endl; +#endif } Transform This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |