Chris@297
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
Chris@297
|
2
|
Chris@297
|
3 /*
|
Chris@297
|
4 Sonic Visualiser
|
Chris@297
|
5 An audio file viewer and annotation editor.
|
Chris@297
|
6 Centre for Digital Music, Queen Mary, University of London.
|
Chris@297
|
7 This file copyright 2007 QMUL.
|
Chris@297
|
8
|
Chris@297
|
9 This program is free software; you can redistribute it and/or
|
Chris@297
|
10 modify it under the terms of the GNU General Public License as
|
Chris@297
|
11 published by the Free Software Foundation; either version 2 of the
|
Chris@297
|
12 License, or (at your option) any later version. See the file
|
Chris@297
|
13 COPYING included with this distribution for more information.
|
Chris@297
|
14 */
|
Chris@297
|
15
|
Chris@297
|
16 #include "RangeSummarisableTimeValueModel.h"
|
Chris@297
|
17
|
Chris@297
|
18 #include "AlignmentModel.h"
|
Chris@297
|
19
|
Chris@297
|
20 #include <iostream>
|
Chris@297
|
21
|
Chris@297
|
22 void
|
Chris@297
|
23 RangeSummarisableTimeValueModel::setAlignment(AlignmentModel *alignment)
|
Chris@297
|
24 {
|
Chris@297
|
25 delete m_alignment;
|
Chris@297
|
26 m_alignment = alignment;
|
Chris@297
|
27 connect(m_alignment, SIGNAL(completionChanged()),
|
Chris@297
|
28 this, SIGNAL(alignmentCompletionChanged()));
|
Chris@297
|
29 }
|
Chris@297
|
30
|
Chris@297
|
31 const Model *
|
Chris@297
|
32 RangeSummarisableTimeValueModel::getAlignmentReference() const
|
Chris@297
|
33 {
|
Chris@297
|
34 if (!m_alignment) return 0;
|
Chris@297
|
35 return m_alignment->getReferenceModel();
|
Chris@297
|
36 }
|
Chris@297
|
37
|
Chris@297
|
38 size_t
|
Chris@297
|
39 RangeSummarisableTimeValueModel::alignToReference(size_t frame) const
|
Chris@297
|
40 {
|
Chris@297
|
41 if (!m_alignment) return frame;
|
Chris@297
|
42 return m_alignment->toReference(frame);
|
Chris@297
|
43 }
|
Chris@297
|
44
|
Chris@297
|
45 size_t
|
Chris@297
|
46 RangeSummarisableTimeValueModel::alignFromReference(size_t refFrame) const
|
Chris@297
|
47 {
|
Chris@297
|
48 if (!m_alignment) return refFrame;
|
Chris@297
|
49 return m_alignment->fromReference(refFrame);
|
Chris@297
|
50 }
|
Chris@297
|
51
|
Chris@297
|
52 int
|
Chris@297
|
53 RangeSummarisableTimeValueModel::getAlignmentCompletion() const
|
Chris@297
|
54 {
|
Chris@297
|
55 std::cerr << "RangeSummarisableTimeValueModel::getAlignmentCompletion" << std::endl;
|
Chris@297
|
56 if (!m_alignment) return 100;
|
Chris@297
|
57 int completion = 0;
|
Chris@297
|
58 (void)m_alignment->isReady(&completion);
|
Chris@297
|
59 std::cerr << " -> " << completion << std::endl;
|
Chris@297
|
60 return completion;
|
Chris@297
|
61 }
|
Chris@297
|
62
|