diff plugin/LADSPAPluginFactory.cpp @ 408:115f60df1e4d

* Speed up spectrogram painting by releasing mutex in FFTDataServer while calculating data prior to writing it, and by adding whole-column value query methods to FFT objects * Add paint cache to Thumbwheel -- repaints of this widget were slowing down the whole spectrogram repaint * More uses of MutexLocker (named and with debug) and more profile points * Make startup much quicker some of the time, with OSC server in place
author Chris Cannam
date Thu, 08 May 2008 14:46:22 +0000
parents b92513201610
children b4a8d8221eaf
line wrap: on
line diff
--- a/plugin/LADSPAPluginFactory.cpp	Tue Apr 29 15:34:17 2008 +0000
+++ b/plugin/LADSPAPluginFactory.cpp	Thu May 08 14:46:22 2008 +0000
@@ -32,6 +32,7 @@
 
 #include "system/System.h"
 #include "base/Preferences.h"
+#include "base/Profiler.h"
 
 //#define DEBUG_LADSPA_PLUGIN_FACTORY 1
 
@@ -71,6 +72,8 @@
 void
 LADSPAPluginFactory::enumeratePlugins(std::vector<QString> &list)
 {
+    Profiler profiler("LADSPAPluginFactory::enumeratePlugins");
+
     for (std::vector<QString>::iterator i = m_identifiers.begin();
 	 i != m_identifiers.end(); ++i) {
 
@@ -332,6 +335,8 @@
 				       unsigned int blockSize,
 				       unsigned int channels)
 {
+    Profiler profiler("LADSPAPluginFactory::instantiatePlugin");
+
     const LADSPA_Descriptor *descriptor = getLADSPADescriptor(identifier);
 
     if (descriptor) {
@@ -358,6 +363,8 @@
 LADSPAPluginFactory::releasePlugin(RealTimePluginInstance *instance,
 				   QString identifier)
 {
+    Profiler profiler("LADSPAPluginFactory::releasePlugin");
+
     if (m_instances.find(instance) == m_instances.end()) {
 	std::cerr << "WARNING: LADSPAPluginFactory::releasePlugin: Not one of mine!"
 		  << std::endl;
@@ -622,6 +629,8 @@
 void
 LADSPAPluginFactory::discoverPlugins()
 {
+    Profiler profiler("LADSPAPluginFactory::discoverPlugins");
+
     std::vector<QString> pathList = getPluginPath();
 
 //    std::cerr << "LADSPAPluginFactory::discoverPlugins - "