Paul Davis
62bcaf2191
for now (at least) do not show tempo/meter markers for MusicTimePoints
...
This policy may change in the future
2022-05-24 17:10:25 -06:00
Paul Davis
2ec6d45d6d
temporal: remove the concept of a time domain for the tempo map (GUI edition)
2022-05-24 17:10:25 -06:00
Paul Davis
12bf8279e8
better undo/redo command names for tempo/timesig edits
2022-05-24 17:10:25 -06:00
Paul Davis
26816fc696
remove debugging output
2022-05-10 11:44:51 -06:00
Paul Davis
be2a29b8c3
remove debug output during tempo marker redisplay
2022-05-10 09:46:08 -06:00
Paul Davis
9b51d80210
explanatory comment
2022-05-10 09:46:08 -06:00
Paul Davis
69ee24c22b
editor: improved handling of tempo map changes
...
This splits apart the actual signal handler from the work that needs to be done
to update the GUI in response to a tempo map change. This allows us to do the
visual update when we are manipulating the thread-local write copy of the map
during e.g. a drag operation.
2022-05-02 12:02:04 -06:00
Paul Davis
33622474af
editor: change return type of begin_tempo_map_edit()
...
This allows us to get the write-copy of the tempo map in one step.
2022-05-02 12:01:12 -06:00
Paul Davis
7293904e53
use new TempoCommand when putting tempo map ops into undo/redo history
2022-04-08 11:58:04 -06:00
Paul Davis
883a44e6a4
temporal: TempoMap::use() returns a const ptr to enforce semantics (GUI version)
...
This commit leaves two issues outstanding:
1. unclear/ugly semantics for drag operations that reset the GUI thread's tempo map to the writable copy
2. undo/redo for the tempo map
These will be addressed in future commits
2022-04-08 11:58:04 -06:00
Robin Gareus
7cb7d83bb8
Cont'd "meter/time-signature" disambiguation
2022-04-05 19:26:01 +02:00
Robin Gareus
92024cac99
Remove debug messages (2/2)
2022-03-16 17:08:15 +01:00
Paul Davis
320a20cbab
tempo display: during ressaociate markers, update tempo curves as well
2022-03-10 08:27:24 -07:00
Ben Loftis
daf56ccf0a
tempo ruler: do not resize marker (a grabbable object) due to tempo changes
2022-02-14 21:22:36 -06:00
Paul Davis
684ac0e42e
fix buglets after some recent changes to editor tempodisplay
...
These were caught by msvc but not by gcc .Disappointing
2022-01-26 07:25:00 -07:00
Paul Davis
c916d3d952
Substantial overhaul of tempo display code
...
Major changes: do not delete and recreate markers and curves for every tempo map
change, attach tempo curves directly to their (preceding) tempo marker, notable
cleanup of TempoCurve class to remove unnecessary members.
More tweaks expected since algorithm for matching markers and tempo map
points is not correct yet.
2022-01-18 19:47:20 -07:00
Paul Davis
4db7aa6bdc
add Editor API to manage tempo map edits (at least, drags)
2022-01-15 22:53:36 -07:00
Paul Davis
7ea072a4f4
editor markers: refactor ::reassociate_metric_marks() to be able to process one marker at a time
2022-01-15 20:04:03 -07:00
Paul Davis
c24cabead0
GUI changes to follow TempoMap::sample_at() API changes
2021-11-17 15:57:30 -07:00
Paul Davis
f0cd3b5c0c
editor: when the tempo map changes, update the per-thread pointer
...
TempoMap::use() merely returns the current per-thread tempo map
pointer; if a change is signalled, we should force an update
of the per-thread ptr via TempoMap::fetch()
2021-11-17 12:16:38 -07:00
Paul Davis
3fe0a2f53a
fix warning noted by macOS compiler
2021-08-13 14:11:41 -06:00
Paul Davis
7938d8de4f
fix (some) editing based on tempo & meter marks
...
After beginning an edit operation with TempoMap::write_copy(), the tempoPoint and meterPoint objects
referenced by markers are incorrect, since they refer to the original map, not the copy we are working
on. Fix this with Editor::reassociate_metric_markers()
Some instances requiring this fix may still remain
2021-08-13 12:51:35 -06:00
Paul Davis
2ec93062d9
use simpler logic to avoid negative values when filling grid
2021-08-13 12:51:35 -06:00
Paul Davis
162d36ffc8
remove some debug output
2021-08-13 12:51:35 -06:00
Paul Davis
5153124664
change (GUI) Marker objects to accept any Canvas::Item as parent, and use this to draw BBT position markers in the BBT ruler
2021-08-13 12:51:34 -06:00
Paul Davis
c22c8ed69f
get TempoMarkerDrag and BBTRulerDrag to compile
2021-08-13 12:51:33 -06:00
Paul Davis
d131a9aa12
remove debug output
2021-08-13 12:51:33 -06:00
Paul Davis
80f543dc17
fix missing conversions between samples & superclock for ruler display
2021-08-13 12:51:33 -06:00
Paul Davis
b0b346c4ac
fix deadlock caused by not unlocking TempoMap when not finishing a meter-marker-drag
2021-08-13 12:51:32 -06:00
Paul Davis
e653e61923
fix up redrawing Tempo/Meter rulers when tempo changes
2021-08-13 12:51:32 -06:00
Paul Davis
3c857b697f
fix incorrect call to Tempo constructor that reordered note type and end tempo
...
Probably should find a better API for the constructor that makes this impossible
2021-08-13 12:51:32 -06:00
Paul Davis
eaedcd79d4
fix a bunch of undo-able tempo map operations to use RCU
2021-08-13 12:51:32 -06:00
Paul Davis
2674057ad6
prototype for new general code structure when editing TempoMap
2021-08-13 12:51:32 -06:00
Paul Davis
fbdd93a411
Fix Editor::mouse_add_new_meter_event()
2021-08-13 12:51:31 -06:00
Paul Davis
9412130c01
use cleaned up Temporal ::quarters*_at* API (GUI edition)
2021-08-13 12:51:31 -06:00
Paul Davis
90553b315f
fix up memento command use for tempo map undo/redo
2021-08-13 12:51:30 -06:00
Paul Davis
3c00fab75e
remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) (GUI edition)
2021-08-13 12:51:30 -06:00
Paul Davis
9f866a6bbe
consolidate some TempoMap modifier methods
2021-08-13 12:51:30 -06:00
Paul Davis
dade9994d8
collect together modifying TempoMap methods, and make ::apply_with_metrics() more clearly const
2021-08-13 12:51:30 -06:00
Paul Davis
1098b27b35
new tempo map API for almost all of the GUI now
2021-08-13 12:51:30 -06:00
Paul Davis
7ef11dc698
continued work on using new tempo map API (before switch to RCU)
2021-08-13 12:51:30 -06:00
Paul Davis
749a49c278
incorporating new tempo map API
2021-08-13 12:51:29 -06:00
Paul Davis
5b2a435e02
getting editor_drag.cc to compile
2021-08-13 12:51:29 -06:00
Paul Davis
9d69fa3820
another day or two's work on timeline type conversion
2021-08-13 12:51:29 -06:00
Paul Davis
f4490f54c5
change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
...
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
Ben Loftis
1fb5c443c7
and the 1/128
2021-02-21 07:14:49 -06:00
Paul Davis
b146e45df5
make sure that the 1/64ths grid case is covered
2021-02-20 18:37:56 -07:00
Robin Gareus
4050ca5633
Update GPL boilerplate and (C)
...
Copyright-holder and year information is extracted from git log.
git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Ben Loftis
808dc8ad64
new_grid: fix some thinkos in ruler math, to better match sensible grid lines.
...
Tweak enums to better match the Grid values they represent.
2018-07-27 00:26:21 +02:00
Ben Loftis
a699a637e4
Switch CDFrame grid to use MinSec ruler rather than Sample ruler.
2018-02-26 18:52:28 -06:00