Commit Graph

242 Commits

Author SHA1 Message Date
Paul Davis e2e6274956 libardour: change API of Session::request_locate() to include "force" argument (GUI edition) 2022-05-27 18:49:23 -06:00
Paul Davis 399a5b3f25 convert use of operator* for tim::line types with ::scale(ratio_t) (GUI edition) 2022-05-27 12:47:44 -06:00
Paul Davis bd3fdaeb67 clean up editor's set_ramped() and set_continuing() code
Now that the libardour methods return bool, we can identify whether or not any
change actually took place, and act appropriately.
2022-05-24 17:10:25 -06:00
Paul Davis d8ba73f542 temporal: change "clamped" terminology to "continuing" (since that's what the GUI calls it) (GUI edition) 2022-05-23 08:07:08 -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
Ben Loftis 5f0c7fe3d6 move cue-behavior to session config (gtk part) 2022-02-19 11:49:01 -06:00
Paul Davis 17e5667216 triggerbox: use translatable marker name function in GUI 2022-02-11 11:33:43 -07:00
luz paz 364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Ben Loftis f6813e0749 Ruler Markers: customize the menus for Cue Marks, including a way to change the Cue-ID 2022-01-21 10:13:11 -06:00
Ben Loftis 48c5974b2b Ruler Marker: watch for -my- location cue-id to change 2022-01-21 10:07:48 -06:00
Ben Loftis 85f05eaca5 Ruler Markers: only listen to -this- marker (NameChanged), not all of them (name_change) 2022-01-21 10:04:04 -06:00
Ben Loftis 60cbe57a6e Marker Rulers: changes to match mini-timeline aesthetic
Highlight ruler lanes when you enter, instead of showing many lines
2022-01-20 18:59:21 -06:00
Paul Davis 41ade3b024 add a distinct Marker type enum for cue markers
Plan is to change the shape before this is considered done; for now
it uses the same shape as a regular marker
2022-01-19 09:06:38 -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 0baf0d859d GUI side of cue behavior (makes it available in the ruler context menu) 2022-01-06 12:00:18 -07:00
Paul Davis 7c35783d63 various fixes for cue marker creation, dragging, naming 2022-01-05 13:27:47 -07:00
Paul Davis 73ca08933d fix default naming of cue markers 2022-01-05 13:27:47 -07:00
Paul Davis b1f73d25bf actual GUI interaction for cue marker ruler 2022-01-04 15:23:51 -07:00
Paul Davis 77d83540b1 copy-n-paste addition of cue marker ruler (based on cd marker ruler) 2022-01-04 15:23:51 -07:00
Robin Gareus 3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
Paul Davis fd5594f831 use Editor::reassociate_metric_markers() before performing edits on tempo map
The objects referenced by markers point to the copy of the map held by the per-thread ptr. But
the edits must be done on a writable copy of the map. ::reassociate_metric_markers() fixes
the references to use the writable copy, so that when we pass references to the objects in the map
to the writable copy, it will find them and modify them (rather then ones in the previous
generation of the tempo map)
2021-11-17 12:16:39 -07:00
Paul Davis 2bad9e0a85 do not create timepos_t from timepos_t unnecessarily 2021-08-13 12:51:36 -06:00
Paul Davis 40c29640f5 fix crash when dragging markers 2021-08-13 12:51:36 -06:00
Paul Davis b6f290add2 timeline type changes for new ripple code and post-conflict-resolution fixups 2021-08-13 12:51:36 -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 ce3fb0507c change return type of Tempo::set_{ramped,clamped} and fix call sites 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 9d4d3908e6 remove some nutempo #warnings and fix up Location time domain API 2021-08-13 12:51:33 -06:00
Paul Davis 87dfef28f6 allow new locations creation from playhead to use default time domain 2021-08-13 12:51:33 -06:00
Paul Davis 9c1e88e675 remove NUTEMPO #warning (dealt with in caller) 2021-08-13 12:51:33 -06:00
Paul Davis 7e6f0ea2bb remove NUTEMPO warning 2021-08-13 12:51:33 -06:00
Paul Davis eab0bdfde0 fix next set of tempo map changing code blocks to use RCU 2021-08-13 12:51:32 -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 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 9d69fa3820 another day or two's work on timeline type conversion 2021-08-13 12:51:29 -06:00
Paul Davis 1ee38e7a7f another in-progress snapshot of gtk2_ardour after getting audio_clock.cc to compile 2021-08-13 12:51:29 -06:00
Paul Davis 7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 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
Paul Davis 23aa663f9d when doing a ripple-all drag, move relevant markers during the drag too
Note that this is purely GUI-level: the ARDOUR::Locations are changed at the end of the drag
in Editor::ripple_marks()
2021-08-13 12:51:28 -06:00
Paul Davis 537b8ff12d fix crash when context-clicking on a region/source cue marker 2021-06-27 22:13:54 -06:00
Paul Davis 3047b25527 split out region marker actions to their own submenu; implement remove and clear all 2021-05-18 20:59:37 -06:00
Paul Davis 60a972a7de implement region marker deletion 2021-05-18 18:01:38 -06:00
Paul Davis bd2d8b8c87 tweak Editor remove-marker APIs to set state for removing region cue markers 2021-05-18 16:50:55 -06:00
Paul Davis 91ec860b3b redesign color mgmt when entering/leaving markers of various kinds 2021-05-18 16:17:37 -06:00
Paul Davis 1685843082 global marker objects do not need a canvas height, so remove member and API to manage it
They extend (down) from an origin to COORD_MAX. The height is irrelevant
2021-05-14 18:37:50 -06:00
Paul Davis ac53a9bbf8 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) 2021-05-03 17:40:41 -06:00
Robin Gareus 39334279b5
LAN for ranges 2021-04-13 00:10:38 +02:00