13
0
Commit Graph

10753 Commits

Author SHA1 Message Date
nick_m
b564f07635 Tempo ramps - add comment 2016-05-27 23:38:17 +10:00
nick_m
baf8f37967 Tempo ramps - rename meter_at() -> meter_at_frame() & make the ticker slightly more efficient. 2016-05-27 23:38:17 +10:00
nick_m
8f3bc6f809 Tempo ramps - rename tempo_at() -> tempo_at_frame().. 3 decimals for the audioclock tempo display. 2016-05-27 23:38:17 +10:00
nick_m
250c88c038 Tempo ramps - check the curve not the integral. 2016-05-27 23:38:17 +10:00
nick_m
2d31fa7bb1 Tempo ramps - finally fix flicker in framed curve. 2016-05-27 23:38:17 +10:00
nick_m
48fa2e7582 Tempo ramps - fix erroneous paste. 2016-05-27 23:38:17 +10:00
nick_m
533e5c4069 Rwbi ramps - midi regions resize when tempo map changed. 2016-05-27 23:38:17 +10:00
nick_m
2a8104f2f8 Yr,[p ramps - fix flickering tempo curves when zoomed in. 2016-05-27 23:38:17 +10:00
nick_m
5d5fba0cfb Tempo ramps - rename no-op 2016-05-27 23:38:17 +10:00
nick_m
cfe1c85f4f Tempo ramps - first tempo is a ramp, fix extra meter recompute. 2016-05-27 23:38:17 +10:00
nick_m
2c331341cc Tempo ramps -remove unused code. 2016-05-27 23:38:17 +10:00
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
7db39a206e Tempo ramps - code layout, check_solved() is lock-style agnostic, remove uncalled code. 2016-05-27 23:38:17 +10:00
nick_m
0757dc7729 Tempo ramps - remove commented code 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
82d876b48b Tempo ramps - clean up add/replace tempo 2016-05-27 23:38:16 +10:00
nick_m
820e9a43f5 Tempo ramps - fix various sub-beat tempo line bugs.
- actual meter is taken into account now.
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
e5ba2bc34c Tempo ramps - rebase fixes 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
6209b3f445 Tempo ramps - revert earlier change to Canvas::Curve 2016-05-27 23:38:16 +10:00
nick_m
a68ff8e540 Tempo ramps - remove unused code, small meter dilation drag cleanup. 2016-05-27 23:38:16 +10:00
nick_m
c3119852c0 Tempo ramps - remove pasted casts. 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
49bd710b9b Tempo ramps - more bbt ruler drag 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
652a59b317 Tempo ramps - fix recompute thinko 2016-05-27 23:38:16 +10:00
nick_m
9fb78d091d Tempo ramps - correct fix for adding/replacing meters. 2016-05-27 23:38:16 +10:00
nick_m
89ba10c05a Yempo ramps - fix new meters ending up at 0, clean code a bit. 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
6f3ac9d626 Tempo ramps - fix some leaks 2016-05-27 23:38:16 +10:00
nick_m
118d04cce6 Tempo ramps - fix dragging issues wrt audio-locked meters.
- also minor rename and remove some unnecessary checks.
2016-05-27 23:38:16 +10:00
nick_m
b9158178e8 Tempo ramps - ahem. 2016-05-27 23:38:16 +10:00
nick_m
fc7233c256 Tempo ramps - amend last commit 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
bfeb105256 Tempo ramps - remove some code, fix up ramp dilation near limits a bit. 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
54758ddd4a Tempo ramps - make documentation more confusing. 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
5e2280eead Tempo ramps - remove some code - should be a no-op. 2016-05-27 23:38:15 +10:00
nick_m
1d7fd8d1be Tempo ramps - clean up code, fix off-by-one bar when switching meter to audio-locked. 2016-05-27 23:38:15 +10:00
nick_m
7b9eec5678 Tempo ramps - fix mucally-snapped dragging across the 'no time' gap (audio-locked meters). 2016-05-27 23:38:15 +10:00
nick_m
8b0a2897b9 Tempo ramps - clean up some frame/beat ambiguity 2016-05-27 23:38:15 +10:00
nick_m
ea91593968 Tempo ramps - more click fixing. 2016-05-27 23:38:15 +10:00
nick_m
94e7e4e53b Tempo ramps - before the first meter, the beat is 0.0 2016-05-27 23:38:15 +10:00
nick_m
4820a11180 Tempo ramps - fix click, fix various thinkos wrt using the correct metrics. 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
71a90399fe Tempo ramps - fix BBTPoint wtf.
- tempo tick lines should draw properly now.
2016-05-27 23:38:15 +10:00
nick_m
462d08acbb Tempo ramps - don't allow cross-dragging the first meter. 2016-05-27 23:38:15 +10:00
nick_m
932c7b07fd Tempo ramps - adding a new tempo doesn't involve a dialog. 2016-05-27 23:38:15 +10:00
nick_m
480fe7d0b7 Tempo ramps - fix more constructor confusion. 2016-05-27 23:38:15 +10:00
nick_m
fe648e97fb Tempo ramps - correct previous commit. 2016-05-27 23:38:15 +10:00
nick_m
0b2c476148 Tempo ramps - formatting, ensure correct initial lock style. 2016-05-27 23:38:14 +10:00
nick_m
0080781ddf Tempo ramps - fix OSX compilation. 2016-05-27 23:38:14 +10:00
nick_m
4f7a4cd233 Crapola - this is an experimental performance hack that must be reverted. 2016-05-27 23:38:14 +10:00
nick_m
c6d9d8193b Performance - speed up switching of playlists with non-destructive diskstreams. 2016-05-27 23:38:14 +10:00
nick_m
ec29f5d64c Tempo ramps - fix more wtfery. 2016-05-27 23:38:14 +10:00
nick_m
fec6695876 Tempo ramps - be a bit more efficient when detecting legacy sessions. 2016-05-27 23:38:14 +10:00
nick_m
fac20126cd Tempo ramps - make legacy session detection more robust. 2016-05-27 23:38:14 +10:00
nick_m
7d66ae59d3 Tempo ramps - remove odd check. 2016-05-27 23:38:14 +10:00
nick_m
5c32b84198 Tempo ramps - clean up state load. 2016-05-27 23:38:14 +10:00
nick_m
9534caf0fb Tempo ramps - legacy session. ugh. 2016-05-27 23:38:14 +10:00
nick_m
25ebedab3b Tempo ramps - rename, more legacy session handling. 2016-05-27 23:38:14 +10:00
nick_m
975d4af486 Tempo ramps - add legacy session comment. 2016-05-27 23:38:14 +10:00
nick_m
260db3ee9a Tempo ramps - restrict legacy session handling to legacy sessions.. 2016-05-27 23:38:14 +10:00
nick_m
75b5030af1 Tempo ramps - set legacy session's metric pulses correctly. 2016-05-27 23:38:14 +10:00
nick_m
898764c513 Tempo ramps - possible fix for loading bjbjb's session, remove insane level 3 map solver. 2016-05-27 23:38:14 +10:00
nick_m
10d08a3be6 Tempo ramps - remove erroneous (for now) #ifdef 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
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
89f022cb53 Tempo ramps - rename - should be a no-op. 2016-05-27 23:38:13 +10:00
nick_m
8efbbd2bdd Tempo ramps - fix bug revealed by test. also small rename. 2016-05-27 23:38:13 +10:00
nick_m
8063b1ce3c Tempo ramps - make ramp test more challenging. 2016-05-27 23:38:13 +10:00
nick_m
d3f0e65199 Tempo ramps - tempo related tests pass, add ramp test. 2016-05-27 23:38:13 +10:00
nick_m
b71235519a Tempo ramps - remove more code. 2016-05-27 23:38:13 +10:00
nick_m
7490c86141 Tempo ramps - neaten code layout. 2016-05-27 23:38:13 +10:00
nick_m
c8fe6733cd Tempo ramps - fix some silly code. 2016-05-27 23:38:13 +10:00
nick_m
324e51c734 Tempo ramps - calculate bars correctly when setting meter position. 2016-05-27 23:38:13 +10:00
nick_m
2c25913d26 Tempo ramps - fix thinko in a could-be-more-efficient manner.
- some form of 'no time' now functions correctly between audio locked meters.
2016-05-27 23:38:13 +10:00
nick_m
dd212ea4af Tempo ramps - set correct beat on audio locked meters. 2016-05-27 23:38:13 +10:00
nick_m
094aa816df Tempo ramps - multiple audio-locked meters are go.
- more or less
2016-05-27 23:38:13 +10:00
nick_m
b341e6cfaa Tempo ramps - more clarity i hope take 2. 2016-05-27 23:38:13 +10:00
nick_m
26dd31c3a1 Tempo ramps - hopefully better overview. 2016-05-27 23:38:13 +10:00
nick_m
6f5e8a885e Tempo ramps - more code reorganization, almost audio-locked meter nirvana. 2016-05-27 23:38:13 +10:00
nick_m
bc44f9bcaf Rampo Temps - remove nonsense. 2016-05-27 23:38:13 +10:00
nick_m
c2705363cf Tempo ramps -update audio-locked meter bbt correctly, a bit more explanation. 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
d7de12428b Tempo gramps - fix compilatoin? 2016-05-27 23:38:13 +10:00
nick_m
66df7486b3 Tempo damps - fix compilation 2016-05-27 23:38:13 +10:00
nick_m
26bbffda7f Tempo cramps - do not allow tempos to share the same frame. 2016-05-27 23:38:13 +10:00
nick_m
7cb5fca27b Tempo camp - clarify comments. 2016-05-27 23:38:13 +10:00
nick_m
29700068d7 Tempo ramps - improvements from static analysis. 2016-05-27 23:38:13 +10:00
nick_m
f974f40611 Tempo ramps - fix meter drag finished bug. 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
a2797f4d38 Tempo ramps - use correct meter when snapping to the future. 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
16197654d1 Tempo bambi - clean up. 2016-05-27 23:38:12 +10:00
nick_m
15f8f371c3 Tempo rampo - tempo tick lines no longer assume constant tempo. 2016-05-27 23:38:12 +10:00
nick_m
a7df009de7 Tempo ramps - avoid sending negative beats to the BFC. 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
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
187122ce5b Tempo ramps - towards having multiple audio-locked meters again.
- also speeds up meter dragging
2016-05-27 23:38:12 +10:00
nick_m
e4dfd23d2e Tempo ramps - bbt_time() speedup, more meter dragging performance improvements. 2016-05-27 23:38:12 +10:00
nick_m
591a2026c0 Tempo rmps - amend last commit, speeding up dragging of audio-locked meters quite a bit. 2016-05-27 23:38:12 +10:00
nick_m
3f3ad715ef Tempo ramps - minor cleanup. 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
33e98186e4 Tempo ramps - small bug fixes/cleanup. 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
ba3ae54f51 Tempo ramps - clean up negative beat handling in beats_to_bbt_locked () 2016-05-27 23:38:12 +10:00
nick_m
cab7335d58 Tempo ramps - fix crash with simplest case. 2016-05-27 23:38:12 +10:00
nick_m
1c1bf4a06b Tempo ramps - show grid when dragging first meter. 2016-05-27 23:38:11 +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
a58f862640 Tempo ramps - fix constant tempos (again). 2016-05-27 23:38:11 +10:00
nick_m
9def5caeaf Tempo ramps - code cleanup 2016-05-27 23:38:11 +10:00
nick_m
f16089ba88 Tempo ramps - allow moving the first meter if audio locked.
- strangely broken wrt the grid, but kind-of works.
2016-05-27 23:38:11 +10:00
nick_m
17a6cda89a Tempo ramps - fix incorrect handling of unsloveable maps. 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
a47359c382 Tempo ramps - fix erroneous tempo_at_frame(), use correct type for offsets. 2016-05-27 23:38:11 +10:00
nick_m
d3c24fe0ca Tempo ramps - midi notes resize when dragged, misc bug fixes. 2016-05-27 23:38:11 +10:00
nick_m
8fce08610a Tempo ramps - snap uses audio-locked meter offsets.
- fixes much of the fallout from the previous commit.
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
3a2ff0a4a7 Tempo ramps - new (old) map solving strategy. 2016-05-27 23:38:11 +10:00
nick_m
7e408b38d8 Tempo ramps - comment out debugging 2016-05-27 23:38:11 +10:00
nick_m
acf7c2592a Tempo ramps -consolidate code, add precision check for tempo metrics. 2016-05-27 23:38:11 +10:00
nick_m
4d9b6a4ced Tempo ramps - fix various thinkos. 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
nick_m
eeb20bc392 Tempo ramps - grid now follows dragging meter section. 2016-05-27 23:38:11 +10:00
nick_m
a0558694df Tempo ramps - audio-locked meters have a bbt of 1|1|0
- possibly lots going wrong with this due to multiple occurences
	  of 1|1|0.
2016-05-27 23:38:11 +10:00
nick_m
6ecef52d76 Tempo ramps - meter sections drag again. 2016-05-27 23:38:11 +10:00
nick_m
b4f0695780 Tempo ramps - comment and tidy. 2016-05-27 23:38:11 +10:00
nick_m
989089a4e9 Tempo ramps - add method to handle beat-based tempo reordering. clean code. 2016-05-27 23:38:11 +10:00
nick_m
aa95ffbc97 Tempo ramps - change some prototypes, rename some methods. 2016-05-27 23:38:11 +10:00
nick_m
96b511e221 Tempo ramps - fix ordering glitches when dragging tempos. 2016-05-27 23:38:11 +10:00