Commit graph

1157 commits

Author SHA1 Message Date
Paul Davis
deafaa904f editor: add actions, methods and menu items to control global quantization 2025-10-31 13:24:35 -06:00
Robin Gareus
4f4a62564a
Update TimeFX settings and dialog for StaffPad inclusion
Also rubberband is required these days and USE_RUBBERBAND
not optional.
2025-10-09 00:02:06 +02:00
Paul Davis
4b28ca2136 move minsec-ruler related code and variables from Editor to EditingContext 2025-09-02 11:03:38 -06:00
Paul Davis
07b20aa60a kbd automation: no popup immediately after add, 2nd Return/Enter for that
Also, two different bindings for adding a point with and without guard points.
2025-08-21 18:56:00 -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
Robin Gareus
07dc5c0fc0
Remove cruft 2025-08-19 14:04:13 +02:00
Paul Davis
368189c4f6 an initial guess at using the new region-edit-disposition parameter
No editing of the parameter yet
2025-08-18 18:26:10 -06:00
Paul Davis
fa97071872 mamy improvements to kbd-driven automation editing
Really needs a short video to demo/explain
2025-08-12 21:44:50 -06:00
Paul Davis
4f5848d85c action-ify stationary playhead mgmt; fix up follow-playhead action handling 2025-08-08 11:35:20 -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
74a0272c50 Editor/EditingContext get proxyimplementations of HistoryOwner::add_commands() 2025-07-09 17:01:22 -06:00
Paul Davis
c6a49fdd50 basic implementation of Live-style kbd-driven automation editing 2025-06-17 14:03:43 -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
ac922f1683 remove cruft from initial addition of find-and-display 2025-06-07 23:04:06 -06:00
Paul Davis
4867ed49da add find-and-display-stripable, bound to Primary-Tertiary-l by default 2025-06-07 21:10:30 -06:00
Paul Davis
94dbcaa7e2 provide a new EditingContext/Editor method to set the cursor appropriately for section selections 2025-05-14 11:37:01 -06:00
Paul Davis
8d7b4f7991 fixes so that cursor changes inside a MidiRegionView work as intended
They already worked in the PianorollMidiView, because that hands off enter/leave events
to the parent EditingContext (a Pianoroll). But MidiRegionView and Editor were
not interacting in the same way, so leaving a note object would not cause the Editor
to do the right thing with the cursor.
2025-04-25 11:28:45 -06:00
Paul Davis
15c808c9f4 expand the dialog used for renaming location markers to allow scene editing
This has no visible effect for anything that is not livetrax (for now).
2025-04-07 17:46:01 -06:00
Paul Davis
04a8fb1eb6 add mostly-function play/loop/solo buttons to pianoroll
These need to be hidden when working on cues
2025-03-15 10:56:47 -06:00
Paul Davis
49d9701aaf cleanup a virtual method that is no longer relevant after the prior commit 2025-03-12 21:15:32 -06:00
Paul Davis
252be10a73 fix action group used for Editor/set-mouse-mode-object-range 2025-03-12 21:10:44 -06:00
Paul Davis
83d2adfd67 remove current_editing_context concept
All bindings, actions and members of an EditingContext are now per-EditingContext,
and have no impact on others (other than cursors).
2025-03-12 12:36:34 -06:00
Robin Gareus
f9e78dc128
Resize Videotimelime with DPI 2025-03-07 00:41:07 +01:00
Robin Gareus
7b9e9d7241
Resize rulers when DPI changes 2025-03-06 21:50:05 +01:00
Robin Gareus
b3ee25f812
Set remove-last-capture sensitivity 2025-03-01 23:27:23 +01:00
Robin Gareus
0358cec2fc
Add pianoroll to Editor bottom panel 2025-02-25 16:13:15 +01:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Paul Davis
852ad9a7da move grid updating code and members into EditingContext 2025-01-29 17:40:57 -07:00
Paul Davis
ef6502d88d initial refactoring to prepare for grid lines in pianoroll 2025-01-29 17:40:57 -07:00
Robin Gareus
42e82fb590
Move to a two button themed editor sidebar selector 2025-01-28 22:52:00 +01:00
Robin Gareus
7035189346
Use meta-button instead of editor sidebar notebook tabs (again)
This reverts commit a0fd339f64
and db90906c7c.

and replaces it with three meta-buttons
2025-01-28 07:52:35 +01:00
Paul Davis
d8baa0b240 track entry to Editor so we can set the current editing context 2025-01-22 18:20:25 -07:00
Robin Gareus
db90906c7c
Remove notebook tab shrinking
Various tabs on the current editor-sidebar do not allow
shrinking (so that only tabs remain visible).

Double-click shrinking was also never implemented on other
page sidebars, and was not missed by any users there.
2025-01-22 19:18:35 +01:00
Robin Gareus
a0fd339f64
Revert "Use dropdown instead of editor sidebar notebook tabs"
This reverts commit 472fa58afe.
2025-01-22 19:18:35 +01:00
Paul Davis
ab39c26f68 a variety of changes to make timeline-region editing-in-pianoroll to start to work
This also removes the useless "new pianoroll window" menu option and action
2025-01-20 18:05:19 -07:00
Paul Davis
4e8591da99 move cut/copy/delete/paste operations into EditingContext
derived classes (Editor and Pianoroll) provide ::cut_copy() to wrap the
context-specific logic, and then both defer to MidiView for MIDI-specific
operations.

Note that this also changes several action names in ardour.keys.in
2025-01-14 15:31:53 -07:00
Robin Gareus
3c43628344
Cont'd work on editor rulers (actions and style) 2025-01-10 02:12:02 +01:00
Robin Gareus
85b637878d
Add action to create arrangement markers 2025-01-08 04:31:15 +01:00
Robin Gareus
c4d5a6b873
Consolidate Ruler area setup, prepare for interactive buttons 2025-01-08 04:31:15 +01:00
Paul Davis
e206fd5863 share the full zoom button in EditingContexts 2025-01-07 17:11:08 -07:00
Paul Davis
bd9ab55fa0 move zoom in/out buttons to EditingContext and use on the pianoroll 2025-01-07 12:59:13 -07:00
Robin Gareus
472fa58afe
Use dropdown instead of editor sidebar notebook tabs 2025-01-06 22:53:54 +01: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
c98a36be0f switch mouse button and motion handling in MidiView to use Drag formalization
It appears that mouse handling in MidiRegionView (now moved into MidiView)
predated the full Drag formalization. This led to inconsistencies as parts of the Drag
formalization were adopted, including the use of motion events to start a drag (this
is incorrect in the current semantics of a Drag).

This commits removes all/most of the special purpose drag handling machinery in MidiView
and uses Drags instead
2024-12-27 14:13:02 -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
a6ca9be006 refactor editor-y zooms into EditingContext 2024-12-12 11:53:15 -07:00
Robin Gareus
ecaeea94e5
Replace gettimeofday with monotonic time
let's be independent of NTP updates, daylight savings time
and syscalls.
2024-12-02 23:50:04 +01:00