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
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
989089a4e9
Tempo ramps - add method to handle beat-based tempo reordering. clean code.
2016-05-27 23:38:11 +10:00
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
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
28127b1768
Tempo ramps - Remove the tick walk, store c_func, document the approach.
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
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
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
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
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