diff audioio/AudioGenerator.h @ 8:24b500216029

* Refactor sparse models. Previously the 1D and time-value models duplicated a lot of code; now there is a base class (SparseModel) templated on the stored point type, and the subclasses define point types with the necessary characteristics. * Add NoteModel, a new SparseModel subclass. * Reorganise local feature description display. Instead of asking the layer to draw its own, just query it for a textual description and draw that in Pane. Greatly simplifies this part of the layer code. * Add local feature descriptions to colour 3D plot and waveform layers. * Add pitch in MIDI-pitch-and-cents to spectrogram layer. * Give AudioGenerator its own mutex to shorten lock times in CallbackPlaySource. * Minor adjustments to layers menu &c
author Chris Cannam
date Thu, 02 Feb 2006 16:10:19 +0000
parents 5865094175ea
children b6dc944128da
line wrap: on
line diff
--- a/audioio/AudioGenerator.h	Mon Jan 30 17:51:56 2006 +0000
+++ b/audioio/AudioGenerator.h	Thu Feb 02 16:10:19 2006 +0000
@@ -16,6 +16,8 @@
 class SparseOneDimensionalModel;
 class RealTimePluginInstance;
 
+#include <QMutex>
+
 #include <set>
 #include <map>
 
@@ -88,6 +90,7 @@
     typedef std::set<NoteOff, NoteOff::Comparator> NoteOffSet;
     typedef std::map<SparseOneDimensionalModel *, NoteOffSet> NoteOffMap;
 
+    QMutex m_mutex;
     PluginMap m_synthMap;
     NoteOffMap m_noteOffs;