Commit graph

1045 commits

Author SHA1 Message Date
Robin Gareus
5cebd64924
Fix fit tracks
The track-height change needs to be applied so that
vertical_adjustment max range is set correctly.
Otherwise vertical_adjustment.set_value() may fail
or scroll to the wrong position.

In 5b3eacd421 `redisplay_track_views()` was moved from
EditorRoutes to Editor. The call was delegated to the idle
thread, potentially collecting multiple calls before performing
the update.

This resulted in "Fit selection" to set the y-offset before the
height-change was applied.
2022-01-27 19:57:58 +01:00
Robin Gareus
5b3eacd421
Make editor independent of EditorRoutes 2022-01-27 01:28:49 +01:00
Robin Gareus
dd4b4dc00b
Move PluginSetup callback to Editor
This is unrelated to the sidebar route-list and should never
have been in EditorRoutes.
2022-01-25 06:27:21 +01: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
Robin Gareus
0204ea1f24
Unify Region Drag/Drop
Identify Regions using PDB::ID. This allows dragging regions
from almost anywhere to anywhere, without special cases.
2022-01-19 17:13:51 +01: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
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
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
541b91d293
Implement Bounce Range to Trigger 2021-12-23 22:39:57 +01:00
Robin Gareus
8d137b1514
Add API to support Editor sidebar DnD outside of the editor 2021-12-14 21:33:24 +01:00
Robin Gareus
4720a45868
Make convert_drop_to_paths() reusable 2021-12-13 22:50:13 +01:00
Ben Loftis
1e38797efc PropertyBoxen: move selection-properties into the sidebar 2021-12-08 12:45:11 -06:00
Ben Loftis
84111a343e Deinterlace MIDI: gui part 2021-11-19 10:28:37 -06:00
Ben Loftis
93e68a5a00 MIDI Draw: provide a menu for Channel and Velocity 2021-11-18 07:35:13 -06:00
Ben Loftis
2a6da0113f MIDI Draw: Provide a menu to explicitly select note-length
ToDo: 3,5,7's?  keyboard shortcuts?
2021-11-18 07:35:13 -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
3c57e4a485 fix timeline type use 2021-08-13 12:51:36 -06:00
Paul Davis
9009bbf986 fix declaration of {Public,}Editor::do_import() (post rebase conflict resolution) 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
fed449d54d various fixes to get time stretching basically working again
Time domains are not well respected at present, so more work is needed here
2021-08-13 12:51:35 -06:00
Paul Davis
b2655d13f1 make Editor::snap_to_bbt() public 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
4f1ad4ed0d start adding new BBT marker support 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
6a44dcbdad add Editor::canvas_event_time()
See comments in header for more
2021-08-13 12:51:33 -06:00
Paul Davis
5074553f15 add Editor::default_time_domain()
Not 100% certain about the logic here, but at least the method exists now
2021-08-13 12:51:33 -06:00
Paul Davis
e653e61923 fix up redrawing Tempo/Meter rulers when tempo changes 2021-08-13 12:51:32 -06:00
Paul Davis
06f93e65b2 fix timefx to use ratio_t from the beginning of the operation 2021-08-13 12:51:32 -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
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
f67029bd02 random commit to facilitate trivial move of work from laptop back to main system 2021-08-13 12:51:29 -06:00
Paul Davis
5836a4f2b6 timeline types conversion for editor_ops.cc 2021-08-13 12:51:29 -06:00
Paul Davis
2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 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
1b06fcb335 another snapshot of ongoing work on timeline types. still not compilable 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
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
12b536d8f2 add API to fetch all regionviews after a given position 2021-08-13 12:51:28 -06:00
Paul Davis
ac1d5bac0a improve rippling of marks to include any in the gap between the primary-dragged region and the one before it 2021-08-13 12:51:27 -06:00
Paul Davis
0c77a35178 completely remove RegionRippleDrag, and merge Editor::add_region(_copy,}_drag() into one method 2021-08-13 12:51:27 -06:00
Paul Davis
77e67809f9 we removed Splice mode from the GUI 7 years ago; now remove all code related to Splice mode (GUI edition) 2021-08-13 12:51:27 -06:00
Paul Davis
e5175f51d6 make region-selection on click apply across tracks if RippleAll is in use 2021-08-13 12:51:27 -06:00
Paul Davis
636f1331e8 stop using ripple callback API, add Editor::should_ripple() and Editor::do_ripple() to manage rippling 2021-08-13 12:51:27 -06:00