diff options
author | David Robillard <d@drobilla.net> | 2014-11-22 04:05:42 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-11-22 04:05:42 -0500 |
commit | c1cfa12d6e5136d2e3e5501e83ff74c5009a9e60 (patch) | |
tree | 56d2811bc8b9d6f2a5accfa8e497ddd5976c7c7a /libs/ardour/ardour/midi_source.h | |
parent | cae74309a583c29dd6cc2081425c2e7b673ea13e (diff) |
Wrap MusicalTime in a class.
This lets us get a more explicit handle on time conversions, and is the main
step towards using actual beat:tick time and getting away from floating point
precision problems.
Diffstat (limited to 'libs/ardour/ardour/midi_source.h')
-rw-r--r-- | libs/ardour/ardour/midi_source.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libs/ardour/ardour/midi_source.h b/libs/ardour/ardour/midi_source.h index 65e382c4b7..2ce92ba3cf 100644 --- a/libs/ardour/ardour/midi_source.h +++ b/libs/ardour/ardour/midi_source.h @@ -43,7 +43,7 @@ template<typename T> class MidiRingBuffer; class LIBARDOUR_API MidiSource : virtual public Source, public boost::enable_shared_from_this<MidiSource> { public: - typedef double TimeType; + typedef Evoral::MusicalTime TimeType; MidiSource (Session& session, std::string name, Source::Flag flags = Source::Flag(0)); MidiSource (Session& session, const XMLNode&); @@ -120,7 +120,7 @@ class LIBARDOUR_API MidiSource : virtual public Source, public boost::enable_sha */ virtual void mark_midi_streaming_write_completed ( Evoral::Sequence<Evoral::MusicalTime>::StuckNoteOption stuck_option, - Evoral::MusicalTime when = 0); + Evoral::MusicalTime when = Evoral::MusicalTime()); virtual void session_saved(); @@ -134,8 +134,8 @@ class LIBARDOUR_API MidiSource : virtual public Source, public boost::enable_sha bool length_mutable() const { return true; } - void set_length_beats(double l) { _length_beats = l; } - double length_beats() const { return _length_beats; } + void set_length_beats(TimeType l) { _length_beats = l; } + TimeType length_beats() const { return _length_beats; } virtual void load_model(bool lock=true, bool force_reload=false) = 0; virtual void destroy_model() = 0; @@ -194,8 +194,8 @@ class LIBARDOUR_API MidiSource : virtual public Source, public boost::enable_sha mutable Evoral::Sequence<Evoral::MusicalTime>::const_iterator _model_iter; mutable bool _model_iter_valid; - mutable double _length_beats; - mutable framepos_t _last_read_end; + mutable Evoral::MusicalTime _length_beats; + mutable framepos_t _last_read_end; /** The total duration of the current capture. */ framepos_t _capture_length; |