Commit graph

448 commits

Author SHA1 Message Date
nick_m
45a8cc7563 TempoMap - do frame conversion outside the lock when possible. 2017-01-07 02:59:07 +11:00
nick_m
66b060df67 remove some excessive methods from TempoMap.
- the beginning of what hopefully will be a saner 'pulse' definition
2017-01-07 02:52:02 +11:00
nick_m
a740cd73dd more no-op renaming - TempoSection::compute_c_func_* -> compute_c_ 2017-01-07 02:34:24 +11:00
nick_m
ce54a23a36 clear up _initial vs _locked_to_meter TempoSection ambiguity. 2017-01-07 02:29:14 +11:00
nick_m
28058f6302 more inactive tempi fixes. 2017-01-07 02:25:42 +11:00
nick_m
a3c009015a actually make import of tempo maps at selected point work (missed line from 3060a458eb) 2017-01-07 01:46:52 +11:00
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
4cb0090583 fix some inactive tempi bugs
- no tempo curve for inactive tempi

	- inactive and meter-locked tempi cannot be deleted.
2017-01-07 01:12:09 +11:00
nick_m
521ae30beb warn when adding / replacing a tempo fails. 2017-01-06 02:26:02 +11:00
nick_m
7138a0baa0 prevent meter-locked tempi from being moved directly when replacing.
- the audio-locked meter owns it.
2017-01-06 02:20:45 +11:00
nick_m
a196ce68fd ensure tempo lines use correct tempo type (constant/ramped) 2017-01-06 01:59:47 +11:00
nick_m
4a56b92b13 disallow tempi of 0 ntpm or less. 2017-01-05 00:15:14 +11:00
nick_m
ef8187662a check audio-locked meter ordering by frame. 2016-12-22 05:36:40 +11:00
nick_m
109cd269b4 fix yet another meter-locked tempo ordering thinko. 2016-12-21 05:56:07 +11:00
Ben Loftis
6941d0b74d Fix the case of jump-to-next-Subdivision 2016-12-19 17:25:59 -06:00
Ben Loftis
22bc091c37 Fix the case of jump-to-next{prev}-Bar 2016-12-19 17:25:59 -06:00
nick_m
d4f7f5ffa2 TempoMap - rename some methods.
gui_move_tempo   -> gui_set_tempo_position
	gui_move_meter   -> gui_set_meter_position
	gui_dilate_tempo -> gui_stretch_tempo
2016-12-19 04:13:17 +11:00
nick_m
27b95300e2 add frame parameter for Meter ctor and TempoMap::replace_meter(). allow for various failures. 2016-12-19 04:02:01 +11:00
nick_m
741df6e6ef there is no curve for identical note_types_per_minute values. 2016-12-19 03:23:33 +11:00
Paul Davis
73f8ffce63 add copy constructor, operator= and a clean ::dump() method for TempoMap 2016-12-16 16:49:27 +00:00
nick_m
9add5ed480 tempo before the initial section is always constant. 2016-12-16 02:15:56 +11:00
nick_m
2a79bcd6b2 fix thinko in TempoMap::framepos_plus_qn.
- affects region relative time conversion when
	  initial meter is non-zero.
2016-12-16 01:04:22 +11:00
nick_m
e4d6e4a87f disallow placement of audio-locked tempi within a frame of any other. 2016-12-12 02:37:26 +11:00
nick_m
9598f2a811 fix loop/crash when dragging an audio-locked tempo over a music-locked one while snapped to grid. 2016-12-12 02:07:00 +11:00
nick_m
0d7b298fbe no-op - rename TempoMap::set_active_tempos -> TempoMap::set_active_tempi 2016-12-12 02:07:00 +11:00
nick_m
4d625d35b6 clean up some odd logic. 2016-12-12 02:07:00 +11:00
nick_m
34e41a3ca6 rename MetricSection movable -> initial, but of course initial is !movable.. 2016-12-12 02:07:00 +11:00
nick_m
00eef2e000 make TempoMap::dump slightly more readable. 2016-12-11 23:51:00 +11:00
nick_m
d8cabc67d9 fix incorrect audio-locked tempo position when setting bbt via tempo dialog. 2016-12-11 23:49:02 +11:00
nick_m
08cec2350e fix bar renumbering for audio-locked metrum. 2016-12-11 23:42:26 +11:00
nick_m
3a362563a4 constify some TempoMap functions. 2016-11-23 01:45:43 +11:00
nick_m
11090b2e01 remove set but not used variable in tempo.cc 2016-11-22 22:51:10 +11:00
nick_m
b53ea4ea0e amend 66488e117 - BBT clock scrolling handles multiple audio-locked meters. 2016-11-22 03:17:01 +11:00
nick_m
66488e1174 TempoMap::bbt_duration_at() handles an audio-locked meter.
- fixes some odd results when scrolling down/up over the BBT clock display.
2016-11-22 00:29:53 +11:00
nick_m
5b8e213ff9 fix typo in tempo.cc 2016-11-21 07:08:04 +11:00
Robin Gareus
63f86b1314 Later code depends on prev_t not being NULL, use an assert() 2016-11-14 16:47:22 +01:00
Robin Gareus
e4e2d92649 tempo map cannot be empty (help static analyzer) 2016-11-14 16:47:19 +01:00
nick_m
3816ee4e92 more tempo documentation. 2016-11-11 03:37:08 +11:00
nick_m
a5dc7a01d3 TempoSection note-types-per-minute node name goes back to beats-per-minute for now. 2016-11-11 03:37:08 +11:00
nick_m
e8042f5843 use note_type explicitly when constructing a Tempo in the hope that others follow.
- should be a no-op
2016-11-11 03:37:08 +11:00
nick_m
5aafb0b534 remove recently added xml nodes. 2016-11-11 03:37:08 +11:00
nick_m
43f79cb00c use frame interval api for empoMap::framepos_plus_qn() 2016-11-11 03:37:08 +11:00
nick_m
35ec9b33cf clarify bbt_at_frame() warning. 2016-11-11 03:37:08 +11:00
nick_m
0b7db6ebbb add empoMap::quarter_notes_between_frames().
- 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-11 03:37:08 +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
e52f90357e tempo doc explains that currently Tempo::beats_per_minute means something else.
- 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-11 03:37:08 +11:00
nick_m
9df27844fc more tempo documentation. 2016-11-11 03:37:08 +11:00
nick_m
5788f42438 fix lock error in empoMap::quarter_note_at_bbt_rt(), expand constant tempo test. 2016-11-11 03:37:08 +11:00
nick_m
93ca7b42fb remove unused TempoMap::tempo_at_beat(). implement unused tempo_at_quarter_note(). 2016-11-11 03:37:08 +11:00