mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-18 12:46:32 +01:00
Add length_pulse to MidiSource, usr quarter-notes in midi_read().
- MidiSource _length_beats is in quarter notes. Here we duplicate length_beats for backwards compatibility
This commit is contained in:
parent
2c7a5815ee
commit
21054f6d8d
3 changed files with 22 additions and 8 deletions
|
|
@ -434,6 +434,8 @@ SMFSource::append_event_beats (const Glib::Threads::Mutex::Lock& lock,
|
|||
}
|
||||
|
||||
_length_beats = max(_length_beats, time);
|
||||
/* midi is in quarter note format as distinct from ardour beat */
|
||||
_length_pulse = _length_beats.to_double() / 4.0;
|
||||
|
||||
const Evoral::Beats delta_time_beats = time - _last_ev_time_beats;
|
||||
const uint32_t delta_time_ticks = delta_time_beats.to_ticks(ppqn());
|
||||
|
|
@ -483,6 +485,8 @@ SMFSource::append_event_frames (const Glib::Threads::Mutex::Lock& lock,
|
|||
}
|
||||
|
||||
_length_beats = max(_length_beats, ev_time_beats);
|
||||
/* midi is in quarter note format as distinct from ardour beat */
|
||||
_length_pulse = _length_beats.to_double() / 4.0;
|
||||
|
||||
const Evoral::Beats last_time_beats = converter.from (_last_ev_time_frames);
|
||||
const Evoral::Beats delta_time_beats = ev_time_beats - last_time_beats;
|
||||
|
|
@ -695,6 +699,8 @@ SMFSource::load_model (const Glib::Threads::Mutex::Lock& lock, bool force_reload
|
|||
size = scratch_size;
|
||||
|
||||
_length_beats = max(_length_beats, event_time);
|
||||
/* midi is in quarter note format as distinct from ardour beat */
|
||||
_length_pulse = _length_beats.to_double() / 4.0;
|
||||
}
|
||||
|
||||
/* event ID's must immediately precede the event they are for */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue