Commit graph

39 commits

Author SHA1 Message Date
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
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
8523598664 fix management of undo/redo and _current_editing_context
We cannot switch on a leave event from a widget, because the undo/redo menu items must remain
labelled until we are actually in a new editing context. So switch when we switch tabs
or when we edit the (MIDI) cue editor
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
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
4bbdbc6d13 fix handling of MIDI draw tool actions and widgets
The actions and draw_xxx values are now "static", and changes in the values are
notified via a static PBD::Signal so that each EditingContext can update the
appearance of its relevant widgets.

Note also wider use of lambdas when creating actions and menu items.
2024-10-17 07:44:30 -06:00
Paul Davis
71f946f3b3 move tooltip settings for EditingContext widgets to EditingContext 2024-10-17 07:44:30 -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
033dd31ff1 fix reordering warning 2024-10-17 07:44:30 -06:00
Paul Davis
dc44d10b48 handle Escape signal in all EditingContexts (including MidiCueEditor) 2024-10-17 07:44:30 -06:00
Paul Davis
f2e1697058 dammit jim, it's a stack not a queue 2024-10-17 07:44:30 -06:00
Paul Davis
afe98a6671 correctly define MIDI actions using MidiView, not MidiRegionView
The latter is derived from the former.
2024-10-17 07:44:30 -06:00
Paul Davis
a9163516d8 the horizontal position *is* the value of the horizontal adjustment.
Don't waste time getting a less accurate answer from sample_to_pixel() on
_leftmost_sample.
2024-10-17 07:44:30 -06:00
Paul Davis
060d8c82d7 introduce concept of timeline origin to EditingContext
For the main editor, the timeline starts at the left edge of the editor
canvas. But for MidiCueEditor, we place a canvas-ified piano roll header on the
left of the canvas, so the timeline starts at some position right of that.

Note that this means that converting global canvas coordinates to timeline
coordinates is no longer guaranteed to be a 1:1 transform (it will be for
Editor, but in general for EditingContext).
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
14b95116e1 move various action registry stuff into EditingContext 2024-10-17 07:44:30 -06:00
Paul Davis
0d01e73b86 some state mgmt for EditingContexts 2024-10-17 07:44:30 -06:00
Paul Davis
fcf5bb88d5 cue editor/piano roll: starting to get mode buttons working and keybindings too 2024-10-17 07:44:30 -06:00
Paul Davis
5acedc036a fix up event handling so that MIDI note drag works in cue editor 2024-10-17 07:44:30 -06:00
Paul Davis
2b51e0ec24 prefer lambdas to stupid stub static functions 2024-10-17 07:44:30 -06:00
Paul Davis
f425a974d6 the continuing co-evolution of Editor,EditingContext & MidiCueEditor 2024-10-17 07:44:30 -06:00
Paul Davis
e3205bded0 do something to make MIDI bindings accessible in any EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
bde4768734 move a bunch of MIDI editing into EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
a2f04a3104 virtualize event handling methods for EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
10b48d2cc4 lock in some major steps for the midi cue/pianoroll editor 2024-10-17 07:44:29 -06:00
Paul Davis
e3be2c781f constification of EditingContext/{Public}Editor time+snap methods 2024-10-17 07:44:29 -06:00
Paul Davis
9e5211e9b1 move 2 relative time methods from RegionView to EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
204d4237f8 further steps towards MidiRegionView outside the Editor 2024-10-17 07:44:29 -06:00
Paul Davis
ca7bd9a73d manually merge in new actions for note tupling 2024-10-17 07:44:29 -06:00
Paul Davis
e6c56b39d1 finish basic distribution of EditingContext methods
This compiles but is not expected to work yet
2024-10-17 07:44:29 -06:00
Paul Davis
4398fe931b more movement of code and members from Editor => EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
b4e592a469 adjust relationship between VerboseCursor and Editor to use EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
2187c63bee add stub for cue editor 2024-10-17 07:44:29 -06:00
Paul Davis
1bf2307137 more reorganization of implementations between Editor & EditingContext & PublicEditor 2024-10-17 07:44:29 -06:00
Paul Davis
7d5f575d61 finish inheritance work between EditingContext & Editor
this completes the initial phase of defining what an EditingContext must offer,
though the may expand or shrink as we being work on editing outside the Editor
2024-10-17 07:44:29 -06:00
Paul Davis
dee8e920e6 editing refactoring, the drag part 2024-10-17 07:44:29 -06:00
Paul Davis
089a9521d5 steps to an ecology of editing 2024-10-17 07:44:29 -06:00