annotate base/NoteExportable.h @ 1879:652c5360e682

Ensure transforms are populated before instantiateDefaultPluginFor runs - otherwise if we have prior knowledge of a transform id, we can find ourselves trying to instantiate it before the plugin factory has heard of it and e.g. knows which server to use
author Chris Cannam
date Thu, 25 Jun 2020 12:20:06 +0100
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