Commit graph

41 commits

Author SHA1 Message Date
Paul Davis
4b94f96ebf 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-27 16:47:10 +02: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
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
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
fcf5bb88d5 cue editor/piano roll: starting to get mode buttons working and keybindings too 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
f6b069d251 steps toward rulers for the MIDI cue editor 2024-10-17 07:44:29 -06:00
Paul Davis
0311bffed8 progrss with rubber band selection and event handling in MIDI cue editor 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
2187c63bee add stub for cue editor 2024-10-17 07:44:29 -06:00