Commit graph

664 commits

Author SHA1 Message Date
nick_m
43922a1fe1 Tempo ramps - clean up tempo dragging. 2016-05-27 23:38:17 +10:00
nick_m
6309807bc7 Tempo ramps - rename for consistency, remove some testing code, add meter based bbt->pulse conversions. 2016-05-27 23:38:17 +10:00
nick_m
f54b75c869 Tempo ramps - consolidate meter dragging code. 2016-05-27 23:38:17 +10:00
nick_m
8b2f73d5ac Tempo ramps - rework tempo drags, improve comments. 2016-05-27 23:38:17 +10:00
nick_m
f182235410 Tempo ramps - consolidate TempoMap::predict_tempo() 2016-05-27 23:38:17 +10:00
nick_m
d1a075110a Tempo ramps - more code cleanup, fix cross-marker jumping using tempo dialog bbt 2016-05-27 23:38:17 +10:00
nick_m
6894f468d4 Tempo ramps - no more tempo dilation on meter drag.
- its now a bbt ruler / marker lane thing with the constraint modifier.
2016-05-27 23:38:17 +10:00
nick_m
074db3b861 Tempo ramps - more code consolidation wrt add meter/tempo. 2016-05-27 23:38:16 +10:00
nick_m
2d3d7a5355 Tempo ramps - fix ambiguous api, fix flickering tempo curves. 2016-05-27 23:38:16 +10:00
nick_m
5ccfeea5bc Tempo ramps - more bbt dragging work.
- display prev tempo and tempo at mouse while dragging
	- simplify ramp dilation somewhat.
2016-05-27 23:38:16 +10:00
nick_m
abac4ce854 Tempo ramps - more bbt ruler dragging work. 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
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
nick_m
8b4f5dcd5f Tempo ramps - reinstate cross-dragging of music-locked meters, various bug fixes.
- revert failed frameoffset_t experiment
	- caclulate meters using bbt
	- fix tempo dilation when first tempo is ramped.
2016-05-27 23:38:16 +10:00
nick_m
992fc6b510 Tempo ramps - music-locked meter drags are now bbt based. 2016-05-27 23:38:16 +10:00
nick_m
3c76fa9dd1 Tempo ramps - fix various tempo dragging issues. 2016-05-27 23:38:16 +10:00
nick_m
8bcf57cad4 Tempo ramps - a different approach to audio-locked meters.
- the bbt of a meter cannot be changed by moving tempos or other meters.
	  e.g. tempo motion will be disallowed if it would cause a bbt overlap
2016-05-27 23:38:15 +10:00
nick_m
37ed0f6e9b Tempo ramps - restore correct drag behaviour wrt audio-locked meters and right-click of associalted tempo 2016-05-27 23:38:15 +10:00
nick_m
601ac8565d Tempo ramps - disallow tempo dilation on first meter. 2016-05-27 23:38:15 +10:00
nick_m
e0607ca913 Tempo ramps - add gui dilation of tempos.
- a meter can be dragged using the constraint modifier, which
	  sets the previous tempo accordingly.
	  This could be added to the bbt ruler to allow direct dragging
	  of beats and bars, but the exact behavior of that is still
	  undecided. comments?

	- also preliminary work on the necessary tempos locked to
	  audio-locked meters.
2016-05-27 23:38:15 +10:00
nick_m
29e0b2e5bf Tempo ramps - make moving music-locked meters less flakey, remove some code. 2016-05-27 23:38:15 +10:00
nick_m
b24ce3fbe9 Tempo ramps - one approach to audio-locked meters.
- audio-locked meters retain their 'home' bar position
	  unless altered by another metric.
	  this is an alternative to a more strict model
	  which isn't quite so flexible.
2016-05-27 23:38:15 +10:00
nick_m
9e1a1b801f Tempo ramps - fix copy/paste error. 2016-05-27 23:38:14 +10:00
nick_m
663814bf22 Tempo ramps - tempo marks use mvc-style copy drag, don't crash if two successive ramped tempos are the same :| 2016-05-27 23:38:14 +10:00
nick_m
c5790b1cb6 Tempo ramps - fix dragging audio-locked meters across each other. 2016-05-27 23:38:14 +10:00
nick_m
eeb479618b Tempo ramps - fix thinko in meter drag aborted handling 2016-05-27 23:38:14 +10:00
nick_m
a837ce28f5 Tempo ramps - don't replace the meter when drag finished. handle aborted.
- meter has already been placed there.
2016-05-27 23:38:14 +10:00
nick_m
3059adea7b Tempo ramps - fix for dragging audio-locked meters over no time. 2016-05-27 23:38:14 +10:00
nick_m
96cf262c23 Tempo ramps - meters can be dragged across each other.
- also removes some fairly silly code,
2016-05-27 23:38:14 +10:00
nick_m
3048758369 Tempo ramps - copy-drag meters works again.
- meter drags now use mvc style.
2016-05-27 23:38:13 +10:00
nick_m
3d07cd79e1 Tempo ramps - api change, remove some code. 2016-05-27 23:38:13 +10:00
nick_m
b5021eb7f3 Tempo spamr - smallify some code. 2016-05-27 23:38:13 +10:00
nick_m
5d37fc6e36 Tempo ramps - more multi audio-locked meter work, code reorganisation. 2016-05-27 23:38:13 +10:00
nick_m
b39db7ebeb Tempo ramps - a saner way to snap music-locked tempos. 2016-05-27 23:38:13 +10:00
nick_m
6b7dd59b7a Tempo ramps - fix incorrect verbose cursor during tempo drag. 2016-05-27 23:38:13 +10:00
nick_m
a9714de9b9 Tempo ramps - tempo drags respect the snap modifier. add some documentation. 2016-05-27 23:38:13 +10:00
nick_m
354567e5a7 Tempo ramps - switch MusicLocked tempos to beat-based dragging. fix various bugs wrt future-snapped tempo drags 2016-05-27 23:38:12 +10:00
nick_m
daa07ce6e0 Tempo ramps - tempos now musically snap to their future. 2016-05-27 23:38:12 +10:00
nick_m
cb43d485fa Tempo ramps - another approach to first meter/tempo.
- first tempo is glued to first meter position as they are now
	  both locked to AudioTime.
	- all existing audio-locked tempos to the left of the first meter
	  are made inactive. all to the right are made active.
2016-05-27 23:38:12 +10:00
nick_m
4de28f0745 Tempo ramps - fix just-introduced undo crash. 2016-05-27 23:38:12 +10:00
nick_m
a64e46a6b3 Tempo ramps - allow constraint-drag of first tempo. 2016-05-27 23:38:12 +10:00
nick_m
69b6379b23 Tempo ramps - pressing constraint modifier keys during tempo drag changes tempo with vertical movement, incorporating beat constraint (if present).
- makes it easy to find suitable accelerandos for hit points in conjunction
	  with playhead position, beat-locked tempos and initial meter frame.
2016-05-27 23:38:12 +10:00
nick_m
3c2ad63de7 Tempo ramps - complete 'music locked meters are now positioned using beats' transition. 2016-05-27 23:38:12 +10:00
nick_m
99efddb050 Tempo ramps - various bug fixes (meter drag undo, incorrect copy) 2016-05-27 23:38:12 +10:00
nick_m
58d4889ad3 Tempo ramps - music-locked meters now use beats rather than pulses as their reference.
- fixes many problems with a non-zero audio-locked first meter.
2016-05-27 23:38:12 +10:00
nick_m
b47bb55226 Tempo ramps - improve music-locked meter drags, improve dump().
- dump now shows cross-calculation of tempo positions.
2016-05-27 23:38:11 +10:00
nick_m
b415b59f79 Tempo ramps - respect tempo note type and meter note divisor correctly.
- tempo and meter position is now pulse-based,
	  although meter still has a beat for convenience.
2016-05-27 23:38:11 +10:00
nick_m
ec791c8dd4 Tempo ramps - hook up tempo display, a new approach to audio-locked meters
- audio locked meters define an offset which is used for all public
	  TempoMap methods while the internal map remains contiguous.
	  Probably a few unexpected consequences here, but seems to work mostly.
2016-05-27 23:38:11 +10:00
nick_m
278ad73259 Tempo ramps - check for impossible locations tempo dialog bbt entry. reorganise code. 2016-05-27 23:38:11 +10:00
nick_m
36ec551a8a Tempo ramps - fix music-locked meter drags. 2016-05-27 23:38:11 +10:00