Commit graph

22277 commits

Author SHA1 Message Date
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
Robin Gareus
6a5215db37
NO-OP: declare GAIN_COEFF_DELTA in common header 2025-11-27 01:18:57 +01:00
Paul Davis
5ad7071614 OSC: use namespaces and deletion to avoid conflicts over LocationMarker type
note that this type is also declared by the GTK2 GUI, and at runtime that was the definition being
used, which leads to crashes due to differences in the type definition.
2025-11-25 17:59:20 -07:00
Robin Gareus
7893b348a8
Remove 16 year old session-import prototype (2/2)
This was based on Arodur 2.x sessions modifying XML
which no longer applies (and non functioning GUI).
2025-11-25 16:52:01 +01:00
Robin Gareus
0893098071
Clearlooks: don't hardcode define HAVE_UNISTD_H 2025-11-25 16:17:36 +01:00
Robin Gareus
33b1792726
Remove unused unistd.h an sys/time.h includes
For the most part glib has superseded low level POSIX fork/pipe
/open/close/.. I/O.
2025-11-25 16:08:39 +01:00
Paul Davis
0459902b9a Evoral::Event show event address in operator<< 2025-11-24 21:51:23 -07:00
Robin Gareus
e9256cf0e4
Add API to locate to named marker 2025-11-25 00:39:06 +01:00
Paul Davis
5223fff183 triggerbox: fix computation of usable length for audio clips
The usable length is based on data in the file, or the follow length, whichever
is smaller, as appropriate. The end of the clip (which could be stretched) is
not relevant to this length.
2025-11-24 14:59:12 -07:00
Paul Davis
73c666a889 triggerbox: additional DEBUG_TRACE messages for DEBUG::Trigger 2025-11-24 14:59:12 -07:00
Robin Gareus
1bb0832159
Implement strip import/export, focusing on processors 2025-11-24 21:07:53 +01:00
Robin Gareus
e8ea2029e1
Define folder/file extensions for route-state import/export 2025-11-24 21:07:52 +01:00
Robin Gareus
8c1bb6ac58
Add API to lookup plugin by URI 2025-11-24 21:07:48 +01:00
Paul Davis
3a337b97ea OSC: remove singleton object from OSC code
This will allow, theoretically, multiple instances of an OSC surface.

The osccontrollable.{cc,h} code is not used anywhere in the rest of the surface
support, and so was removed from the library but left in the repository
2025-11-24 10:28:56 -07:00
Robin Gareus
252c2240e1
Fix 8456af6d8 2025-11-23 00:09:31 +01:00
Robin Gareus
7ec70c66ff
LV2: don't print warning messages from rt-thread 2025-11-22 18:04:23 +01:00
Robin Gareus
8456af6d8d
Update I/O plugin port-names when plugin changes them 2025-11-22 17:51:10 +01:00
Robin Gareus
5a79782ef3
Generalize owner->RPC() API from VST3 to plugin.h 2025-11-22 17:51:09 +01:00
Robin Gareus
7181515490
Extend RouteProcessorChange Types to be more specific about name changes
This is in preparation for I/O Plugins to update port names,
which should not happen every time some unrelated property changes
2025-11-22 17:51:09 +01:00
Paul Davis
48f625e7ef continued work on getting audio clip bounds editing to work 2025-11-21 22:39:14 -07:00
Paul Davis
c3b871d6e7 triggerbox: continued work on making AudioTriggers respond to Region bounds changes 2025-11-21 22:39:14 -07:00
Paul Davis
9e72b2b452 refactor MIDITrigger's PendingSwap to prepare for a version used by AudioTrigger also 2025-11-21 22:39:14 -07:00
Franke Burgarino
4f434154a0 Fix PortAudio with MSYS
PortAudio can now successfully be used with Ardour when building on
Windows/MSYS. This will not work with MSYS packaged PortAudio, it
doesn't come with ASIO. You must build from source.
2025-11-20 18:35:28 -06:00
Robin Gareus
34609232f0
Remove deprecated no-op function (1/2)
Glib::thread_init has been deprecated since 2.32,ib
is no longer necessary and no longer has any effect.

This fixes builds with modern glib[mm] versions, notably
with msys2 in Windows.
2025-11-20 23:10:52 +01:00
Robin Gareus
fc3b79dd58
Revert "glib version checks for MSYS"
This reverts commit bb6171bbb2.
2025-11-20 22:00:12 +01:00
Robin Gareus
e7c30d2022
Revert "Additional waf tweaks for MSYS"
This reverts commit d30a0b2bfb.
2025-11-20 21:56:30 +01:00
Franke Burgarino
d30a0b2bfb Additional waf tweaks for MSYS 2025-11-20 13:54:25 -06:00
Franke Burgarino
bb6171bbb2 glib version checks for MSYS 2025-11-20 13:38:18 -06:00
Franke Burgarino
839d9dab07 Tweak optimization for Windows MSYS builds
Too many symbols to do completely unoptimized builds on Windows, so -Og
is necessary.
2025-11-20 12:46:00 -06:00