Commit graph

22392 commits

Author SHA1 Message Date
Paul Davis
60310c485c route: change API to use RouteCommentEditor rather than ArdourWindow
Personally, I'd as soon use void* for these, but we had a GUI type
before so nothing is lost or gained by using a different GUI type
now.
2026-01-19 19:52:29 -07:00
Robin Gareus
789cab2bb3
Consolidate RegionFX signal emission 2026-01-19 17:17:33 +01:00
Robin Gareus
05da36d397
Remove RegionFxChanged 2026-01-19 03:44:29 +01:00
Robin Gareus
5dccad42a2
Prepare to replace Signal RegionFxChanged with Property
Properties::region_fx may not be emitted for add/remove/reorder
cases when no disk-reader overrride is required.
However we need to inform the GUI when such changes happen,
and various UI widgets listen to property changes.
2026-01-19 03:44:28 +01:00
Paul Davis
a471083c52 NO-OP: style guide braces 2026-01-18 13:04:27 -07:00
Paul Davis
627a74ef4a triggerbox: use trigger capture duration if duration not given in call to ::arm() 2026-01-18 12:49:55 -07:00
Paul Davis
412bae4fdd triggerbox: add a capture duration property to all triggers 2026-01-18 11:49:01 -07:00
Paul Davis
f43b1d8c84 triggerbox: keep track of note-ons before actively recording a clip
This allows the user to not have to aim for such precise timing, since they can
hold the note down during the count-in.

At some point the question will arise why we don't do this for controllers
etc. too.
2026-01-16 08:04:14 -07:00
Paul Davis
5e9cb952c2 extent MidiNoteTracker API to be able to ::flush_notes() to an EventSink
This is a bit ironic, since EventSink is an abstract base class for MidiBuffer, which is
already supported for a flush_notes() call. But we use MidiBuffer::push_back() for that,
mostly for efficiency purposes (write() can insert an event at any time).
2026-01-16 08:04:13 -07:00
jean-emmanuel
3cd1c0e4b1
Dropdown/Metabutton: fix some scaling issues 2026-01-15 00:39:54 +01:00
jean-emmanuel
f3dbaae6e8
Metabutton: avoid prelight from affecting vertical separator line 2026-01-15 00:39:31 +01:00
jean-emmanuel
a18c8e3287
Dropdown: adjust separator position and use themable outline color 2026-01-15 00:38:29 +01:00
jean-emmanuel
4980efdfa5
Dropdown: move triangle slightly to the left 2026-01-15 00:38:02 +01:00
Robin Gareus
2a0fb060d1
CoreAudio: overhaul aggregate device drift compensation 2026-01-15 00:25:07 +01:00
Paul Davis
e309663df6 when MIDI port flags change, session bundles must be rebuilt 2026-01-14 13:27:45 -07:00
Paul Davis
c505ad1b1e portmanager: minor code tweaks for efficiency and style guide 2026-01-14 13:26:54 -07:00
Robin Gareus
2a395aead5
Relax fluidsynth's sample-rate constraint
Allow for 192kHz session (needs testing, by ear and
by down-sampling to 48k vs. running directly at 48k, etc)
Also prevent plugin from loading when sample-rate is out of bounds.

Previously the plugin loaded but was pitched up when the sample
rate exceeded 96k.
2026-01-13 15:00:17 +01:00
Robin Gareus
54e45ad50c
Bump required libcurl version
Note that 7.55.0 was released in August 2017
2026-01-13 06:10:58 +01:00
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
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
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
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
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
663693ed11
Add missing Lua bindings for Route Import 2026-01-09 00:41:50 +01:00
Franke Burgarino
7379cec4ef Fix typos 2026-01-08 11:05:47 -06: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
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
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
Robin Gareus
e1c21bc619
Expose some Session statistics as Lua bindings 2026-01-06 00:05:09 +01:00
Robin Gareus
30d97eb92d
Add method to check if Session is empty
Empty means that it contains some tracks or user-addedd
busses or VCA (not counting master, monitor, surround busses).

This is motivated by A&H control-surface.
2026-01-06 00:03:05 +01:00
Damien Zammit
dc7a95c54f import_pt: Fix for multichannel tracks and regions #9705
Also speeds up PT imports during region creation.
This is because regions are imported immediately when sources
are grouped into multichannels rather than doing it in another pass
2026-01-06 09:19:21 +11:00
Damien Zammit
d1ffeb7038 import_pt: Use new bulk create method for adding tracks #9730
Speeds up imports tremendously.
2026-01-06 09:19:03 +11:00
Damien Zammit
27653eaeba session: Add new_audio_routes_tracks_bulk() method
This allows bulk creating tracks with different name templates.
Simply call the bulk method multiple times as required and finally
call add_routes() once.
2026-01-06 09:15:27 +11:00
Colin Fletcher
f026a8acbf soundcloud, freesound: use correct curl option for progress bars
Although setting CURLOPT_PROGRESSDATA appears to work to set the pointer
passed into the new CURL_XFERINFOFUNCTION option, the documented option is
now CURLOPT_XFERINFODATA.
2026-01-05 18:09:15 +00:00
Robin Gareus
f5e48a6bda
Update curl to use new API (1/2) 2026-01-05 16:41:17 +01:00
Robin Gareus
ab724881e3
Remove unused deprecated GTimeVal in global header
This significantly reduces compiler warnings..
2026-01-05 03:33:02 +01:00
Martin Vlk
1420b67edb Czech translation updates for v9.0 2026-01-03 15:22:48 +01:00