ardour
beats_frames_converter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009 Paul Davis
3  Author: David Robillard
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 
19  $Id: midiregion.h 733 2006-08-01 17:19:38Z drobilla $
20 */
21 
22 #include "evoral/TimeConverter.hpp"
23 #include "evoral/types.hpp"
24 
26 #include "ardour/types.h"
27 
28 #ifndef __ardour_beats_frames_converter_h__
29 #define __ardour_beats_frames_converter_h__
30 
31 namespace ARDOUR {
32 
33 class TempoMap;
34 
40  : public Evoral::TimeConverter<Evoral::Beats,framepos_t> {
41 public:
43  : Evoral::TimeConverter<Evoral::Beats, framepos_t> (origin)
44  , _tempo_map(tempo_map)
45  {}
46 
47  framepos_t to (Evoral::Beats beats) const;
48  Evoral::Beats from (framepos_t frames) const;
49 
50 private:
52 };
53 
59  : public Evoral::TimeConverter<double,framepos_t> {
60 public:
62  : Evoral::TimeConverter<double, framepos_t> (origin)
63  , _tempo_map(tempo_map)
64  {}
65 
66  framepos_t to (double beats) const;
67  double from (framepos_t frames) const;
68 
69 private:
71 };
72 
73 } /* namespace ARDOUR */
74 
75 #endif /* __ardour_beats_frames_converter_h__ */
BeatsFramesConverter(TempoMap &tempo_map, framepos_t origin)
#define origin
LIBARDOUR_API uint64_t TempoMap
Definition: debug.cc:60
Definition: amp.h:29
int64_t framepos_t
Definition: types.h:66
#define LIBARDOUR_API
LIBEVORAL_API uint64_t Beats
DoubleBeatsFramesConverter(TempoMap &tempo_map, framepos_t origin)