Commit graph

41153 commits

Author SHA1 Message Date
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
Paul Davis
1fbd7c7124 when selecting a due to note selection, do not keep changing the selection
the code was first clearing the entire Editor selection before adding
the region, causing every note selection to trigger the RegionsChanged
pathway. This is crazy expensive for some reason (more than 8.12) and that
should be investigated, but the logic is also wrong. Selecting a region that is
alrready the sole selected region should not cause any action at all.
2025-06-24 18:11:13 -06:00
Paul Davis
0c876d7c44 remove use of POINTER_MOTION_HINT_MASK in PianoKeyboard
We want to receive *all* motion events for accurate note tracking.
2025-06-24 18:05:22 -06:00
Paul Davis
2c9e42b2ab NO-OP: braces, please 2025-06-24 18:05:02 -06:00
Paul Davis
5f9f754946 NO-OP: remove debug output 2025-06-24 18:04:37 -06:00