diff options
author | David Robillard <d@drobilla.net> | 2008-01-10 21:20:59 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-01-10 21:20:59 +0000 |
commit | bb457bb960c5bd7ed538f9d31477293415739f68 (patch) | |
tree | 84324a63b87c03589cd165b9e474296eaebb4772 /libs/ardour/smf_source.cc | |
parent | 73dd9d37e7d715e0d78c0e51569968f9494dac7f (diff) |
Merge libs/ardour and gtk2_ardour with 2.0-ongoing R2837.
git-svn-id: svn://localhost/ardour2/trunk@2883 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/smf_source.cc')
-rw-r--r-- | libs/ardour/smf_source.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc index b8d82bdb9d..29f36cc2cd 100644 --- a/libs/ardour/smf_source.cc +++ b/libs/ardour/smf_source.cc @@ -345,7 +345,8 @@ SMFSource::read_unlocked (MidiRingBuffer& dst, nframes_t start, nframes_t cnt, n // FIXME: assumes tempo never changes after start const double frames_per_beat = _session.tempo_map().tempo_at(_timeline_position).frames_per_beat( - _session.engine().frame_rate()); + _session.engine().frame_rate(), + _session.tempo_map().meter_at(_timeline_position)); const uint64_t start_ticks = (uint64_t)((start / frames_per_beat) * _ppqn); @@ -456,8 +457,9 @@ SMFSource::append_event_unlocked(const MidiEvent& ev) assert(ev.time() >= _last_ev_time); // FIXME: assumes tempo never changes after start - const double frames_per_beat = _session.tempo_map().tempo_at - (_timeline_position).frames_per_beat(_session.engine().frame_rate()); + const double frames_per_beat = _session.tempo_map().tempo_at(_timeline_position).frames_per_beat( + _session.engine().frame_rate(), + _session.tempo_map().meter_at(_timeline_position)); const uint32_t delta_time = (uint32_t)((ev.time() - _last_ev_time) / frames_per_beat * _ppqn); @@ -888,7 +890,8 @@ SMFSource::load_model(bool lock, bool force_reload) // FIXME: assumes tempo never changes after start const double frames_per_beat = _session.tempo_map().tempo_at(_timeline_position).frames_per_beat( - _session.engine().frame_rate()); + _session.engine().frame_rate(), + _session.tempo_map().meter_at(_timeline_position)); uint32_t delta_t = 0; int ret; |