Commit graph

22400 commits

Author SHA1 Message Date
Paul Davis
2766be0846 SMF import: fix behavior when splitting by track & channel 2026-01-22 11:19:36 -07:00
Paul Davis
eafae122ee add missing method to triggerbox 2026-01-22 08:37:24 -07:00
Paul Davis
d54c8e7fb0 modify 823b088a4 so that the logic to handle scene-switching doesn't touch other cases 2026-01-21 16:34:12 -07:00
Robin Gareus
84428bab62
Fix SNAFU, setting active dropdown item 2026-01-21 23:28:13 +01:00
Todd Naugle
192a976cf9
Fix dll path when running from source with msys
For ardev to work on windows (msys) the enviroment variable for the
DLL path needs to be used.

Without this, ardour fails to find the VST(3) scanner programs.
2026-01-21 21:30:28 +01:00
Paul Davis
823b088a45 triggerbox: when switching between triggers explicitly, don't allow retrigger()
If the currently playing trigger has follow action set to Again, when it stops the previous code state
would cause use to simply retrigger it, causing a lot of things to break. Now, in ::begin_switch() we
set _explicitly_stopped to true, so that ::when_stopped_in_run() can do the right thing and simply
shutdown the trigger completely
2026-01-21 11:15:30 -07:00
Paul Davis
af760070cb triggerbox: add DEBUG_TRACE message to top of ::when_stopped_during_run() 2026-01-21 11:15:30 -07:00
Paul Davis
6fc76e0970 code rearrangement to follow "early return" code style principle 2026-01-21 11:15:30 -07:00
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