Commit Graph

18015 Commits

Author SHA1 Message Date
Paul Davis
def69dd383 temporary workaround for a weird callback problem with pianoroll automation buttons 2025-04-01 14:55:32 -06:00
Paul Davis
25114fee0e remove unused call to std::min(), dangling from commit ea0524177 2025-04-01 14:55:32 -06:00
Paul Davis
fad3c32267 better handling of cloned bindings/actions 2025-04-01 14:55:32 -06:00
Ben Loftis
7a8fbdd5b1 Cue page: recover missing Stretch Options box 2025-04-01 12:17:08 -05:00
Robin Gareus
53773ec310 Prepare RouteUI for RTA 2025-04-01 15:52:58 +02:00
Robin Gareus
53ac429b4f Fix SNAFU, only expose RTA in debug builds for the time being 2025-03-31 21:37:45 +02:00
Robin Gareus
daee40a013 License Manager be gone 2025-03-31 20:21:31 +02:00
Robin Gareus
6a647c422d Commence work on actual RTA GUI 2025-03-31 20:20:10 +02:00
Robin Gareus
0508d8cc4d Expose RTA in Route context menu 2025-03-31 20:20:10 +02:00
Robin Gareus
b41bc2cf95 Outline RTA Manager API 2025-03-31 20:20:10 +02:00
Robin Gareus
76ba840be0 Bootstrap RTA Window 2025-03-31 20:20:09 +02:00
Robin Gareus
2139349468 Use global FFT planner lock in GUI
This *should* not be needed since the GUI is single
threaded, but it doesn't hurt, just in case some
someday someone uses a background thread :)
2025-03-31 20:20:09 +02:00
Robin Gareus
1f27dc81f9 Properly create LuaWindow (always use Window Manger)
Previously directly using Luawindow::instance() was able
to create the window, bypassing the Window Manager, this resulted
in two issues, the first being rather significant:

* `LuaWindow::set_session()` was not called
* The Window was not maked as visible in the Window menu
2025-03-29 01:52:53 +01:00
Robin Gareus
b98884a54c Cancel audio peak analysis when destroying AudioRegionEditor
This speeds up selection changes when the Region Properties
are show in the bottom attachment and long regions are
selected.

The RegionEditor is destroyed when selection changes and has/had
to wait for the peak analysis thread to complete.
2025-03-27 17:21:52 +01:00
Paul Davis
8b389ee829 amend 365e3ef8e2 to be "more right"
NoteBase-derived note objects must delete their children, because
often they are deleted long before the parent (group) is. However,
in MidiView::clear_events() we used to call _note_group->clear (true)
first, which would delete the canvas items owned by these objects,
without them knowing about it. This made it dangerous for them
to delete those same items in their destructors.

This reverses the ordering so that NoteBase objects are deleted first
(along with their canvas items) and after that we clear _note_group
which will address any danging canvas items created there that are
not owned by a NoteBase-derived object
2025-03-25 14:49:49 -06:00
Paul Davis
ca96e004bf more robustification of Pianoroll::maybe_update() 2025-03-25 14:28:45 -06:00
Paul Davis
8f2dd46b40 fix menu definition file (again) 2025-03-25 14:10:49 -06:00
Paul Davis
78fea874f4 add action groups to ardour.menus.in for all relevant actions from Editing::register_common_actions() 2025-03-25 12:34:48 -06:00
Paul Davis
98428dfcad make Pianoroll::maybe_update() a bit more robust 2025-03-25 12:25:24 -06:00
Paul Davis
4ab6da354e ensure that the global Edit menu references the correct undo/redo actions 2025-03-25 12:25:08 -06:00
Paul Davis
f5d941f575 move playhead during (MIDI) clip recording 2025-03-25 11:17:05 -06:00
Paul Davis
65db08ac2b remove debug output 2025-03-25 11:17:05 -06:00
Paul Davis
b5f41f445e disconnect from pianoroll update callback/connection when session is deleted 2025-03-25 11:17:05 -06:00
Paul Davis
ed0c55afb7 NOOP: whitespace/line removal 2025-03-24 11:43:33 -06:00
Paul Davis
dd1e1b16cc remove unused variable 2025-03-24 11:43:33 -06:00
Paul Davis
69174beb7b NOOP: add space before parens 2025-03-24 11:43:32 -06:00
Paul Davis
0a33701089 midiview: some more auto-fication 2025-03-24 11:43:32 -06:00
Paul Davis
e243f17eb1 pianoroll: hide trim handles when region is reset 2025-03-24 11:43:32 -06:00
Paul Davis
365e3ef8e2 midiview: correctly manage NoteBase lifetimes
MidiView::clear_events() deleted the canvas items corresponding to Notes/Hits,
but did not delete the owner NoteBase objects.
2025-03-24 11:43:32 -06:00
Paul Davis
2db8214aa3 clear previous region when switching to an empty slot in a cue-pianoroll 2025-03-24 11:43:32 -06:00
Paul Davis
f41ca91cd4 put a bang button on a cue pianoroll editor 2025-03-22 19:49:39 -06:00
Paul Davis
8af45b0988 do not arm track record when arm slot record from pianoroll 2025-03-22 08:56:22 -06:00
Paul Davis
1e7480665c tweaks to pianoroll GUI to control capture length and avoid track rec-enabling
Tracks cannot be rec-enabled at the same as clips/slots/cues/triggers are rec-enabled. This means
that the "rec-enable" button in a TriggerStrip should not be setting track record enabled
status. Instead, it is a GUI-only button that causes a redraw with the appropriate slot
icons (play, record)

Still a bit of work to be done here but functional again and avoids an assert() failure
2025-03-21 20:55:36 -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
1b9a69c90f hack to hide some geometric oddity in pianorolls
the automation group rectangle, when set to use COORD_MAX as the rightmost x-coordinate
ends up sloping. use a very large number instead.

this ought to get fixed when it can be understood
2025-03-20 13:20:31 -06:00
Paul Davis
a8914cbb61 more logic improvements for managing active/visible state of pianoroll automation 2025-03-20 11:39:39 -06:00
Paul Davis
d07710e847 remove last of the remnants of "ardour-bindings" strings 2025-03-19 20:19:08 -06:00
Paul Davis
9ef8d99892 bring order to the chaos of pianoroll automation visibility/editing 2025-03-19 20:18:52 -06:00
Paul Davis
05b8c6d2d3 some potential fixes for wierd note split/join behavior
the split_info for a MidiView would stick around across note selection
operations that really should act as a "boundary" or end of the
split op. This commit ends the split op any time selection is cleared
or notes are added to the selection (except when in the middle of a split
2025-03-19 17:34:33 -06:00
Robin Gareus
4bdd979df6 Fix index out of bounds when creating group (peek color) 2025-03-18 19:55:30 +01:00
Robin Gareus
7fcc048583 Show LAN button on master-bus (regardless of show_all) 2025-03-17 17:28:34 +01:00
Paul Davis
e8d4f5e06d when a pianoroll shows an empty MIDI model, use the user prefs for the note range 2025-03-17 10:12:42 -06:00
Paul Davis
ef8f2579c1 if showing an empty model in a pianoroll, set the visible channel to 1 2025-03-17 10:00:44 -06:00
Paul Davis
dd3683bc06 fix another #warning from the pianorule refactoring
There is one single place in AutomationLine code where we need to callback
to its AutomationTimeAxisView, if it is part of one, regarding automation
state. This permits that to happen
2025-03-16 15:43:11 -06:00
Paul Davis
6af9d08f69 NO-OP: re-indent 2025-03-16 15:15:40 -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
f3e5c7531e remove one #warning (of several left from the pianorule refactoring) 2025-03-16 15:01:51 -06:00
Martin Vlk
1691d2cedb Czech translation updates. 2025-03-16 19:07:35 +01:00
Paul Davis
d5f9375c98 rename CueMidiBackground to PianorollMidiBackground; fix channel used when clicking on pianoroll header notes 2025-03-16 10:21:10 -06:00
Paul Davis
c7d307ba65 remove debugging output 2025-03-15 16:07:57 -06:00