Commit graph

41168 commits

Author SHA1 Message Date
Paul Davis
1ecb28da47 tweak local tempo scope infrastructure 2025-08-08 15:03:11 -06:00
Paul Davis
22abddcd95 no local tempo scope for constructors 2025-08-08 14:39:40 -06:00
Paul Davis
4e23772b5d ensure (possible) local tempo map at start of every EditingContext method
This still needs to be done for derived, non-Editor classes
2025-08-08 14:34:03 -06:00
Paul Davis
a07ba74c9d fix constness in relationship to EditingContext:: local tempo map 2025-08-08 14:34:03 -06:00
Paul Davis
e682e1fde4 refinements to infrastructure for an EditingContext's locally scoped tempo map 2025-08-08 14:34:03 -06:00
Robin Gareus
12e846c3e9
macOS: allow Ardour to load unsigned plugins 2025-08-08 21:51:51 +02:00
Paul Davis
cee0ad349f rename audio clip editor ruler member and fix colors 2025-08-08 12:40:02 -06:00
Paul Davis
ed594c5217 fix order of assembly for audio clip editor 2025-08-08 12:39:45 -06:00
Paul Davis
28e0082868 use std::unique_ptr for a couple of EditingContext members 2025-08-08 12:12:09 -06:00
Paul Davis
4f5848d85c action-ify stationary playhead mgmt; fix up follow-playhead action handling 2025-08-08 11:35:20 -06:00
Robin Gareus
2be15f035d
Fix Lua Bindings (amend 1ca53a99d9)
Already registered classes can be extended as-is.
Deriving them again will override previous bindings.
2025-08-08 12:09:14 +02:00
Robin Gareus
ba86481d37
Fix region UI State save error message
XMLTree::write() returns true on success.
Start sentence with an upper-case letter.
2025-08-08 01:58:13 +02:00
Franke Burgarino
e3710bd0a2 MCU: allow scrolling to gate controls in the dynamics subview 2025-08-07 16:16:19 -05:00
Franke Burgarino
dfa12dedcd MCU: make dynamics subview show actual values 2025-08-07 16:04:40 -05:00
Paul Davis
b5f1c5b0dd Fix potential infinite loop when iterating over ControlLists
If you have the "wrong" kind of MIDI CC, the interpolation for the list is set
to Linear, which causes interpolation to return audio time stamps instead of
beat time.  Because of the asymmetrical transforms, this causes iterators over
the Sequence to go haywire and create an infinite loop.

This fix changes ControlList behavior to always return times in the time domain
of the list.
2025-08-07 12:49:18 -06:00
Robin Gareus
3320e7d5f9
Set MIDI region color to use track's color or default fg.
This broke in a550b6482f
2025-08-07 19:48:19 +02:00
Robin Gareus
da2ddda05f
NO-OP: sort config variable 2025-08-07 19:48:19 +02:00
Paul Davis
d95ac699a0 pianoroll: correctly disconnect from update timer 2025-08-07 10:20:23 -06:00
Franke Burgarino
7df7f98566 MCU: fix formatting 2025-08-06 17:26:49 -05:00
Franke Burgarino
157031ae71 MCU: make EQ subview show actual values, not just decimal between 0 and 1 2025-08-06 16:09:34 -05:00
Paul Davis
d7b490143a add comment on why _superclock_ticks_per_second is initializedto zero 2025-08-06 15:06:14 -06:00
Paul Davis
304f64a9ba Selection::clear_time() should follow the same pattern as Selection::clear_*
i.e. only do something if there was an existing time selection.

This also fixes an early-use-bug-crash for _superclock_ticks_per_second
2025-08-06 15:05:16 -06:00
Robin Gareus
6538287b6c
Clean up Ardour application bar 2025-08-06 21:15:28 +02:00
Robin Gareus
a7e9b8b2a7
Update well-known ctrls and add Lua bindings 2025-08-06 21:15:24 +02:00
Paul Davis
a2af6ef0fc remove debug output 2025-08-06 11:51:52 -06:00
Paul Davis
19f6b5277c when setting default actions, do dbl-set to force change 2025-08-06 11:44:20 -06:00
Paul Davis
819253a746 editor: set_zoom_preset() != set_zoom_focus() .. fix typo 2025-08-06 11:43:06 -06:00
Paul Davis
4be889e409 editor: don't set default action state till dropdown menus are built 2025-08-06 11:42:28 -06:00
Paul Davis
8f253bf85d NO-OP: blank line removal 2025-08-06 11:15:23 -06:00
Paul Davis
0811ad2a3a NO-OP: no double semicolons 2025-08-06 11:14:58 -06:00
Paul Davis
f09ed269d0 use correct default scroomer size in initializer
this really has no effect but it's more consistent.
2025-08-06 11:12:38 -06:00
Paul Davis
6d76d104b7 pianoroll: reset various container positions in ::canvas_allocate() 2025-08-06 11:12:13 -06:00
Paul Davis
ffa0e3547b pianoroll header: parametize kbd width and use when rendering 2025-08-06 11:11:39 -06:00
Paul Davis
35ee5a54d5 pianoroll: connect to UI config param changes 2025-08-06 11:07:28 -06:00
Robin Gareus
f4da0ff76d
Fix MIDI panic timestamp at cycle-end
Previousy stopping, locating or looping in the middle of
an active MIDI note would generate unordered MIDI events
on the port. "it's too late for this event".
Usually caused by the MIDI state tracker adding a Note-Off
at cycle end and then MidiPort::resolve_notes adding a panic
message at cycle-start...
2025-08-06 04:56:38 +02:00
Robin Gareus
cf85399f38
Allow to remove inactive tracks 2025-08-05 23:16:02 +02:00
Robin Gareus
a250bd4e76
Allow to select inactive tracks
This is a prerequisite to allow to remove inactive tracks,
and operate on multiple selected inactive tracks (show/hide).
2025-08-05 23:16:02 +02:00
Robin Gareus
22e7b686ed
Add color scheme for inactive selected tracks 2025-08-05 23:16:02 +02:00
Paul Davis
b80b4b7869 remove debugging output 2025-08-05 11:42:23 -06:00
Paul Davis
389096b83b when importing SMF tempo map, use actual imported map duration
using timepos_t::max (AudioTime) leads to overflows in the beat time
domain, and then screws up details of TempoMap::paste()
2025-08-05 11:37:35 -06:00
Paul Davis
60d8e1b817 SMF: use new TempoMap::smf_*() API to build tempo map from smf info 2025-08-05 11:37:35 -06:00
Paul Davis
b65adb59cd temporal: fix some subtle misbehavior in TempoMap::cut_copy() 2025-08-05 11:37:35 -06:00
Paul Davis
0f1c5a9d7d temporal: add new smf_*() API for building a tempo map from SMF info 2025-08-05 11:37:35 -06:00
Paul Davis
ba00dc0920 temporal: add TempoMap::duration() method 2025-08-05 11:37:35 -06:00
Robin Gareus
cc3d867ac4
Fix "assertion 'child->parent == NULL'
add_button() already adds the button to the dialog.
2025-08-04 00:16:14 +02:00
Robin Gareus
38be8c2746
Amend #96431aa0d, use non-relative port-name to store connections 2025-08-03 16:14:54 +02:00
Paul Davis
a1fdac58e6 check for file existence before asking libxml to load a file 2025-08-01 18:35:50 -06:00
Robin Gareus
96431aa0d6
Fix #9961, update saved port-name references when renaming ports
Since internal connections are saved by port-name, renaming a port
also needs to update references that other ports have.
2025-08-02 02:25:36 +02:00
Robin Gareus
c8540a5ad6
Don't show generic MIDI patch-selector in bottom pane
It can take a few seconds to build 16 dropdown menus with
a few hundred entries, slowing down selection.
2025-08-01 03:03:28 +02:00
Robin Gareus
b34ca733d2
Fix attachment state when creating new session from running instance 2025-07-31 23:41:24 +02:00