annotate base/NoteExportable.h @ 1671:82d03c9661f9 single-point

Rework isReady()/getCompletion() on models. Previously the new overhauled models were implementing getCompletion() but inheriting a version of isReady() (from the Model base) that didn't call it, referring only to isOK(). So they were reporting completion as soon as they had begun. Instead hoist getCompletion() to abstract base and call it from Model::isReady().
author Chris Cannam
date Wed, 27 Mar 2019 13:15:16 +0000
parents 7a23dfe65d66
children
rev   line source
Chris@1643 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@1643 2
Chris@1643 3 /*
Chris@1643 4 Sonic Visualiser
Chris@1643 5 An audio file viewer and annotation editor.
Chris@1643 6 Centre for Digital Music, Queen Mary, University of London.
Chris@1643 7
Chris@1643 8 This program is free software; you can redistribute it and/or
Chris@1643 9 modify it under the terms of the GNU General Public License as
Chris@1643 10 published by the Free Software Foundation; either version 2 of the
Chris@1643 11 License, or (at your option) any later version. See the file
Chris@1643 12 COPYING included with this distribution for more information.
Chris@1643 13 */
Chris@1643 14
Chris@1643 15 #ifndef SV_NOTE_EXPORTABLE_H
Chris@1643 16 #define SV_NOTE_EXPORTABLE_H
Chris@1643 17
Chris@1643 18 #include "NoteData.h"
Chris@1643 19
Chris@1643 20 class NoteExportable
Chris@1643 21 {
Chris@1643 22 public:
Chris@1643 23 /**
Chris@1643 24 * Get all notes in the exportable object.
Chris@1643 25 */
Chris@1643 26 virtual NoteList getNotes() const = 0;
Chris@1643 27
Chris@1643 28 /**
Chris@1643 29 * Get notes that are active at the given frame, i.e. that start
Chris@1643 30 * before or at this frame and have not ended by it.
Chris@1643 31 */
Chris@1643 32 virtual NoteList getNotesActiveAt(sv_frame_t frame) const = 0;
Chris@1643 33
Chris@1643 34 /**
Chris@1643 35 * Get notes that start within the range in frames defined by the
Chris@1643 36 * given start frame and duration.
Chris@1643 37 */
Chris@1643 38 virtual NoteList getNotesStartingWithin(sv_frame_t startFrame,
Chris@1643 39 sv_frame_t duration) const = 0;
Chris@1643 40 };
Chris@1643 41
Chris@1643 42 #endif