Aleksandr Prokudin
f26994c747
Remove the X to make a user-visible message translatable
2025-11-15 14:18:33 +01:00
Paul Davis
b53eb649af
cue editors: fix connecting to timer for playhead updates
2025-10-29 18:12:07 -06:00
Paul Davis
3015e18c18
make count in text more likely to appear as expected
2025-10-27 19:35:41 -06:00
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
4c95a82934
removed unused variable
2025-10-25 14:58:56 -06:00
Paul Davis
297e146152
use the correct region tempo map when getting BBT metric in a CueEditor
2025-10-20 14:58:16 -06:00
Robin Gareus
6126b96ca3
Properly display solo state on cue page, include implicit solo
2025-09-25 21:37:01 +02:00
Paul Davis
3cd7bd661c
also save mouse mode, x-origin and snap mode in RegionUISettings
2025-09-15 22:14:27 -06:00
Paul Davis
a6295e4d3f
cue editors: add zoom focus to saved state
2025-09-15 22:07:28 -06:00
Paul Davis
1426573707
do not disconnect from history changed signal when resetting a region in a cue editor
...
The history is cleared separately, we can remain connected to the signal. Nothing will happen to it that
we don't control, since we own the UndoHistory object
2025-09-10 15:09:07 -06:00
Robin Gareus
5d9d367cde
Don't unset CueEditor:_track when changing regions.
...
CueEditor::catch_pending_show_region() calls ::set_region
which calls CueEditor::unset(false). This reset _track.
Also PianorollWindow::set() calls set_track() before set_region(),
the latter also reset CueEditor::_track.
This fixes the Solo button in the Pianoroll window, and
probably some other things, too.
2025-09-09 01:25:33 +02: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
ac7cbec9c9
no need for EC_LOCAL_TEMPO_SCOPE in CueEditor::session_going_away()
2025-09-01 11:17:24 -06:00
Paul Davis
6187dd35c8
refactor code for region trimming from Pianoroll/MidiView
...
This splits out boundary-dragging things into boundary.{cc,h} and the rest
into CueEditor
2025-08-27 14:02:49 -06:00
Robin Gareus
cd9fe29347
One less debug message
2025-08-27 15:58:53 +02:00
Robin Gareus
5e706c4fd4
Remove debug message
2025-08-25 01:08:55 +02:00
Paul Davis
01000ab6c9
do not short-circuit CueEditor::set_region() if used with the current region
...
This stops us from failing to calling unset(), which was resulting in a pianoroll
being over-connected to a region's property change signal.
Also, EC_LOCAL_TEMPO_SCOPE is inappropriate in a method that will
call set_local_tempo_map()
2025-08-24 16:28:56 -06:00
Paul Davis
e684fb4eaf
use Session::request_locate() fully, to avoid 2nd session transport request
2025-08-23 22:35:16 -06:00
Robin Gareus
4b88330c9c
Use main editor for loop-range undo/redo - fix crash
...
While CueEditor is-a HistoryOwner, session specific
changes such as Location don't belong in EditingContext.
This fixes a heap-use-after-free crash since MementoCommand
was free()ed twice. Once via ARDOUR::Location::~Location
and earlier due to direct Destructible::drop_references
from the History.
This partially reverts 04a8fb1eb6
2025-08-20 21:32:22 +02:00
Paul Davis
bd34f1744d
add window geometry to region UI settings, and save after changes
...
Changes are detected in Pianoroll::canvas_allocate(), which is a proxy for window
geometry. Since Pianoroll doesn't own a window, this is not necessarily ideal, but it
works.
2025-08-18 12:47:25 -06:00
Paul Davis
192c7a2f9a
fix for a subtle bug that led to track headers not expanding as intended
...
now that we use action-as-state, there was no way to look up the old
mouse mode when changing into or out of internal editing. this
prevented us from queuing the redisplay of trackviews that allows the track
headers to expand when appropriate.
2025-08-14 18:48:04 -06: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
2312187070
sort-of-a-solution for local TempoMap context in EditingContext
2025-08-10 20:25:59 -06:00
Paul Davis
673ce0f66f
defer regionmap creation in clip editors to region
2025-08-10 07:55:39 -06:00
Paul Davis
ea4737079d
region tempo and meter are optional (gui)
2025-08-10 07:55:39 -06:00
Paul Davis
ff648b6720
cue editor: fix local tempo scope and use region tempo map
2025-08-08 22:46:16 -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
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
ea1695dbc0
code refactoring and action name handling to make follow-playhead work in multiple editing contexts
2025-06-15 21:17:42 -06:00
Paul Davis
6918a8a267
some rationalization to how Editor & CueEditor (Pianoroll) handle ZoomLevel and TimeOrigin changes
2025-05-19 14:57:19 -06:00
Paul Davis
852ad9a7da
move grid updating code and members into EditingContext
2025-01-29 17:40:57 -07:00
Paul Davis
656273cb9f
fix zoom focus issues (not properly refactored in pianorule
2025-01-22 18:20:25 -07:00
Paul Davis
f052c3ae15
some API tweaks, code movement and code implementation to make rbselect for pianoroll automation work
2025-01-19 15:10:35 -07:00
Paul Davis
eafa09099a
get cue editor "full zoom" button working
2024-12-30 21:48:20 -07:00
Paul Davis
0a40b50b86
refactor zoom focus handling so that all EditingContexts can use the same code
2024-12-29 11:24:16 -07:00
Paul Davis
fb4fefe573
fix some issues with zoom focus after refactoring it into EditingContext
2024-12-12 11:53:15 -07:00
Paul Davis
38f5546327
actually implement ::reposition_and_zoom() for midi cue editor
2024-12-12 11:53:15 -07:00
Paul Davis
c24b889717
for now, midi cue view uses mouse for zoom focus
2024-12-12 11:53:15 -07:00
Paul Davis
a6ca9be006
refactor editor-y zooms into EditingContext
2024-12-12 11:53:15 -07:00
Paul Davis
98c9c03e9f
remove all trace of cursor stacks; canvas cursor is always "just set"
2024-12-08 12:13:41 -07:00
Paul Davis
d5cc1b5efc
initial steps to trigger start/end point display and editing
2024-11-22 09:33:38 -07: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
4b8c51574d
refactor the "selectables" API to allow use within separate (e.g. cue) editors
2024-10-17 07:44:32 -06:00
Paul Davis
2fceb66193
manual fixups for errors during rebasing against master
2024-10-17 07:44:31 -06:00
Paul Davis
86ecca8c76
make undo/redo action sensitivity work with multiple EditingContexts
2024-10-17 07:44:31 -06:00