annotate view/AlignmentView.h @ 1212:a1ee3108d1d3 3.0-integration

Make the colour 3d plot renderer able to support more than one level of peak cache; introduce a second "peak" cache for the spectrogram layer that actually has a 1-1 column relationship with the underlying FFT model, and use it in addition to the existing peak cache if memory is plentiful. Makes spectrograms appear much faster in many common situations.
author Chris Cannam
date Thu, 05 Jan 2017 14:02:54 +0000
parents f2c63ec85901
children 57d192e26331
rev   line source
Chris@867 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@867 2
Chris@867 3 /*
Chris@867 4 Sonic Visualiser
Chris@867 5 An audio file viewer and annotation editor.
Chris@867 6 Centre for Digital Music, Queen Mary, University of London.
Chris@867 7 This file copyright 2006-2014 Chris Cannam and QMUL.
Chris@867 8
Chris@867 9 This program is free software; you can redistribute it and/or
Chris@867 10 modify it under the terms of the GNU General Public License as
Chris@867 11 published by the Free Software Foundation; either version 2 of the
Chris@867 12 License, or (at your option) any later version. See the file
Chris@867 13 COPYING included with this distribution for more information.
Chris@867 14 */
Chris@867 15
Chris@867 16 #ifndef ALIGNMENT_VIEW_H
Chris@867 17 #define ALIGNMENT_VIEW_H
Chris@867 18
Chris@867 19 #include "View.h"
Chris@867 20
Chris@867 21 class AlignmentView : public View
Chris@867 22 {
Chris@867 23 Q_OBJECT
Chris@867 24
Chris@867 25 public:
Chris@867 26 AlignmentView(QWidget *parent = 0);
Chris@867 27 virtual QString getPropertyContainerIconName() const { return "alignment"; }
Chris@867 28
Chris@867 29 void setViewAbove(View *view);
Chris@867 30 void setViewBelow(View *view);
Chris@867 31
Chris@867 32 public slots:
Chris@976 33 virtual void globalCentreFrameChanged(sv_frame_t);
Chris@976 34 virtual void viewCentreFrameChanged(View *, sv_frame_t);
Chris@867 35 virtual void viewAboveZoomLevelChanged(int, bool);
Chris@867 36 virtual void viewBelowZoomLevelChanged(int, bool);
Chris@976 37 virtual void viewManagerPlaybackFrameChanged(sv_frame_t);
Chris@867 38
Chris@867 39 protected:
Chris@867 40 virtual void paintEvent(QPaintEvent *e);
Chris@867 41 virtual bool shouldLabelSelections() const { return false; }
Chris@867 42
Chris@976 43 std::vector<sv_frame_t> getKeyFrames();
Chris@976 44 std::vector<sv_frame_t> getDefaultKeyFrames();
Chris@868 45
Chris@867 46 View *m_above;
Chris@867 47 View *m_below;
Chris@867 48 };
Chris@867 49
Chris@867 50 #endif