summaryrefslogtreecommitdiff
path: root/libs/ardour/tempo.cc
AgeCommit message (Collapse)Author
2016-11-11more tempo documentation.nick_m
2016-11-11TempoSection note-types-per-minute node name goes back to beats-per-minute ↵nick_m
for now.
2016-11-11use note_type explicitly when constructing a Tempo in the hope that others ↵nick_m
follow. - should be a no-op
2016-11-11remove recently added xml nodes.nick_m
2016-11-11use frame interval api for empoMap::framepos_plus_qn()nick_m
2016-11-11clarify bbt_at_frame() warning.nick_m
2016-11-11add empoMap::quarter_notes_between_frames().nick_m
- in an ideal world, this wouldn't be here at all, but is required to support framewalk_to_qn(). if Beats are at tick resolution, the frame-induced temporal rounding is acceptable.
2016-11-11TempoSection::tempo_at methods return a Tempo, document the opposite direction.nick_m
2016-11-11rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.nick_m
- adds quarter_notes_per_minute(), note_divisions_per_minute (double) pulses_per_minute() and frames_per_quarter_note() - this should be a no-op except for the use of tempo by the vst callback which definitely uses quarter notes per minute. - the XML node for TempoSection named 'beats-per-minute' has been renamed.
2016-11-11tempo doc explains that currently Tempo::beats_per_minute means something else.nick_m
- Tempo beats_per_minute() is currently implemented as note types per minute. a further patch will change Tempo to reflect this and provide some helpers.
2016-11-11more tempo documentation.nick_m
2016-11-11fix lock error in empoMap::quarter_note_at_bbt_rt(), expand constant tempo test.nick_m
2016-11-11remove unused TempoMap::tempo_at_beat(). implement unused ↵nick_m
tempo_at_quarter_note().
2016-11-11more documentation in tempo.cc, fix constant bug in pulse_at_tempo_locked()nick_m
2016-11-11remove remaining frame api from TempoSection.nick_m
2016-11-11remove public pulse methods from TempoMap.nick_m
- the only object whose musical position is not expressed in quarter notes is MetricSection. there is now no need to expose this.
2016-11-11add some documentation for TempoMap.nick_m
2016-11-11Refactor tempo api, include quarter-note distance in frames method.nick_m
- moves frame rounding up to TempoMap, which is needed in order to calculate pulse distance without frame rounding. - the time unit for tempo is still minute, but this now also applies to meter sections. (new audio locked meter sections no longer require a frame position). - there is no longer a discontinuity in the pulse for audio-locked meter/tempi. - temporarily add debugging output in Region::set_position() to test for region beat not matching region frame.
2016-10-19Improve bbt ruler drawing performance for large time ranges.nick_m
- when the timeline displays many bars, zoom/autoscroll speed is improved by calculating the bbt ruler scale first then requesting a suitably scaled grid.
2016-10-16Rework duration clock and TempoMap::insert_time to include meter at offset.nick_m
- should fix 7072 - also fixes scroll behavior over multiple tempi.
2016-10-09TempoSection methods deal in beats rather than pulses per minute.nick_m
- removes note type from curve function for a slightly more accurate result.
2016-10-02Remove unused methods, add tests to ensure meter divisors don't mess with Beats.nick_m
- TempoMap::framepos_minus_beats() was only used by its test, so don't build the test.
2016-10-01Fix locking bug in tempo map.nick_m
2016-09-05Fix the tempo note-type hallucination.nick_m
- after reports that a tempo with non-4.0 note type would produce a ramp in the preceding section, an incorrect assumption was made leading to a bogus 'fix' that redefined Tempo's pulses_per_minute(). the real fix was simple: the ramp's function constant was calculated using the note type of the proceding tempo rather than the current one. - this patch reverts e82482e8e9c and a4d67279e0086258 and maintains the old definition of Tempo::pulses_per_minute()
2016-09-04Sanity check for TempoMap::get_grid ()nick_m
2016-09-03Fix various paste errors in tempo.cc. Should fix recent regressions.nick_m
2016-09-02Consolidate the meaning of beat divisions.nick_m
- bar and beat snapping is BBT beat based while other music divisions are quarter note based. Reflect this in the way exact_beat/qn is calculated.
2016-09-01Attempt to clarify tempo map comments.nick_m
2016-09-01Revert 894cdb6f5c2064.nick_m
- once again we snap to BBT beats when snapping to 'beat'.
2016-09-01Snap to beat snaps to quarter note.nick_m
2016-08-31TempoMap::pulse_at_frame() handles separated musical sections as per ↵nick_m
beat_at_frame().
2016-08-31Fix incorrect inclusion of note_type in Tempo::pulses_per_minute().nick_m
2016-08-31Amend f3c0c1a865 (Add quarter-note position methods).nick_m
2016-08-31Add quarter-note position methods to TempoMap.nick_m
2016-08-24Tempo marker movement snaps to the future grid, rather than the current one.nick_m
- fixes jittery tempo movement when snapping within large gradients.
2016-08-24Round to bar correctly in TempoMap::exact_beat_at_frame_locked().nick_m
2016-08-18Add methods for plugin APIs to obtsin quarter pulses ('beats' for AU) from ↵nick_m
the tempo map.
2016-08-16Enforce rounding to beat as >= 0.0nick_m
2016-08-14Don't call any Transmitter from realtime contextRobin Gareus
This fixes a crash when TempoMap::bbt_at_frame_rt() is called for a latent effect at position 00:00:00:00 and frame is < 0.
2016-08-14Allow negative return in TempoMap::beat_at_frame() and its exact_ variant.nick_m
- audio-locked midi regions can be start-trimmed properly when close to 1|1|0 - a midi region placed before the first meter will continue the tempo curve and first meter. Only a couple of callers require change, as bbt_at_beat() already deals with this.
2016-08-10Allow -ve framepos handling in TempoMap::framepos_plus_beats()nick_m
- also handles frame positions previous to the initial meter (beat_at_frame() would return 0 in this case).
2016-07-25the endless quest to plug memory leaks -- episode 378Robin Gareus
2016-07-18Fix stored type confusion in Meter/TempoSection::get_state().nick_m
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-10remove reference "const int32_t&" -> const int32_t"Robin Gareus
this simplifies lua-bindings and also let's the compiler worry about constant primitive types.
2016-07-10Tempo map updates.nick_m
- cleanup audio-locked meter removal code - recompute and warn if map is left unsolved due to adding a metric - handle corner case wrt overlapping audio-locked musical sections.
2016-07-10Fix long-standing spelling bug.nick_m
- should be a no-op.
2016-07-10Fix missing tempi recompute, improve adding meter/tempo failure.nick_m
2016-07-10Fail properly when adding a new audio locked meter's tempo.nick_m
2016-07-10Fix broken meter manipulation in exact_beat.nick_m