Commit graph

40957 commits

Author SHA1 Message Date
Paul Davis
ee4b68fc80 when clip recording, we are always monitoring input regardless of timeline rec modes 2025-07-13 21:26:26 -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
f82a755a22 NoCamelCase method names (libs) 2025-07-12 10:51:46 -06:00
Paul Davis
ccc62e927d remove unused variables 2025-07-12 10:35:31 -06:00
Paul Davis
f2eea8b7ce reduce jumping note range in MIDI displays when adding notes 2025-07-12 10:28:49 -06:00
Paul Davis
b93a61998d fix arithmetic/offset when determining if mouse is inside scroomer 2025-07-11 23:03:31 -06:00
Paul Davis
57eda4f7ee remove 2nd of 3 #warnings from the EditingContext refactor
I'm not 100% sure this is correct, but it doesn't really matter - velocity
lollipop drag are vertical only
2025-07-11 17:40:58 -06:00
Paul Davis
ff988eec37 fix one of 3 editing context refactoring warnings 2025-07-11 13:27:55 -06:00
Paul Davis
854e999436 automation text entry only when using kbd 2025-07-10 23:23:08 -06:00
Paul Davis
b5dada592d remove unused variable 2025-07-10 23:22:55 -06:00
Paul Davis
88ad0b3d75 fix thinko in setting up idle delete for FloatingTextEntry 2025-07-10 23:22:15 -06:00
Paul Davis
f356c914b9 fix location of drawn notes in some contexts 2025-07-10 18:18:31 -06:00
Paul Davis
a902f99172 midiview: expose API for _on_timeline 2025-07-10 18:17:33 -06:00
Paul Davis
9067971130 floating point text entry when using kbd automation workflow (unfinished) 2025-07-09 21:58:20 -06:00
Paul Davis
d6a74c4d96 add API to FloatingTextEntry to force delete-on-focus-out 2025-07-09 21:57:40 -06:00
Paul Davis
5b56cef0a7 make ripple-after-trim-back do the right thing 2025-07-09 18:32:45 -06:00
Paul Davis
2d21391c66 remove incorrect copy-pasted comment 2025-07-09 17:21:12 -06:00
Paul Davis
2def30bda5 Editor::trim_region_front/end should obey ripple mode 2025-07-09 17:02:11 -06:00
Paul Davis
74a0272c50 Editor/EditingContext get proxyimplementations of HistoryOwner::add_commands() 2025-07-09 17:01:22 -06:00
Paul Davis
4bbd1afc98 MidiView: add _on_timeline to help clarify semantics of _show_source
This also fixes where the ghost note in draw mode shows up
2025-07-09 16:02:31 -06:00
Paul Davis
01c57acfac remove now unused PianoRollHeaderBase::event_transform() method 2025-07-09 10:54:41 -06:00
Paul Davis
12d6a93fb7 fix incorrect sensitivity of automation acts at session load
Session skipped EditingContext::set_sensitive() by calling too far back up its
inheritance tree.
2025-07-09 10:53:00 -06:00
Paul Davis
2b008400c7 do not double-transform event coords for piano roll headers
the canvas PRH alreadys transforms event coordinates before deliverying the event
to a handler; the non-canvas version always gets item-centric coordinates from
the GUI toolkit
2025-07-09 10:21:00 -06:00
Paul Davis
5801716a78 fix MidiViewBackground keeping track of data note range 2025-07-08 17:59:57 -06:00
Paul Davis
a5bfa387b2 remove methods that inadvertently ended up in ccbe30e48 2025-07-07 17:01:56 -06:00
Paul Davis
6d8e45df57 make Escape only clear note selection when internal editing/in pianoroll 2025-07-07 16:21:52 -06:00
Paul Davis
ccbe30e48f make note selection from kbd header work in pianorolls 2025-07-07 16:21:52 -06:00
Paul Davis
d847266cd5 more work on scroomer behavior, close to as intended but still a little bit meh 2025-07-07 16:21:52 -06:00
Robin Gareus
99c1f50a72
Really remove gtk+ option (see also 1e28ee9cc9)
After patching gtk/ytk to add touch support and macOS rendering,
upstream gtk+2 is no longer an option
2025-07-06 15:20:20 +02:00
Paul Davis
ea4616913c cocoa: experimentally, redraw entire window after deminimization 2025-07-05 08:34:08 -06:00
Paul Davis
24343ba7f9 provide proxy APIs for MidiView "show_source" and use it in pianoroll 2025-07-04 12:22:55 -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
0ca8b26af7 minor code simplification 2025-07-03 22:00:33 -06:00
Paul Davis
562765ba76 minor fix for determining if we can compute zoom level in pianoroll 2025-07-03 21:57:26 -06:00
Paul Davis
5767c8f62e better handling of MidiView::apply_note_range()
In particular, keep the MidiViewBackground's sense of the data range intact,
use MidiModel::{highest,lowest}_note(), center ranges that don't fit
on the data range
2025-07-01 17:31:42 -06:00
Paul Davis
6a4f4e4710 rework NoteDrag::total_dy() to correctly clamp y to within the required range 2025-07-01 17:31:42 -06:00
Robin Gareus
846253533f
Port-Matrix: use cached nchannels
This surprisingly significantly speeds up rendering of large matrices.
20sec instead of 43sec for a 512x512 matrix on a i7-10610U
2025-07-01 17:46:17 +02:00
Robin Gareus
a0ba6e3dfb
Cache BundleChannel nchannels, allow lock-free calls 2025-07-01 17:46:17 +02:00
Robin Gareus
9897074fcc
Micro-optimization: speed up connection-matrix rendering
Bundle::type_channel_to_overall() takes a mutex and
iterates over all ports. With a large number of channels
in a bundle this. This reduces complexity from O(2N^2) to O(N^2)
2025-07-01 17:46:17 +02:00
Paul Davis
d9fda4ce7a click on pianoroll header note always does selection, no modifiers or middle button required
Plus minor related code cleanups
2025-06-30 18:20:21 -06:00
Paul Davis
69efb81922 fix drawing coordinate translation for Pianoroll's header 2025-06-30 18:19:28 -06:00
Paul Davis
e2a6b81320 remove incorrect comment 2025-06-30 18:19:04 -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
02abf956d7 a better way to build ArdourDropdowns from Actions 2025-06-25 22:17:53 -06:00
Paul Davis
bdf9dec411 pianoroll: if invisible, defer (expensive) ::set_region() till shown 2025-06-24 19:17:47 -06:00