Commit graph

40884 commits

Author SHA1 Message Date
Paul Davis
ebcbed53e6 change AutomationLine::_line_color to _line_color_name 2025-01-06 09:31:33 -07:00
Paul Davis
05476514c0 Add concept of insensitive automation lines for use in MIDI cue editor
This commit also includes auto-fication of several loops

It also includes a new concept: control points inherit line color. This is enabled
by default, so control points just take their color from their parent line. More
work is needed here to handle selection colors
2025-01-05 11:49:18 -07:00
Paul Davis
cee483a89c add new insensitive automation line color alias to all themes 2025-01-05 11:49:18 -07:00
Paul Davis
d0890abe9c bring in change from bf7d4f895e but also try to fix API ambiguity and bug in that commit and existing code
_grid_type is an EditingContext member; grid_type is a method parameter
2025-01-05 11:49:18 -07:00
Robin Gareus
a0413c525c
Do not save VCA automation in templates 2025-01-03 22:01:59 +01:00
Robin Gareus
f72fd08fb3
Immediately update clocks when switching delta-mode 2025-01-03 19:13:55 +01:00
Paul Davis
9139b0731b use icon for cue editor sound selected MIDI notes button and make it sensitive to the UIConfig parameter, and active 2025-01-03 09:14:26 -07:00
Paul Davis
ed54b8ee1f adjust how note mode button appears visually 2025-01-02 18:15:00 -07:00
Edgar Aichinger
731d6e4a88
one more typo fix in german translation 2025-01-03 02:14:04 +01:00
Robin Gareus
506a57251b
Fix PT Import when track name contains illegal chars
route_by_name() may not find a track created with a given
name, if that name contains illegal chars that were replaced,
or if the track-name was otherwise changed (number suffix) to
make it unique.
2025-01-03 02:02:36 +01:00
Robin Gareus
694d91f395
Use dedicated PT debug flag 2025-01-03 01:56:48 +01:00
Robin Gareus
31d567b20c
Add dedicated debug flag for PTimport 2025-01-03 01:49:33 +01:00
Robin Gareus
fe14044175
Prevent drumstick icon bleed 2025-01-02 21:09:56 +01:00
Robin Gareus
91b1eb9c72
Set colors for drum icon and fix drumstick length 2025-01-02 20:04:55 +01:00
Robin Gareus
772d14fca3
Add icon for cue/triggger page 2025-01-02 18:47:13 +01:00
Robin Gareus
1097108aee
Set monitor section action sensitivity
When showing monitor controls in the application bars
they can be always visible regardless if a monitor-section
exists or not. Furthermore, the main application session menu
unconditionally exposes these actions.

This makes the controls insensitive when no monitor sections
is present.
2025-01-02 17:55:15 +01:00
Robin Gareus
845ad12090
Ardour turns 26 2025-01-02 16:10:51 +01:00
Paul Davis
eafa09099a get cue editor "full zoom" button working 2024-12-30 21:48:20 -07:00
Robin Gareus
05a18b0cc6
Prefer std::map::erase over temporary iterator
While map::erase should not affected incremented iterators,
this is my best guess at
https://discourse.ardour.org/t/clean-up-does-not-end/111154

If not, at least the code is cleaner now :)
2024-12-31 00:21:45 +01:00
Paul Davis
de52eb644c ensure return value 2024-12-30 07:29:58 -07:00
Paul Davis
5c63a3a523 add tooltip for cue editor note mode button 2024-12-29 17:30:33 -07:00
Paul Davis
ce1ea77ff1 use drum icon for midi cue editor note mode button 2024-12-29 14:34:57 -07:00
Paul Davis
791bb3a50d add a new Drum icon 2024-12-29 14:34:57 -07:00
Paul Davis
0133400b8a add ArdourButton::remove_elements() 2024-12-29 14:34:57 -07:00
agfline
03b036ff06
AAF: Update Ardour with libaaf v1.0-22-gfab4651
* Fix INT_MAX and INT_MIN marcos not declared error.
*Fix essence file locating when inside 2 sub dicrectories
* Fix clip length beyond end of file
2024-12-29 20:18:36 +01:00
agfline
ae18524da7
Update libaaf to v1.0-22-gfab4651 2024-12-29 19:49:01 +01:00
Jakob Dübel
0054078289
fix some typos in the german translation 2024-12-29 19:47:35 +01:00
Nil Geisweiller
34fe8c46e9
Make Stripable::Sorter::_mixer_order const
This is not required by C++17, but it is rather clear that this field should
not be changed after initialization.
2024-12-29 19:45:55 +01:00
Nil Geisweiller
5ac2e6b8a8
Make Stripable::Sorter::operator() const
as required by C++17
2024-12-29 19:45:52 +01:00
Paul Davis
4e80b8c9c7 set zoom focus selector tooltip in the right class 2024-12-29 11:30:06 -07:00
Paul Davis
0a40b50b86 refactor zoom focus handling so that all EditingContexts can use the same code 2024-12-29 11:24:16 -07:00
Paul Davis
9b22e16bec NO-OP: add lifetime comment 2024-12-29 11:24:16 -07:00
Paul Davis
5157234f2f auto-fication of a loop 2024-12-29 11:24:16 -07:00
Paul Davis
41814519ab auto-fication of a loop 2024-12-29 11:24:16 -07:00
Paul Davis
5a97ce4a0c NO-OP: fix brace indentation 2024-12-29 11:24:16 -07:00
Paul Davis
730cf01ff9 use nullptr instead of NULL 2024-12-29 11:24:16 -07:00
Paul Davis
478d688aac use nullptr instead of NULL 2024-12-29 11:24:16 -07:00
Paul Davis
3248fb8b59 remove unusued variables 2024-12-29 11:24:16 -07:00
Paul Davis
e36b1211b6 fix drawn length of notes in MIDI cue editor 2024-12-29 11:24:16 -07:00
Robin Gareus
6e2d34df2d
Fix MIDI Clock generator (rounding issues)
This broke in f67029bd0 and notably bcc1aeeb86.

next_tick needs to accommodate for sub-sample accuracy when
PPQN are not integer samples. e.g. 110 bpm @ 48kHz

PS. Instead of `double` we could use superclock next_tick, and
`one_ppqn_in_superclocks` respectively. This would provide us
with 62 bit significand (instead of 52 bit using double).

Yet for the case of MIDI clock, this will have no real world
effect.
2024-12-29 16:05:31 +01:00
Paul Davis
c98a36be0f switch mouse button and motion handling in MidiView to use Drag formalization
It appears that mouse handling in MidiRegionView (now moved into MidiView)
predated the full Drag formalization. This led to inconsistencies as parts of the Drag
formalization were adopted, including the use of motion events to start a drag (this
is incorrect in the current semantics of a Drag).

This commits removes all/most of the special purpose drag handling machinery in MidiView
and uses Drags instead
2024-12-27 14:13:02 -07:00
Paul Davis
28e9c3908e select useful cursors for clip end/start handles and "background" in MidiCueEditor 2024-12-27 14:10:57 -07:00
Paul Davis
dbcf4c14f4 fix mechanism used for moving/dragging clip end handles 2024-12-27 14:10:00 -07:00
Paul Davis
84c78db3ad remove unused variables 2024-12-27 14:09:27 -07:00
Paul Davis
76fa75cf9a add a check on the event type passed to start Drags
Drags should always be started by a button press event.
2024-12-27 14:09:11 -07:00
Paul Davis
25b830b032 fix event handling/routing from MidiView up to EditingContext
in particular, rename MidiView::canvas_group_event() to
avoid confusion with TimeAxisViewItem::canvas_group_event()
since a MidiRegionView inherits from both these classes.
2024-12-27 14:00:55 -07:00
Paul Davis
c98fc2477a add a new canvas item for cue start/end dragging 2024-12-27 13:44:56 -07:00
Paul Davis
07046510d9 add new editing context item types to enums list 2024-12-27 13:18:05 -07:00
Paul Davis
24a1fd9dbe NO-OP: whitespace 2024-12-26 09:28:06 -07:00
Paul Davis
084a23a80d some work on being able to swap channels and have different MIDI automation displayed in pianoroll 2024-12-20 11:48:40 -07:00