Mercurial > hg > svapp
diff framework/MainWindowBase.h @ 113:0c1ea5ff6518
* 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 | 2dd30a7cd21a |
children | 74dd55646f52 |
line wrap: on
line diff
--- a/framework/MainWindowBase.h Wed Apr 30 16:58:19 2008 +0000 +++ b/framework/MainWindowBase.h Thu May 08 14:46:22 2008 +0000 @@ -21,6 +21,7 @@ #include <QUrl> #include <QMainWindow> #include <QPointer> +#include <QThread> #include "base/Command.h" #include "view/ViewManager.h" @@ -31,6 +32,7 @@ #include "SVFileReader.h" #include "widgets/FileFinder.h" #include "data/fileio/FileSource.h" +#include "data/osc/OSCQueue.h" #include <map> class Document; @@ -52,7 +54,6 @@ class PreferencesDialog; class QTreeView; class QPushButton; -class OSCQueue; class OSCMessage; class KeyReference; class Labeller; @@ -238,6 +239,7 @@ virtual void paneDropAccepted(Pane *, QString) = 0; virtual void paneDeleteButtonClicked(Pane *); + virtual void oscReady(); virtual void pollOSC(); virtual void handleOSCMessage(const OSCMessage &) = 0; @@ -260,7 +262,20 @@ AudioCallbackPlaySource *m_playSource; AudioCallbackPlayTarget *m_playTarget; + class OSCQueueStarter : public QThread + { + public: + OSCQueueStarter(MainWindowBase *mwb) : QThread(mwb), m_mwb(mwb) { } + virtual void run() { + OSCQueue *queue = new OSCQueue(); // can take a long time + m_mwb->m_oscQueue = queue; + } + private: + MainWindowBase *m_mwb; + }; + OSCQueue *m_oscQueue; + OSCQueueStarter *m_oscQueueStarter; RecentFiles m_recentFiles; RecentFiles m_recentTransforms;