Commit Graph

41962 Commits

Author SHA1 Message Date
Robin Gareus
53cd5e34c4 Update another deprecated libcurl API
'CURLINFO_CONTENT_LENGTH_DOWNLOAD' is deprecated: since 7.55.0.
Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
2026-01-13 06:08:30 +01:00
Robin Gareus
1d04fa5a39 Prepare reporting proper archiving errors
Can we break the -rc string freeze for this?
2026-01-13 01:11:34 +01:00
Robin Gareus
dc54c57176 Handle libarchive errors #10121
This properly handles missing write permissions (that previously
crashed when trying to close the archive).
Also report and error on disk-full or other write failures
such as 4GB file limit.
2026-01-13 01:11:33 +01:00
Paul Davis
6359b6c5b0 pianoroll: follow code guidelines via early exits for null view 2026-01-12 14:29:01 -07:00
Robin Gareus
1f96930a44 Correctly sensitive solo/listen config boxes at session load 2026-01-12 20:58:54 +01:00
Paul Davis
9f5c575156 fix logic of showing/hiding active/inactive pianoroll automation 2026-01-12 12:46:43 -07:00
Paul Davis
d16244d25e swallow all events in pianoroll automation group if there's no active automation 2026-01-12 12:46:43 -07:00
Robin Gareus
e381c29281 Fix registering .ardour file extension
This is mainly relevant for derivative projects, where .ardour
isn't opened with "ardour" :)
2026-01-11 21:51:23 +01:00
John Emmas
e486338a19 Specify a path when including 'gdk.h' 2026-01-11 11:21:33 +00:00
Paul Davis
e7b2b4fc5e NO-OP: rename goto label with clearer terminology 2026-01-09 20:07:06 -07:00
Paul Davis
1401c6e45a temporal: handle a special condition where the got added in 6bc2261575 should not be used 2026-01-09 20:06:41 -07:00
Paul Davis
21cb25263a NO-OP: remove double semicolon 2026-01-09 19:45:18 -07:00
Paul Davis
a3836cbd35 CueEditor: fix ::set_zoom_focus() to do the right thing
This had left-over code from when this method was invoked by a set of
radio actions. That is no longer true, ::zoom_focus_chosen() is now used
2026-01-09 19:45:18 -07:00
Robin Gareus
2bfdbc161b Fix heap-use-after-free when drawing automation events
When drawing over existing automation it can happen that the
range that is being replaced is currently being in the lookup
cache.
2026-01-10 03:43:07 +01:00
Paul Davis
b4ba3d2b9f remove debug output 2026-01-09 18:02:39 -07:00
Paul Davis
9d2c755f69 successfully import SMF files with badly-formed time signature events 2026-01-09 18:00:47 -07:00
Paul Davis
3890eb7f0e remove some compiler warnings caused by debug/runtime error output 2026-01-09 18:00:47 -07:00
Franke Burgarino
d774535fe9 Fix reverse iterator issue caught by ASAN
This issue could be seen when dragging an arrangement marker beyond the
bottom of the list in the right edge.

IIUC, std::reverse_iterator<Iter>::operator* creates a temporary iterator
which it then dereferences. This is a problem because what we are
derefencing is a Gtk::TreeIter<Gtk::TreeRow>. gtkmm documentation for
Gtk::TreeIter< T >::operator* states, "The returned reference is
implemented by casting from *this, and so the returned reference is only
valid while this iter is." Additionally, cpp documentation for
std::reverse_iterator states, "std::reverse_iterator does not work with
iterators whose dereference returns a reference to a member of *this."

We also are not advancing this iterator at all, so whether it is reverse
or not is irrelevant (we just want the last one). Thus, *prev(rows.end ())
instead of *rows.rbegin ().
2026-01-09 14:19:29 -06:00
Robin Gareus
cb807dcb11 Update themes, make transport option button state visible
https://discourse.ardour.org/t/new-playhead-toggle-button-to-go-with-new-ones-recently-added-to-version-9/112738/5
2026-01-09 19:19:38 +01:00
Paul Davis
0d1c4ee5ed escape plugin name text in missing plugin dialog 2026-01-09 11:09:52 -07:00
Paul Davis
4232983809 temporal: write down things that I have learned 2026-01-09 11:03:18 -07:00
Paul Davis
c8ec52e707 temporal: improve/extend debugging for DEBUG::Grid 2026-01-09 10:53:18 -07:00
Paul Davis
6bc2261575 temporal: fix incorrect logic in TempoMap::fill_grid_by_walking()
If walking the grid by bar, but points are closer than that, we could end up
with the wrong TempoMetric being used to compute various time domain
conversions (which tends to leads to abort()).

This small change makes sure that we keep looking for more points if we have
not yet reached the next grid point (e.g. bar).
2026-01-09 10:53:18 -07:00
Robin Gareus
943623f027 Amend b4373dafda fix redefined macro warning 2026-01-09 18:24:19 +01:00
Robin Gareus
265018601a Lua doc: properly split std::map<> as function argument 2026-01-09 00:41:50 +01:00
Robin Gareus
663693ed11 Add missing Lua bindings for Route Import 2026-01-09 00:41:50 +01:00
Robin Gareus
b4373dafda Add missing Lua Bindings for UIConfig 2026-01-09 00:41:50 +01:00
Paul Davis
183d4741e8 do not use shared_ptr<T> to manage GUI objects
This fixes a design mistake made way back in 2009 (80e3845982) that for
reasons now unknown used std::shared_ptr<T> to manage sysex and patch change
canvas items. This is incompatible with the overall (current) design of the
canvas, and in particular the idea that a container can be told to delete
its children.

This supplements the reversion done in e664fa5e63 and fixes crashes
caused by double-free's in sessions with sysex and patch changes displayed
in pianorolls
2026-01-08 11:38:26 -07:00
Franke Burgarino
7379cec4ef Fix typos 2026-01-08 11:05:47 -06:00
Robin Gareus
62870e5c9a Add action to print keyboard shortcuts 2026-01-08 17:24:59 +01:00
Robin Gareus
c2a01645b4 Print action list using mono-space text (and proper line spacing) 2026-01-08 17:05:32 +01:00
Robin Gareus
0be808ec3c Add option to skip printing action list 2026-01-08 16:55:13 +01:00
Robin Gareus
c86bb05945 Properly match Launchkey interface/device names #10109 2026-01-08 16:15:54 +01:00
Robin Gareus
3ba1a8087e Tweak keybindings print layout
This addresses issues with US-Letter format where headings
may have line-breaks. With a line-height < 1 text overlaps.
2026-01-08 14:40:05 +01:00
Paul Davis
5d3ee78e1e pianoroll: move protection domain of method (modify bb869cc178) 2026-01-07 21:37:02 -07:00
Paul Davis
bb869cc178 pianoroll: better method structure 2026-01-07 21:32:52 -07:00
Paul Davis
68f5da6434 pianoroll: further improvements to layered/non-layered automation display + editing 2026-01-07 21:24:13 -07:00
Paul Davis
33bd9e5aad pianoroll: basics of adding a layered automation control button
This breaks string freeze with one word
2026-01-07 12:05:08 -07:00
Paul Davis
2177252463 use a theme color for pianoroll automation buttons 2026-01-07 10:55:28 -07:00
Paul Davis
51256ad7c6 pianoroll: correctly hide (etc.) automation when switching regions 2026-01-07 09:16:41 -07:00
Paul Davis
8b7c897c21 add missing break statement 2026-01-07 09:16:41 -07:00
Paul Davis
d866eb69c5 pianoroll: fix crash after switching regions and moving mouse into velocity display 2026-01-07 09:16:41 -07:00
Robin Gareus
fb0bb5aafa Editor-Summary shift rotates scroll direction #10105 2026-01-07 15:22:11 +01:00
Robin Gareus
253f883521 NO-OP: Remove unused header 2026-01-07 13:53:24 +01:00
Robin Gareus
7d7ac589e3 Add "empty" check to BasicUI 2026-01-07 13:52:51 +01:00
Franke Burgarino
8c745ff78c MCU: Fix "Disabled" option for Function Keys
Choosing some option and then trying to remove it by clicking "Disabled"
previously did nothing. Now sets it back to blank. Also fixed for Tascam
US-2400.
2026-01-06 17:07:09 -06:00
Robin Gareus
3f9fe81da9 Extend ctrl surface API to be more flexible when creating markers 2026-01-06 21:21:56 +01:00
Paul Davis
ee4d673da1 minor change in exception handling while testing issue on macOS 2026-01-06 10:13:17 -07:00
Paul Davis
f3e581be0d redesign bottom of pianoroll (automation/MIDI CC buttons)
This should hopefully disambiguate where to click and why
2026-01-05 16:23:17 -07:00
Paul Davis
7e9c73b807 gtkmm2ext: fix a bug that can arise when using ad-hoc Gtk::Actions with non-standard paths 2026-01-05 16:23:17 -07:00