Paul Davis
c0ed2fd9f5
fix vanishing notes during drag in a pianoroll
2025-03-08 12:14:17 -07:00
Paul Davis
881ae4b23a
use correct name for main Editor as EditingContext
...
Bindings rely on this being correct
2025-03-07 19:14:57 -07:00
Robin Gareus
9f4f684d62
Update markers when DPI changes
2025-03-07 17:23:58 +01:00
Ayan Shafqat
19e00c575a
Add optimized NEON implementations for Aarch64
...
Introduce optimized NEON implementations for audio peak detection,
buffer mixing, scaling, and copy functions on AArch64.
For benchmark results, see ardour-neon-functions [1].
Provide a dedicated `aarch64_neon_functions.cc` for Aarch64 target.
provide backwards compatibility with armhf targets with
`arm_neon_fuctions.cc`.
[1] https://github.com/ashafq/ardour-neon-functions
2025-03-07 02:52:52 +01:00
Paul Davis
8f4c10f855
subtle change in event handling for MidiViews
...
this needs more investigation but we need to return false from
scroll event handling in order for stuff to work. this should
not be the case and this will likely be reverted once the reason
it is required is uncovered
2025-03-06 18:12:40 -07:00
Paul Davis
a94bd4b7c6
rename MidiView::relative_position() to ::view_position_to_model_position()
2025-03-06 18:12:40 -07:00
Paul Davis
6d1c6bc239
slight rearrangement for MidiView::relative_position()
2025-03-06 18:12:40 -07:00
Paul Davis
3df9673b0b
If a MidiView handles a canvas event, do not propagate it to the EditingContext
2025-03-06 18:12:39 -07:00
Paul Davis
2cadaafc4f
NO-OP: follow style guide and use space in function call
2025-03-06 18:12:39 -07:00
Paul Davis
8a37279dab
return better value in MidiView::max_zoom_extents() for empty source
2025-03-06 18:12:39 -07:00
Paul Davis
b9d69d3948
take _visible_channel into account for MidiView when drawing notes
2025-03-06 18:12:39 -07:00
Paul Davis
93f1211db9
add MIdiView::show_source() method to expose _show_source value
2025-03-06 18:12:39 -07:00
Paul Davis
441cfe4e2d
Make MidiView::relative_position() return correctly for _show_source case
2025-03-06 18:12:39 -07:00
Paul Davis
eb75064909
Modify comments and variable names in MidiView::create_note_at()
...
First argument is a source-relative position, not region-relative.
2025-03-06 18:12:39 -07:00
Paul Davis
67fa5282cb
Remove Region::absolute_time_to_region_beats()
...
This method did not do what its name suggested. Replace it with
::absolute_time_to_source_beats() which already existed and
computed the same result.
Also in a NoteCreateDrag, correctly adjust note start
depending on whether we are viewing the whole source or
just the region. This part may be amended later.
2025-03-06 18:12:39 -07:00
Robin Gareus
f9e78dc128
Resize Videotimelime with DPI
2025-03-07 00:41:07 +01:00
Robin Gareus
7b9e9d7241
Resize rulers when DPI changes
2025-03-06 21:50:05 +01:00
Robin Gareus
78120d86b5
Update Gain/Meter when changing DPI
2025-03-06 20:25:56 +01:00
Robin Gareus
349a3cf039
Add API to resize Fader widgets
2025-03-06 20:10:20 +01:00
Robin Gareus
7b1157e536
Update Mixer-strip width when scaling UI
2025-03-06 19:27:18 +01:00
Robin Gareus
f3ec590eb5
Dynamically update ArdourButton indicator
...
Previously this was semi-random, on_size_request() may be called
in response to some other widget changing size, before a given
ArdourButton DPIReset handler could set _diameter = 0.
2025-03-06 17:02:33 +01: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
Robin Gareus
13ee3d9fc3
Set Editor context when entering editor or main toolbar
2025-03-05 00:08:57 +01:00
Paul Davis
f1e9a8027a
Revert "Fix mouse-cursor when moving mouse over region handles"
...
This was not the correct fix for this (see b24db7cbf5 )
This reverts commit 866caab719 .
2025-03-04 14:58:00 -07:00
Paul Davis
2d13df9791
proper use of braces for if/else scoping
2025-03-04 14:57:50 -07:00
Paul Davis
b24db7cbf5
fix canvas cursor handling in MidiRegionViews
2025-03-04 14:57:50 -07:00
Paul Davis
fcf086986a
avoid logical op ambiguity
2025-03-04 14:57:50 -07:00
Robin Gareus
866caab719
Fix mouse-cursor when moving mouse over region handles
2025-03-04 21:14:05 +01:00
Paul Davis
b489d466cf
commit crash caused by event-sensitive ghost note in MidiView
2025-03-04 12:18:29 -07:00
Paul Davis
06050bb578
several related changes to get visible channel control working in MidiView/Pianoroll
2025-03-04 11:30:48 -07:00
Paul Davis
e34fd3cc3b
remove unused methods related to channel changing for MIDI notes
2025-03-04 11:30:48 -07:00
Paul Davis
e4b38b33b9
provide an environment variable to disable MIDNAM loading (just for testing purposes)
2025-03-04 11:30:48 -07:00
Robin Gareus
34a4eea0d5
Step-edit: improve overlapping note handling
...
* no need to shift notes during normal edit
* prevent duplicate (overlapping) chord notes
2025-03-04 17:07:16 +01:00
Robin Gareus
e35b9f8a3e
Remove dead code
2025-03-04 16:17:29 +01:00
Robin Gareus
826ad62d91
Improve step-editor chord mode: step on note-off
2025-03-04 16:16:14 +01:00
Robin Gareus
814fbfcb73
Prepare handling note-off for step entry
2025-03-04 16:14:59 +01:00
Robin Gareus
e61670a657
Properly drop Pianoroll references
2025-03-03 18:25:21 +01:00
Robin Gareus
4e58e9b7d2
Fix duplicate Editor Piano roll
...
This fixes a crash when switching snapshots, part one
2025-03-03 18:09:32 +01:00
Paul Davis
55edfa9a66
make Editor track canvas grab focus when entered, independent of editing mode
...
Numerous bindings shared across EditingContexts are attached to the viewport for the canvas; unless
we begin with the canvas and walk up the the widget tree, we will never find them.
2025-03-02 12:54:47 -07:00
Robin Gareus
d04376bee4
Amend b3ee25f81, don't allow to remove-last-capture while recording
2025-03-02 18:53:21 +01:00
Robin Gareus
67716bc871
Thread-safe last_capture_sources access
2025-03-02 02:00:42 +01:00
Robin Gareus
c87fa094bd
Remove deprecated API
2025-03-02 02:00:34 +01:00
Robin Gareus
c122af3aa9
Use new last_capture_sources API
2025-03-02 01:30:39 +01:00
Robin Gareus
aafb2c8904
Overhaul [get]last_capture API
...
* Fix copy/edit bug: `get_last_capture_sources` cleared
last capture sources. tagging a take made its removal
impossible.
* `remove_last_capture` also directly modified capture
sources by reference in calling thread.
* get_ prefix violates styleguide #12
2025-03-02 01:23:12 +01:00
Robin Gareus
a47a78d15a
Clarify remove-last-capture warning
2025-03-02 00:34:43 +01:00
Robin Gareus
b3ee25f812
Set remove-last-capture sensitivity
2025-03-01 23:27:23 +01:00
Robin Gareus
fe81f8de18
Add signals indicating last-capture-source changes
2025-03-01 23:19:20 +01:00
Robin Gareus
6535d7ed97
Unset last-capture sources when saving session
...
This prevents accidental deletes of files saved to disk
after the fact. e.g.
* save, delete last capture, quit w/o save.
* save, switch-snapshot, delete last capture.
2025-03-01 18:26:47 +01:00
Robin Gareus
622c27ed74
Add API to unset last capture source(s)
...
This is in preparation to clear the list when
switching snapshots to prevent destroying references.
https://discourse.ardour.org/t/discard-last-take-impacts-previous-snapshots-is-this-wanted-behaviour/111420/6?u=x42
2025-03-01 17:49:01 +01:00
Robin Gareus
67077b9255
Add MIDNAM for MIDNAM file for Novation Circuit #9899
...
Thanks to Mr. Zdeeck
2025-03-01 00:57:12 +01:00