Commit graph

30 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
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
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
cee0ad349f rename audio clip editor ruler member and fix colors 2025-08-08 12:40:02 -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
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Paul Davis
ca1583cdad the great onceification (gui)
Replace use of #ifndef header guards with #pragma once

Modern C++, baby!
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
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
c18d175f55 triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry 2021-12-21 17:40:37 -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
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
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
Paul Davis
ef07d47bf8 audio clip editor: use scroll group for waves container 2021-12-10 15:15:16 -07:00
Paul Davis
e3cac796b3 audio clip editor: primitive (left-focus) zoom 2021-12-10 12:50:44 -07:00
Paul Davis
5b4dd8dcf4 audio clip editor: basics of line dragging 2021-12-10 11:59:19 -07:00
Paul Davis
56835d342c audio clip editor: basic line drawing 2021-12-10 09:47:56 -07:00
Paul Davis
3bbe54f07a audio clip editor: draw entire source file(s), not just region 2021-12-10 08:54:38 -07:00
Paul Davis
757debb711 start putting some relevant elements into the AudioClipEditor 2021-12-09 21:12:47 -07:00
Paul Davis
12dc428a60 change class names and heirarchy for the GUI elements that will be used to edit/trim clips 2021-12-09 19:45:25 -07:00
Paul Davis
7426c96812 remove incorrectly added files 2021-12-09 19:41:21 -07:00
Paul Davis
54c71c3d61 skeleton/experiment for audio clip editor 2021-12-06 14:53:04 -07:00