Paul Davis
1ecb28da47
tweak local tempo scope infrastructure
2025-08-08 15:03:11 -06:00
Paul Davis
22abddcd95
no local tempo scope for constructors
2025-08-08 14:39:40 -06:00
Paul Davis
4e23772b5d
ensure (possible) local tempo map at start of every EditingContext method
...
This still needs to be done for derived, non-Editor classes
2025-08-08 14:34:03 -06:00
Paul Davis
e682e1fde4
refinements to infrastructure for an EditingContext's locally scoped tempo map
2025-08-08 14:34:03 -06:00
Paul Davis
28e0082868
use std::unique_ptr for a couple of EditingContext members
2025-08-08 12:12:09 -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
19f6b5277c
when setting default actions, do dbl-set to force change
2025-08-06 11:44:20 -06:00
Paul Davis
d654d98661
fix a #warning about zoom focus state
2025-07-30 22:18:26 -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
8037762690
braces, please
2025-07-29 18:16:35 -06:00
Paul Davis
561dde4d3a
move grid/snap actions into common editing groups and bindings
2025-07-13 10:37:26 -06:00
Paul Davis
641e3441b8
fix operation of MIDI draw channel dropdown/selector
2025-07-12 11:06:33 -06:00
Paul Davis
38cfd12bac
NoCamelCase method names (gui)
2025-07-12 10:51:54 -06:00
Paul Davis
25b1057e7d
fix computation of maximum zoom for an editing context
...
it must take the max_extents_scale() value into consideration.
2025-07-04 12:22:10 -06:00
Paul Davis
baf41a65c3
some incremental improvements in scroomer behavior
...
Notably dbl-click works consistently/reliably
2025-06-30 09:39:51 -06:00
Paul Davis
87b50a4ecd
use method instead of a direct call, to centralize logic
2025-06-28 22:45:08 -06:00
Paul Davis
ad6b6f1e30
desensitize automation keybindings after session is set, to avoid them being active by default
...
ARDOUR_UI sets all session-sensitive actions to sensitive at session load
2025-06-28 22:44:41 -06:00
Paul Davis
a2c8203a19
use new ArdourDropdown API to build two of the midi draw menus
2025-06-25 22:18:15 -06:00
Paul Davis
567c0e09b8
NO-OP: remove out of date comment
2025-06-24 17:58:08 -06:00
Paul Davis
5e402aa0f9
NO_OP: better code styling
2025-06-24 17:57:47 -06:00
Paul Davis
7cf90f0f54
NO-OP: spaces, please
2025-06-24 17:57:17 -06:00
Paul Davis
e448c3f4aa
allow pianorolls not to show MIDI channel selector/dropdown
...
pianorolls have the visibility channel control. at some point we want the same idea
for the timeline, but it is not there yet
2025-06-23 16:16:12 -06:00
Paul Davis
a17cf3929d
NOOP: whitespace around operators
2025-06-23 16:15:36 -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
Robin Gareus
86a0bfdeab
Use consistent label for MIDI channel (main toolbar and pianoroll)
2025-06-13 17:16:59 +02:00
Robin Gareus
4c5284737d
Use action to toggle follow playhead
2025-06-12 22:19:14 +02:00
Robin Gareus
666a32499c
Move the follow_edits from toolbar to editor context bar
2025-06-12 22:11:33 +02:00
Paul Davis
27796ddefb
use new follow playhead icon
2025-06-12 12:52:13 -06:00
Paul Davis
08da5255fe
tweak EditingContext APIs to get context menus in pianoroll working sensibly
...
There is now a separate context menu for note-context clicks and "region" context clicks.
Something similar may be desirable for timeline editing too
2025-06-12 12:09:11 -06:00
Paul Davis
b6d8f77173
fix bad lifetime mgmt for VerboseCursor class
2025-05-27 08:49:32 -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
f6b3caad52
do not attempt to compute samples per pixel (zoom level) on EditingContext if _track_canvas_width is still zero
...
This leads to undefined/incorrect arithmetic results
2025-05-16 16:43:12 -06:00
Paul Davis
4732e702ce
use a Glib constant as a better indication of the return value semantics in an idle callback
2025-05-16 16:43:12 -06:00
Paul Davis
fad3c32267
better handling of cloned bindings/actions
2025-04-01 14:55:32 -06:00
Paul Davis
51dbe70b44
no more trim cursor in drae mode in the pianoroll
...
For some reason, we allow users to trim notes on the timeline when in
draw mode. Not sure why. We don't allow this in pianorolls, so make
sure the cursors don't suggest otherwise
2025-03-20 14:14:08 -06:00
Paul Davis
7bdb86b357
call a spade a spade (or rather, a MidiView a view)
2025-03-16 15:01:51 -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
68a93b3804
fix the construction of a reversible command to be HistoryOwner specific
2025-03-15 10:56:17 -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
56e587476e
continuing work managing bindings, actions and action groups
2025-03-12 17:59:24 -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
Paul Davis
9405f807ec
avoid crash if get_bindings_from_widget_heiarchy() moves to top of tree
2025-03-11 13:47:36 -06:00
Paul Davis
801099e057
use Gtkmm2ext::BindingSet for the GUI
2025-03-10 18:49:02 -06:00
Robin Gareus
d8e7e24f59
Use dedicated common actions per edit context
...
Pianoroll and main editor mouse-mode/tool actions are
now separate.
2025-03-05 22:49:37 +01:00
Paul Davis
a0b2e85c7c
better handling of MIDI channel selector on pianoroll
2025-02-02 11:32:45 -07:00
Paul Davis
f5f238b30a
prefer !foo to foo == 0 for nullptr conditionals
2025-01-29 17:40:57 -07:00
Paul Davis
348bf8b6c2
GridLines needs an EditingContext so that it uses the right samples per pixel
2025-01-29 17:40:57 -07:00