13
0
Commit Graph

20447 Commits

Author SHA1 Message Date
nick_m
452e484faf Tempo ramps - rework mouse dragging of tempo marks, derive beat_at_tempo() and tempo_at_beat(). 2016-05-27 23:38:11 +10:00
nick_m
38df1063d3 Tempo ramps - re-enabe audio-locked meter sections, fix more locking errors. 2016-05-27 23:38:10 +10:00
nick_m
77abc08d6f Tempo ramps - fix crash-causing locking errors. clean up code a bit. 2016-05-27 23:38:10 +10:00
nick_m
474784c8ba Tempo ramps - setting bbt of an audio-locked tempo marker in the tempo dialog works. 2016-05-27 23:38:10 +10:00
nick_m
0f81899280 Tempo ramps - fixes bbt wrt frame-locked tempo sections in the tempo dialog 2016-05-27 23:38:10 +10:00
nick_m
c4fe85dd7c Tempo ramps - fix thinko 2016-05-27 23:38:10 +10:00
nick_m
b8b6d562a4 Tempo ramps - restore bbt settings in tempo dialog for audio-locked tempo markers
- see comments
2016-05-27 23:38:10 +10:00
nick_m
c98e008745 Tempo ramps - code cleanup
- what was i thinking?
2016-05-27 23:38:10 +10:00
nick_m
6d6ccaa839 Tempo ramps - all public TempoSection position parameters are session-relative. 2016-05-27 23:38:10 +10:00
nick_m
c7ff67004a Tempo ramps - fix messed up meter section state, audio-locked tempos ignore the bbt setting in the tempo dialog for now. 2016-05-27 23:38:10 +10:00
nick_m
d7ec204bf6 Tempo ramps - comment new meter section behaviour. 2016-05-27 23:38:10 +10:00
nick_m
0660705fdc Tempo ramps - fix changing to constant tempo 2016-05-27 23:38:10 +10:00
nick_m
bc42dea451 Tempo ramps - first stab at metric marks locked to frames or beats.
- pretty much untested.
2016-05-27 23:38:10 +10:00
nick_m
d8549c6ff5 Tempo ramps - demystify comments a bit. 2016-05-27 23:38:10 +10:00
nick_m
895bbbba11 Tempo ramps - minor optimisation and comment clarification. 2016-05-27 23:38:10 +10:00
nick_m
28127b1768 Tempo ramps - Remove the tick walk, store c_func, document the approach. 2016-05-27 23:38:10 +10:00
nick_m
f72eef1651 Tempo ramps - use consistent naming for _locked methods, use enum_2_string for TempoSection::Type. 2016-05-27 23:38:10 +10:00
nick_m
a2495cdff3 Tempo ramps - fix more namespace confusion 2016-05-27 23:38:10 +10:00
nick_m
36f04367df Tempo ramps - fix crazy compilable namespace thinko 2016-05-27 23:38:10 +10:00
nick_m
bdef9b2466 Tempo ramps - fix constant tempo assumption wrt midi ghost note. 2016-05-27 23:38:10 +10:00
nick_m
d14c660261 Tempo ramps - fix save/restore of region position_lock_style. 2016-05-27 23:38:10 +10:00
nick_m
87d49cd6ec Tempo ramps - api rename, fix various meter and tempo dialog bugs. 2016-05-27 23:38:10 +10:00
nick_m
885f1fd684 Tempo ramps - update midi regions and locations when dragging tempo.
- also make locations and regions use a double beat rather than bbt for musical position.
2016-05-27 23:38:10 +10:00
nick_m
772683d2df Tempo ramps - improve the performance of recompute_map(). 2016-05-27 23:38:10 +10:00
nick_m
2f5b6b6b85 Tempo ramps - clean up TempoSection, fix thinko in position function. 2016-05-27 23:38:10 +10:00
nick_m
70cb8719df Tempo ramps - replace ugly bootstrapping code in TempoMap::frame_time() with new api.
- also fix some type confusion.
2016-05-27 23:38:10 +10:00
nick_m
458036b894 Tempo ramps - meter sections work again.
- also fix *some* of the more hackish code in this branch.
2016-05-27 23:38:10 +10:00
nick_m
5c6e18e6a0 Tempo ramps - remove the concept of bars from tempo sections.
- this helps where tempo and meter have a somewhat circular
	  dependency.

MetricSection now has a musical position expressed in beats (a double).
MeterSection still has a bbt, but it really isn't needed as we have
enough information to discover the number of bars at a given beat without it.
TempoSection now has a hack to enable loading of legacy sessions, which will
ultimately be a lot cleaner than the current code.

Removing bars from tempo sections also allows us to place them
at arbitrary frames (implemented here).
2016-05-27 23:38:09 +10:00
nick_m
41c8b534b7 Tempo ramps - amend previous commit. 2016-05-27 23:38:09 +10:00
nick_m
8d007e8a77 Tempo ramps - fix many problems wrt dragging tempos over each other.
- also preparation for metric lock style and meter bug fix.
2016-05-27 23:38:09 +10:00
nick_m
feece53838 Tempo ramps - fix odd display when dragging one tempo past another.
- also preparations for removal of beat limitation on tempos
	- some code clean ing
2016-05-27 23:38:09 +10:00
nick_m
ba0cfe81a4 Tempo ramps - massively speed up dragging of tempo marks. 2016-05-27 23:38:09 +10:00
nick_m
db77ca99a1 Tempo ramps - don't use methods we don't need to use.
- more room for improvement here
2016-05-27 23:38:09 +10:00
nick_m
340bd42c62 Tempo ramps - allow live updating of tempo markers.
- all a bit slow, but should be ok once we can lock
	  markers to frames.
2016-05-27 23:38:09 +10:00
nick_m
7898435d3f Tempo ramps - define_one_bar() delivers constant tempo.
- also some renaming and code review
2016-05-27 23:38:09 +10:00
nick_m
9eeccf0c17 Tempo ramps - port audio unit and midi clock slave.
- untested.
2016-05-27 23:38:09 +10:00
nick_m
2d649ceac1 Tempo ramps - get tests to comile again. 2016-05-27 23:38:09 +10:00
nick_m
af07762f98 Tempo ramps - play nicely with legacy sessions. 2016-05-27 23:38:09 +10:00
nick_m
6dac0e0f14 Fis inability to make the first tempo section constant tempo. 2016-05-27 23:38:09 +10:00
nick_m
dbfe991cd8 Tempo ramps - fix changing from const to ramp in the gui.
- also fixes some midi mouse over problems
	- start using replacements for frames_per_bar() frames_per_beat() etc.
2016-05-27 23:38:09 +10:00
nick_m
0d0e458dde tempo ramps - fix dumb iterator error. thanks robin. 2016-05-27 23:38:09 +10:00
nick_m
6cb752dc15 Tempo ramps - locking debugging. 2016-05-27 23:38:09 +10:00
nick_m
7fc3b0c34c Initial stab at tempo ramps.
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.

Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.

Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10:00
94187e66a2 add a test-sequence for polyphonic pressure 2016-05-27 12:12:00 +02:00
56471fd352 ensure that amp/fader is present on every route 2016-05-26 15:42:33 +02:00
00967a1982 take read-lock when saving processor order 2016-05-26 15:05:06 +02:00
eadc2ca88a fix maths thinko 2016-05-26 10:44:13 +02:00
602344f0c5 ticks are not affected by metrum 2016-05-26 02:22:10 +02:00
d6d5903a24 fix Audio Unit BBT 2016-05-26 02:20:32 +02:00
9678be9b6a fix clang compile 2016-05-26 01:52:34 +02:00