Commit graph

40577 commits

Author SHA1 Message Date
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
e4f6eb9190 remove debug output 2025-03-25 12:34:25 -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
f82a9bbdc3 YTK: fix non-namespaced handling of action names in GtkUIManager
GTK+ 2.x only looked up action *names* and ignored the namespacing offered by
action groups. This means that if there are two actions in different groups
with the same name, GtkUIManager may not find the one intended when it is
referenced in a menus definition file.

This commit changes that - if the action name contains a '/' character it is
assumed to contain both the action group name and the action name, and it will
only look for the action within the named group.
2025-03-25 12:22:32 -06:00
Paul Davis
f5d941f575 move playhead during (MIDI) clip recording 2025-03-25 11:17:05 -06:00
Paul Davis
535934dee9 manually revert 119166a17f with a tweak 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
Robin Gareus
2a7129ef64
Update Luabindings for marker flags 2025-03-24 20:54:44 +01:00
Paul Davis
885a318299 after recording into a trigger slot, revert the box to playback mode 2025-03-24 11:51:52 -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
119166a17f triggerbox: do not signal Captured() on every process cycle (for MIDI) 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
Robin Gareus
7c31e558a5
Fix duplicate MIDI Clock messages
Notably during realtime export an explicit flush of async
MIDI ports will duplicate port buffer content.

AsyncMIDIPort::cycle_end () calls `flush_output_fifo`,
and `flush_buffers` is called from PortManager::cycle_end.
2025-03-23 16:57:46 +01:00
Paul Davis
f41ca91cd4 put a bang button on a cue pianoroll editor 2025-03-22 19:49:39 -06:00
Paul Davis
91f9561958 no track record enable if triggerbox is rec-enabled 2025-03-22 15:38:59 -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
b2d011442a no slot rec-enabling if the track is rec-enabled 2025-03-21 22:54:25 -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
bb2812f272 a variety of fixes for MIDI clip recording, and extended API to specify capture period 2025-03-21 20:55:36 -06:00
Robin Gareus
62d47d63a6
Hide irrelevant gtk messages from casual users 2025-03-21 23:16:18 +01:00
Paul Davis
5c3bcd608f NO-OP: add some helpful comments 2025-03-20 21:44:52 -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
1911899d15 remove last of the remnants of "ardour-bindings" strings (library edition) 2025-03-19 20:19:24 -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
Robin Gareus
7f6f3d64f1
macOS/YDK: Fix crash when resizing windows
_gdk_window_process_updates_recurse() may recurse (duh),
and reenter drawRect. So `needs_display_region` needs
to be unset immediately, not at the end of the method.
2025-03-16 01:57:16 +01:00
Paul Davis
c7d307ba65 remove debugging output 2025-03-15 16:07:57 -06:00
Paul Davis
aae1e6a76e no transport controls in pianoroll unless asked for 2025-03-15 16:07:39 -06:00
Paul Davis
75bc3ec77e transport state tracking for pianoroll transport controls 2025-03-15 15:47:43 -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