Commit graph

22305 commits

Author SHA1 Message Date
Robin Gareus
0f9e0afd2b
Fix importing of surround processors
This previously failed in SurroundSend::set_state,
which expects a gain XMLnode to be present.
2025-12-13 23:02:59 +01:00
Robin Gareus
c9b4b94466
Fix source-code visibility comments 2025-12-13 20:14:05 +01:00
EZ4Stephen
c52e8b7dc7
Update zita-convolver's cxxflags for MSVC
Previously:
cl : Command line warning D9002 : ignoring unknown option '-fPIC'
cl : Command line warning D9002 : ignoring unknown option '-O3'
cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
cl : Command line warning D9002 : ignoring unknown option '-funroll-loops'
2025-12-13 16:05:09 +01:00
EZ4Stephen
c76f13d6ab
Update fluidsynth cflags 2025-12-13 16:05:09 +01:00
EZ4Stephen
cefbb6db32
Adjust fluidsynth cflags to compile with MSVC
Previously:
cl : Command line error D8021 : invalid numeric argument '/Wno-unused-function'

And after separating that:
cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
cl : Command line warning D9002 : ignoring unknown option '-std=gnu99'
2025-12-13 16:05:09 +01:00
EZ4Stephen
98b9839e58
Replace DECLARE_DEFAULT_COMPARISONS 2025-12-13 16:05:05 +01:00
EZ4Stephen
783202d3ad
MSVC waf-build specific fixes
* Dodge ardourext/pthread.h when WAF_BUILD is defined
* add io.h for POSIX style read/close
* define timeval
2025-12-13 16:05:00 +01:00
EZ4Stephen
fb9be868f5
Add MSVC specific compiler flags to wscript 2025-12-13 16:01:03 +01:00
Paul Davis
ac83860032 SMF import: better handling of insane files
this really tries to do the right thing regarding meta-events we're interested in,
and channel events we're interested in, no matter how they are distributed across
different channels in the SMF.

it augments/extends the work started in 8a554f659c
2025-12-11 18:20:17 -07:00
Paul Davis
aca340b810 an initial fix for a crash occuring when deleting routes that lead to RouteGroup deletion
The RouteGroup containing the deleted routes emits the RouteRemoved signal; Session handles this
and if the RouteGroup is now empty, deletes the RouteGroup *while in the middle of the signal
emission process*. This deletes the Signal (since it was owned by the RouteGroup) which leads
to a crash inside the signal emission code, since that is now running "on" a deleted Signal
object.

This change simply makes that signal static, and so deleting the RouteGroup has no effect
on the Signal itself.

More changes to come related to better (shared_ptr<RouteGroup>) mgmt of RouteGroup lifetimes.
2025-12-11 18:20:17 -07:00
Paul Davis
856aad62da SMF import: attempt to find tempo-related metadata in any track 2025-12-11 18:20:17 -07:00
Robin Gareus
be93b1ee29
Sort strip at export, retain current order on import 2025-12-11 22:09:46 +01:00
Robin Gareus
f0a52eccc0
Fix MIDI audition 2025-12-11 06:08:29 +01:00
Robin Gareus
fca4083e12
Fix YASNAFU (amend fa319ffda2), midi audition/playback
The condition is NO playlist pending. This fixes MIDI audition
and perhaps a few other MIDI playback edge-cases.
2025-12-11 05:11:29 +01:00
Robin Gareus
83cc97e101
Fix compilation w/o VST3_SUPPORT, remove redudant headers 2025-12-11 00:32:23 +01:00
Robin Gareus
a30a161288
VST3: directly use bundle-path on macOS
This fixes an issue with Info.plist indirection.
2025-12-10 22:53:12 +01:00
Robin Gareus
ca04a320c4
Add curl trace support 2025-12-09 23:15:30 +01:00
Robin Gareus
b11ef7fee4
Fix curl 421 errors when disabling verify peer
```
== Info: WARNING: disabling hostname validation also disables SNI.
```
which leads to a "431 Misdirected Request" reply for servers
with shared hosting.
2025-12-09 23:05:29 +01:00
Robin Gareus
bdaf96e3b6
Allow to replace/overwrite Route State (1/2) 2025-12-09 00:31:12 +01:00
Robin Gareus
4207b67b73
Clean template dir before overwriting existing template 2025-12-08 22:45:59 +01:00
Robin Gareus
d5464b39db
VST3: handle edge-case when user removes optional aux ports 2025-12-07 19:10:13 +01:00
Robin Gareus
8e051bb488
Fix strip state import and preset load for VST3 plugins 2025-12-07 19:00:27 +01:00
Robin Gareus
b9154359a3
I/O Plugin: only activate plugin after setting state
This fixes an issue with some VST3 plugins (notably NDI).
2025-12-06 18:07:59 +01:00
Robin Gareus
605de3eef4
VST3: fix bus configuration/connections
This handles the case where only part of a bus' ports are
connected. This can happen when a given speaker configuration
is not directly accepted, and the plugin provides more I/O than
requested.
2025-12-05 23:11:20 +01:00
Robin Gareus
8943e28931
VST3: add debug message and code cleanup 2025-12-05 23:06:02 +01:00
Robin Gareus
728558e51c
Use compiler provided PTW_VERSION define for compatibility 2025-12-05 16:00:09 +01:00
Robin Gareus
b938daca95
Yet another unistd.h special case for 2025-12-05 14:46:05 +01:00
Robin Gareus
0f3760a8d1
Amend be445a8079, add missing symbol 2025-12-05 00:09:28 +01:00
Robin Gareus
a04e56f3a8 Fix builds with clang
chan_count.h:216:29: note: 'operator<<' should be declared prior to the call site or in namespace 'ARDOUR'
2025-12-04 23:55:37 +01:00
Robin Gareus
be445a8079
VST3: set VSTSpeakerArrangements to match track
This fixes some plugins that require a valid Bus/SpeakerArrangement
setting to set the available per bus I/O channel-count.
(e.g. Altiverb). Most other VST3s initially announce all
available channels.

TODO: check that this does not break plugins with optional
busses (sidechain in, multi-out instruments)
2025-12-04 23:39:54 +01:00
Robin Gareus
c08531f96e
Fix macOS builds (missing header)
implicit instantiation of undefined template 'std::array<..>'
2025-12-02 16:54:05 +01:00
Robin Gareus
d0109bed16
Move unistd.h detection to the correct wscript
This fixes macOS builds (getpid())
2025-12-02 16:38:42 +01:00
Robin Gareus
6ce8358709
Remove yet another irrelevant unistd.h 2025-12-02 14:00:59 +01:00
Robin Gareus
5833fc08f2
Best keep Mixbus state in mixbus-git 2025-12-01 21:23:00 +01:00
Nicolas Koch
34850e514d MCP - Fix iCON P1-M check for RGB update on next redisplay 2025-12-01 13:10:02 -07:00
Nicolas Koch
2db87934dd MCP: iCON P1-M/P1-NANO/V1-M only - Make RGB blink to 20% brightness when track/bus selected 2025-12-01 13:10:02 -07:00
Nicolas Koch
e39eebee57 change iCON RGB color to use newly added p1m device logic rather than erroneous platformMp 2025-12-01 13:10:02 -07:00
Nicolas Koch
669e689f8c MCP - Add iCON Pro Audio P1-M and correct Platform M+ - I forgot to rename to P1-M on previous commit 2025-12-01 13:10:02 -07:00
Nicolas Koch
f71b519c56 MCP - Add RGB color display to iCON P1-M, P-NANO and V1-M 2025-12-01 13:10:02 -07:00
Nicolas Koch
3e2c73258c MCP updates:
* Add iCON Pro Audio P1-NANO device with option of P1-X extenders left or right
* Resolve Metering on P1-M/X and P1-NANO
* Resolve SMPTE/beats display on P1-M/X and P1-NANO
2025-12-01 13:10:02 -07:00
Robin Gareus
293a359d10
Fix Mixbus builds (1/2) 2025-12-01 20:53:22 +01:00
Paul Davis
f996808962 triggerbox: fix error during 794888738 that caused crashes when editing MIDI clip boundaries 2025-12-01 12:39:32 -07:00
Robin Gareus
00af254b04
Extend strip import API, include additional information 2025-12-01 16:51:10 +01:00
Paul Davis
7948887382 TriggerBox: radically redesign handling of region changes by AudioTrigger
This now follows MIDITrigger - when a region's bounds are changed, we reload
the data corresponding to the region into memory, queue up a PendingSwap and
then have Trigger::check_edit_swap() switch to the new data when
necessary (synchronously with ::run).

This comment also removes AudioTrigger::_start_offset because there is never
any start offet - the data in memory is always precisely the data corresponding
to the region. If the region bounds are modified, we reload the correct data
into memory. This also applies to the recently added _user_data_length - again,
the data in memory always corresponds to the full span of the region/clip being
used in process context.

This differs a little from MIDITrigger, where we do in fact load the entire
source and maintain trigger-only bounds. That's because the amount of data for
MIDI is generally small, and so it makes more sense to just put it all in
memory and adjust which parts of it we use. For audio, the region could be
minutes (or hours!) into an audio source, and there's no point having all that
data in memory when we do not need it.

These changes now make editing clip boundaries in AudioClipEditor generally
functional, though some polishing is still in the works.
2025-11-30 11:07:42 -07:00
Paul Davis
1605f35811 NO-OP: explanatory comment 2025-11-30 11:07:42 -07:00
Paul Davis
2068aa12ac Triggerbox: remove unused and ill-conceived API from triggers
This API was imagined as useful when Triggerbox started, but we never use
them and likely never will. If some part of them is required in the future, it
will likely be in a different form.
2025-11-30 11:07:42 -07:00
Robin Gareus
efe08f7809
Fix artifacts with concurrent region read / shared playlists 2025-11-30 16:59:20 +01:00
Robin Gareus
322ed62e41
Avoid direct use of PluginInfo->n_in/outputs
This is in preparation for VST3 setBusArrangements
variable bus I/O count.
2025-11-29 15:42:54 +01:00
Robin Gareus
152e0c2beb
Clean out more unconditional, unnecessary unistd.h 2025-11-28 12:15:54 +01:00
Robin Gareus
de042dcde7
De-click External Sends 2025-11-27 01:31:27 +01:00