/*
- Copyright (C) 2009 Paul Davis
+ Copyright (C) 2009 Paul Davis
Author: Dave Robillard
This program is free software; you can redistribute it and/or modify
$Id: midiregion.h 733 2006-08-01 17:19:38Z drobilla $
*/
-#include <evoral/TimeConverter.hpp>
-#include <ardour/types.h>
+#include "evoral/TimeConverter.hpp"
+#include "ardour/types.h"
#ifndef __ardour_beats_frames_converter_h__
#define __ardour_beats_frames_converter_h__
namespace ARDOUR {
-class Session;
+class TempoMap;
-class BeatsFramesConverter : public Evoral::TimeConverter<double,nframes_t> {
+class BeatsFramesConverter : public Evoral::TimeConverter<double,sframes_t> {
public:
- BeatsFramesConverter(Session& session, nframes_t origin)
- : _session(session)
- , _origin(origin)
+ BeatsFramesConverter(const TempoMap& tempo_map, sframes_t origin)
+ : Evoral::TimeConverter<double, sframes_t> (origin)
+ , _tempo_map(tempo_map)
{}
-
- nframes_t to(double beats) const;
- double from(nframes_t frames) const;
- nframes_t origin() const { return _origin; }
- void set_origin(nframes_t origin) { _origin = origin; }
+ sframes_t to(double beats) const;
+ double from(sframes_t frames) const;
private:
- Session& _session;
- nframes_t _origin;
+ const TempoMap& _tempo_map;
};
} /* namespace ARDOUR */