Commit graph

21091 commits

Author SHA1 Message Date
Paul Davis
edc03002eb for DEBUG::Processors, use display_name() not name()
This allows us to differentiate between different instances of the same
type of processor (e.g. Trim vs Fader, which are both of type Amp)
2024-05-10 08:35:03 -06:00
Robin Gareus
88df55f86d
Remove debug messages, cleanup output (2/2) 2024-05-08 00:56:57 +02:00
Mattias Ohlsson
10109c3147
Fix typos 2024-05-07 18:52:02 +02:00
Robin Gareus
4b8b5acfc4
Fix builds with gcc-14 lstat (#9703 PR #893)
from stat(2)
```
lstat():
    /* glibc 2.19 and earlier */ _BSD_SOURCE
        || /* Since glibc 2.20 */ _DEFAULT_SOURCE
        || _XOPEN_SOURCE >= 500
        || /* Since glibc 2.10: */ _POSIX_C_SOURCE >= 200112L

```
2024-05-07 00:17:56 +02:00
Robin Gareus
70898a676b
Allow to run IOTasklist without rt permissions 2024-05-06 23:20:26 +02:00
Paul Davis
fdd91cc325 remove debug output 2024-05-05 15:05:09 -06:00
Paul Davis
81d1724931 NO-OP: add clarifying comment 2024-05-05 15:01:54 -06:00
Robin Gareus
100ee72cec
Fix copying RegionFx Automation 2024-05-03 14:44:49 +02:00
Robin Gareus
37d24eee7d
Flush Audioregion local [fx] cache when changing region gain 2024-05-02 23:04:50 +02:00
Ben Loftis
27e2348b47 when capturing a midi pgm change, display the pgm num (for LT) 2024-05-02 12:43:12 -05:00
John Emmas
631ee17e34 Modify class ARDOUR::DiskReader because it now includes members declared using 'thread_local'
On Windows, variables defined as having thread storage can have a different address in different threads and as such, they aren't allowed to be imported or exported from a DLL.
2024-05-02 10:22:44 +01:00
Robin Gareus
99e2ac28e1
Update debug message to include regionfx and offset 2024-05-01 22:30:04 +02:00
Robin Gareus
b9da1a5bd5
Expose HW concurrency to LV2 plugins 2024-05-01 03:51:42 +02:00
Robin Gareus
5b9e4fff63
Parallelize Disk I/O and RegionFx processing 2024-04-30 03:46:39 +02:00
Robin Gareus
4b0da72bc2
Delegate all DiskReader I/O to the IOTaskList (amend 170b9150) 2024-04-30 01:55:44 +02:00
Robin Gareus
ee87b068e8
Move RegionFx ThreadBuffers to Butler thread 2024-04-30 01:54:33 +02:00
Robin Gareus
170b915038
Prepare for parallel Disk I/O 2024-04-30 00:01:32 +02:00
Robin Gareus
2af2df3516
Raise the butler's I/O priority
This likely won't make much difference on modern systems,
since it requires a kernel based I/O scheduler. which is
disabled (set to "none" for NVMe and SSDs).
2024-04-29 21:46:06 +02:00
Robin Gareus
e90e31d682
Add a Tracks/Waveform icon 2024-04-29 21:00:27 +02:00
Robin Gareus
5f7ecf59a5
Allow to compile w/o LV2 support (trax) 2024-04-28 17:50:51 +02:00
Paul Davis
21a39c5f1f profile initialization per-program needs to happen earlier, in ARDOUR::init() 2024-04-25 13:07:00 -06:00
Paul Davis
87f40ddc7f some libardour support for MIDI scene support 2024-04-25 13:07:00 -06:00
Paul Davis
a0756429cf auto-fication of a loop in InternalReturn 2024-04-25 13:07:00 -06:00
Paul Davis
7bcdd5b2e4 NO-OP: add space before bracket 2024-04-25 13:07:00 -06:00
Paul Davis
e3b21ed77a NO-OP: linebeeak removed 2024-04-25 13:07:00 -06:00
Paul Davis
125b0f9432 add a new Profile flag for livetrax 2024-04-25 13:07:00 -06:00
Paul Davis
16ed245977 allow true boxy buttons for ArdourButtons
Also add a default tweaks static member to force all buttons to a given tweak state
2024-04-25 13:03:52 -06:00
Paul Davis
46fa056da6 add unrounded rectangle methods to Gtkmm2ext for use in truly boxy buttons 2024-04-25 13:03:52 -06:00
Robin Gareus
354e60d657
Drop session's monitor bus reference when removing the bus 2024-04-25 19:18:06 +02:00
Robin Gareus
848832f8b0
Flush GraphNode RCU when removing Routes
Since 44610c787 RCU keeps references until another write happens.
even before then, some shared_ptr references may have been kept.

When using a process graph, a route's activision-set can
hold references to other graph-nodes (routes). This lead
to Routes not being deleted until a second graph-reorder
flushed the RCU.
2024-04-25 19:18:06 +02:00
Robin Gareus
4665cdcb6b
Add icons for livetrax (lock, mixer, meter) 2024-04-25 02:21:10 +02:00
Robin Gareus
b00ddcfe1c
Fix -Waddress (and expand tabs)
The expansion of the macro resulted in:
"the comparison will always evaluate as 'true' for the address of .."
2024-04-24 18:06:27 +02:00
agfline
41587d3c06
Update libaaf to v1.0-11-gb04c547 2024-04-24 17:13:00 +02:00
Robin Gareus
895fe2f753
Fix Windows builds 2/2 (amend b2d4280e0) 2024-04-24 06:08:26 +02:00
Robin Gareus
df12126909
Fix Windows builds 1/2 (amend bcbb4393fc) 2024-04-24 06:02:13 +02:00
Robin Gareus
457238ec2e
Per [Audio] Region Fx
* apply effects during region-read in non-rt context
* Add multi-channel audioregion read cache
  to process stereo effects
2024-04-23 21:56:15 +02:00
Robin Gareus
1996945353
Add custom RegionFxPlugin
Less than a PluginInsert but more than an IOPlug.
2024-04-23 21:56:10 +02:00
Robin Gareus
b04fa05f20
NO-OP: sort debug bits 2024-04-23 21:55:59 +02:00
Robin Gareus
59b2369736
Remove unused gain-buffer for master-read (NOOP) 2024-04-23 21:52:02 +02:00
Robin Gareus
f3823e8d7c
Fix redeclaration of DnDVbox 2024-04-23 21:51:55 +02:00
Robin Gareus
2bb4a9ac4e
Add API to configure plugins for non-realtime offline processing 2024-04-23 21:51:50 +02:00
Robin Gareus
f858316503
Plugins: Ignore offset for scratch/silent buffers
This allows to process buffers at an offset, as long
as the number of processed samples is less or equal to the
current buffersize.
2024-04-23 21:51:19 +02:00
Robin Gareus
2ca5f28910
NO-OP: whitespace 2024-04-23 21:51:07 +02:00
Robin Gareus
2f6a428f05
Overhaul and optimize thread-buffer allocation
Every route calls Session::ensure_buffers when configuring
processors. Previously that unconditionally invoked the
BufferManager, even if no change was required.

This also fixes a potential issue when bouncing tracks.
::write_one_track() increases the buffersize to 8k, but only for
the ChanCount required to bounce. This was never properly reset.

Furthermore this is in preparation for RegionFX which may
need to increase the ChanCount of Threadbuffers.
2024-04-23 21:51:04 +02:00
Robin Gareus
6dfcb60763
Automatable find_next/prev_ac_event requires no context
This allows to use the functions from a class that
does not inherit from Automatable but has AutomationControls
with an AutomationList.
2024-04-23 21:50:58 +02:00
Robin Gareus
f111f200c1
Fix signal analysis when buffer-size changes
PI::signal-analysis buffers were not updated when a user
changes the buffersize.

This also remove a single use Session API.
2024-04-23 21:49:48 +02:00
Robin Gareus
df8106bd85
PluginInsert match I/O: skip div by zero 2024-04-23 21:49:41 +02:00
Robin Gareus
92183430b9
IOPlug: various small fixes (port-names, VST compat, etc) 2024-04-23 21:49:28 +02:00
Robin Gareus
5216a6d987
Refactor and consolidate setting and copying plugin state 2024-04-21 16:32:47 +02:00
Robin Gareus
f5b53a6d14
Consolidate PluginInsert Match, move to parent class 2024-04-21 16:32:47 +02:00