comparison data/osc/OSCQueue.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 32e50b620a6c
children d7f3dfe6f9a4
comparison
equal deleted inserted replaced
407:88ad01799040 408:115f60df1e4d
17 Rosegarden MIDI and audio sequencer and notation editor. 17 Rosegarden MIDI and audio sequencer and notation editor.
18 This file copyright 2000-2006 Chris Cannam and QMUL. 18 This file copyright 2000-2006 Chris Cannam and QMUL.
19 */ 19 */
20 20
21 #include "OSCQueue.h" 21 #include "OSCQueue.h"
22
23 #include "base/Profiler.h"
22 24
23 #include <iostream> 25 #include <iostream>
24 26
25 #define OSC_MESSAGE_QUEUE_SIZE 1023 27 #define OSC_MESSAGE_QUEUE_SIZE 1023
26 28
89 #ifdef HAVE_LIBLO 91 #ifdef HAVE_LIBLO
90 m_thread(0), 92 m_thread(0),
91 #endif 93 #endif
92 m_buffer(OSC_MESSAGE_QUEUE_SIZE) 94 m_buffer(OSC_MESSAGE_QUEUE_SIZE)
93 { 95 {
96 Profiler profiler("OSCQueue::OSCQueue");
97
94 #ifdef HAVE_LIBLO 98 #ifdef HAVE_LIBLO
95 m_thread = lo_server_thread_new(NULL, oscError); 99 m_thread = lo_server_thread_new(NULL, oscError);
96 100
97 lo_server_thread_add_method(m_thread, NULL, NULL, 101 lo_server_thread_add_method(m_thread, NULL, NULL,
98 oscMessageHandler, this); 102 oscMessageHandler, this);