annotate transform/Transform.cpp @ 20:742e6882e187

* 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 d86891498eef
children 39ae3dee27b9
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 A waveform viewer and audio annotation editor.
Chris@2 5 Chris Cannam, Queen Mary University of London, 2005-2006
Chris@0 6
Chris@0 7 This is experimental software. Not for distribution.
Chris@0 8 */
Chris@0 9
Chris@0 10 #include "Transform.h"
Chris@0 11
Chris@0 12 Transform::Transform(Model *m) :
Chris@0 13 m_input(m),
Chris@0 14 m_output(0),
Chris@0 15 m_detached(false),
Chris@0 16 m_deleting(false)
Chris@0 17 {
Chris@0 18 }
Chris@0 19
Chris@0 20 Transform::~Transform()
Chris@0 21 {
Chris@0 22 m_deleting = true;
Chris@0 23 wait();
Chris@0 24 if (!m_detached) delete m_output;
Chris@0 25 }
Chris@0 26