Commit graph

62 commits

Author SHA1 Message Date
Paul Davis
1fa666c090 refactoring of various clip GUI code
This better defines when a region/trigger/track is being set and
signals connected/disconnected to/from, along with some more
code sharing between the MIDI (Pianoroll) and audio (AudioClipEditor)
versions of things
2025-10-27 09:27:24 -06:00
Paul Davis
5cdeaf6063 audio clip editor; add support for count-in display 2025-10-27 09:27:24 -06:00
Paul Davis
8641e155cf audio clip editor: set region when trigger is set 2025-10-25 15:16:29 -06:00
Paul Davis
67c45dd44d audio clip editor: do not short circuit repeated set_trigger() w/same trigger 2025-10-25 15:16:15 -06:00
Paul Davis
a5d2e3b3e2 make trigger-page audio & MIDI editors resizable in a consistent way 2025-10-13 10:05:16 -06:00
Paul Davis
2ba08fa1d0 allow audio clip editor to resize 2025-10-12 11:49:18 -06:00
Paul Davis
2e33194ed5 virtualize some CueEditor methods to allow audio clip editor to do the right thing 2025-09-02 11:09:37 -06:00
Paul Davis
3850dbc8d0 remove debug output 2025-09-02 11:08:40 -06:00
Paul Davis
0398836dfe remove unused local variable 2025-09-02 11:08:29 -06:00
Paul Davis
6d38195da0 remove unused local variable 2025-09-02 11:08:20 -06:00
Paul Davis
3c5b4ce1b0 NO-OP: move source file location of ~AudioClipEditor 2025-09-02 11:07:50 -06:00
Paul Davis
91cee544c2 use minsec ruler in AudioClipEditor 2025-09-02 11:05:17 -06:00
Paul Davis
3219802c6f audio clip editor: use refactored region trim handling now in CueEditor 2025-08-27 14:02:49 -06:00
Paul Davis
2563eb2e1d remove some debug output 2025-08-20 07:04:54 -06:00
Robin Gareus
6589fdf9e8
Always clean up after ourselves.. 2025-08-20 13:28:08 +02:00
Paul Davis
63db3d3736 fix interference between timer-based update in CueEditors and scroll-drag 2025-08-14 14:55:37 -06:00
Paul Davis
92267ec7db new scoped tempo maps mean we can use scope macro everywhere, for consistency 2025-08-12 07:54:11 -06:00
Paul Davis
a2c0183cbc temporal: fix up some logic relating to scoped tempo maps (GUI) 2025-08-11 15:41:34 -06:00
Paul Davis
56647acc25 add local tempo scope calls to CueEditor, PianoRoll and AudioClipEditor 2025-08-08 15:03:41 -06:00
Paul Davis
cee0ad349f rename audio clip editor ruler member and fix colors 2025-08-08 12:40:02 -06:00
Paul Davis
ed594c5217 fix order of assembly for audio clip editor 2025-08-08 12:39:45 -06:00
Paul Davis
28e0082868 use std::unique_ptr for a couple of EditingContext members 2025-08-08 12:12:09 -06:00
Paul Davis
9c890f2690 zoom focus and snap mode get the stateful-action treatment 2025-07-30 15:28:46 -06:00
Paul Davis
1d4e3940d1 large-scale refactoring of Pianoroll, CueEditor and AudioClipEditor
Enables code-sharing between "clip editors"
2025-07-29 18:16:35 -06:00
Paul Davis
7be70d658b Revert "refactor pianoroll/cueeditor/audioclipeditor to share code and do the right stuff (compile success stage)"
This reverts commit 01beb00a5f.
2025-07-17 22:38:05 -06:00
Paul Davis
01beb00a5f refactor pianoroll/cueeditor/audioclipeditor to share code and do the right stuff (compile success stage) 2025-07-17 22:36:25 -06:00
Paul Davis
d07710e847 remove last of the remnants of "ardour-bindings" strings 2025-03-19 20:19:08 -06:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Paul Davis
56ce9c33c0 renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine 2024-10-17 07:44:31 -06:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus
86d9bcf525 Remove direct use of audio-engine rate (2/2)
This is in preparation for sample-rate independence.
2023-01-22 20:07:40 +01:00
Paul Davis
b6e0332148 use Item::disable_scroll_translation() for AudioClipEditor scroll bar 2022-01-20 09:46:35 -07:00
Ben Loftis
251263828b trigger_ui: gui for barcnt and meter (AudioTriggers only) 2022-01-17 19:02:06 -06:00
Ben Loftis
6e5cb50f32 trigger_ui: add buttons to display and modify segment_tempo 2022-01-13 23:19:59 -06:00
Paul Davis
a71ab327a3 triggerbox UI: set ruler metric 2021-12-24 15:34:30 -07:00
Paul Davis
c18823c0e0 triggerbox: change entire UI side to avoid using TriggerPtr
Lifetime management of Triggers is unlike anything(?) we've dealt with in
Ardour so far. The parent object (Triggerbox) has a normal lifetime
pattern, but Triggers can come and go in a way that few other objects
do (although Processors and particularly PluginInsert are somewhat similar).
We do not want the GUI to hold references to the actual Triggers, because the
end of life of a Trigger is not really a signal for the GUI element to go
away (the Trigger will be replaced in the slot). Consequently, we do not
want TriggerPtr used as a member variable anywhere in the UI. Instead we use a
TriggerReference which can "lookup" a Trigger on-demand (by box and slot
number). The (G)UI now uses these exclusively.

Work still needed to pick up trigger swap signals from the boxen.
2021-12-24 14:18:10 -07:00
Paul Davis
8e86451685 remove some debug output 2021-12-21 17:58:29 -07:00
Paul Davis
c18d175f55 triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry 2021-12-21 17:40:37 -07:00
Robin Gareus
8fa8e7d814
Resolve yet more ambiguous Rect (fixes macOS build) 2021-12-20 21:22:21 +01:00
Paul Davis
da00c50271 disambiguate Rectangle for win/macOS 2021-12-15 09:38:10 -07:00
Paul Davis
a0db260daa audio clip editor: hide ruler if we do not know the tempo, since we can't draw it under such circumstances 2021-12-13 09:21:06 -07:00
Paul Davis
f5049cda74 audio clip editor: restore ruler removed during merge conflict resolution; incrementally improve its behavior 2021-12-12 22:49:29 -07:00
Robin Gareus
8bb0e18f3f
Fix merge-conflict and clang-format in previous commit 2021-12-12 14:01:46 +01:00
Robin Gareus
efed7343e0
NO-OP: clang-format, cleanup 2021-12-12 13:48:52 +01:00
Paul Davis
c233609c7c audio clip editor: add an incomplete ruler to the display 2021-12-11 21:05:32 -07:00
Paul Davis
3efd26e864 audio clip editor: actual scrolling with the scroll bar
Some issues remain to be solved, related to scroll groups and coordinate offsets
2021-12-10 17:56:10 -07:00
Paul Davis
e61c493fa5 audio clip editor: not-quite-working scrollbar
Something about Canvas::ScrollGroup::scroll_to() is not working quite
as expected ... to be determined
2021-12-10 17:16:47 -07:00
Paul Davis
0e9eef46a0 audio clip editor: lines belong to scroll group 2021-12-10 16:06:39 -07:00
Paul Davis
cb2b78bb41 audio clip editor: add scroll bar handle 2021-12-10 16:04:47 -07:00
Paul Davis
02026c98ff basic skeleton for clip editor bindings 2021-12-10 15:15:56 -07:00