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
Ben Loftis
983236f348
implement focus_on_clock for each tabbable
2024-11-10 23:27:35 +01:00
Ben Loftis
8f183e26ee
Use tabbable visibility functions on all pages
2024-11-10 23:27:35 +01:00
Ben Loftis
4b1e09f810
Pack Pages using Tabbable constructs
2024-11-10 23:27:35 +01:00
Ben Loftis
1b18c3e76c
Use Transport Bar in top-level pages
2024-11-10 23:27:34 +01:00
Robin Gareus
ff95d81612
Reduce reliance on boost - the easy part
...
* boost::unordered_map -> std::unordered_map
* BOOST_STATIC_ASSERT/static_assert
* BOOST_FOREACH -> for
* boost::tuple -> std::tuple/g
* boost::math::isnormal -> std::isnormal
* boost::container::set -> std::set
* boost::none -> std::nullopt
* boost::optional -> std::optional
2024-10-19 03:41:16 +02:00
Robin Gareus
2339b4dfdc
Replace PBD::Signals (2/2)
2024-10-18 20:41:08 +02:00
Paul Davis
01068fe306
further adventures in drag-refactoring do that LineDrag can be used in MidiCueEditor also
2024-10-17 07:44:32 -06:00
Paul Davis
e6c0fcf98f
refactor end-of-rb-selection for EditingContext
...
Whhat the main editor and the cue editor do with a click varies significantly
2024-10-17 07:44:32 -06: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
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
56ce9c33c0
renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine
2024-10-17 07:44:31 -06:00
Paul Davis
90c8726c6d
wideranging changes to get automation editing working in cue editor
2024-10-17 07:44:31 -06:00
Paul Davis
45e4b97a6f
move some methods from Editor to Editing context so that drawing controls work everywhere
2024-10-17 07:44:31 -06:00
Paul Davis
c4534cc9c4
undo history for MidiCueEditor
...
redo not operational yet for some unknown reason
2024-10-17 07:44:31 -06:00
Paul Davis
6081bd5e19
make CueEditor be a HistoryOwner and start on undo/redo refactor
2024-10-17 07:44:31 -06:00
Paul Davis
36eda47075
get temporal zoom workign in MidiCueEditor
...
and remove qite a bit of debug output
2024-10-17 07:44:30 -06:00
Paul Davis
48a6e8dfcf
basics of autoscroll for pianoroll (mostly shared with Editor)
...
More work to do moving/testing pianoroll autoscroll variant back into EditingContext
and sharing it with Editor.
2024-10-17 07:44:30 -06:00
Paul Davis
96ccb96b3b
redesign drag API to provide a bounding item, not just "trackview only"
...
This allows rubberband drags on both the main editor and the separate piano roll to wokr
correctly.
2024-10-17 07:44:30 -06:00
Paul Davis
14b95116e1
move various action registry stuff into EditingContext
2024-10-17 07:44:30 -06:00