13
0
Commit Graph

20 Commits

Author SHA1 Message Date
nick_m
d855ad2856 rename TempoSection::c_func() -> c(). ensure constant tempi have this set to 0. 2017-01-07 01:27:06 +11:00
nick_m
22f17a3007 tempo curve fiddling. 2016-12-11 23:55:13 +11:00
nick_m
a432f6585c TempoSection::tempo_at methods return a Tempo, document the opposite direction. 2016-11-11 03:37:08 +11:00
nick_m
33e95a1577 rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
- 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-11 03:37:08 +11:00
nick_m
0e867b544b Refactor tempo api, include quarter-note distance in frames method.
- 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-11-11 03:37:08 +11:00
nick_m
92920307ae Tempo curve cleanup, now also works on optimized builds. 2016-10-17 01:28:33 +11:00
nick_m
2f72b42385 TempoSection methods deal in beats rather than pulses per minute.
- removes note type from curve function for a slightly more
	  accurate result.
2016-10-09 03:46:50 +11:00
nick_m
74a604d261 Fix the tempo note-type hallucination.
- 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 e82482e8e9 and a4d67279e0
	  and maintains the old definition of Tempo::pulses_per_minute()
2016-09-05 16:28:46 +10:00
nick_m
a4d67279e0 Fix graphical issues in tempo curve. 2016-09-04 03:18:12 +10:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
nick_m
b8a7ee001b Fix potential infinite loop in TempoCurve::set_position()
- it was previously possible for frame_step to be zero for tempo sections with
	  a short duration, resulting in endlessly adding 0 to current_frame.
2016-07-11 03:53:36 +10:00
nick_m
8b0c5b8426 Register colour aliases for tempo curve. 2016-06-16 02:06:40 +10:00
nick_m
fa50cf50d1 Clamp tempo curve height. 2016-06-04 07:24:04 +10:00
nick_m
a9921c10eb Gd Lk ramps - rework auto scaling. change colour. 2016-05-27 23:38:17 +10:00
nick_m
1927a707c5 Tempo ramps - fix huge marker height mark, remove unused var. 2016-05-27 23:38:17 +10:00
nick_m
2d3d7a5355 Tempo ramps - fix ambiguous api, fix flickering tempo curves. 2016-05-27 23:38:16 +10:00
nick_m
0c7ecc6cbb Tempo ramps - add Canvas::FramedCurve and use it in the tempo marker bar. 2016-05-27 23:38:16 +10:00
nick_m
8724a9f68f Tempo ramps - improve constraint mod + bbt dragging begavior. 2016-05-27 23:38:16 +10:00
nick_m
ccf6ce76d9 Tempo ramps - clean up tempo curve a bit. 2016-05-27 23:38:16 +10:00
nick_m
86b0268e8b Tempo ramps - add visualtempo curve, dragging bbt or music rulers with constraint modifier dilates previous tempo. 2016-05-27 23:38:16 +10:00