Commit Graph

21084 Commits

Author SHA1 Message Date
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
Robin Gareus 2da3141706
Consolidate plugin_factory, move to parent class 2024-04-21 16:32:47 +02:00
Robin Gareus d2bdf440c8
Consolidate PluginControl Code
This code was (for the most part) duplicated, and with
preparation for Region FX, a third copy motivated this
consolidation.
2024-04-21 16:32:47 +02:00
Robin Gareus 6191f89d55
Properly update Solo state when setting multiple ctrls 2024-04-21 16:32:13 +02:00
Robin Gareus bcbb4393fc
Allow Lua [session] script to directly set controllables 2024-04-21 16:32:10 +02:00
Paul Davis 894e6d27a4 NOOP: whitespace cleanup 2024-04-19 10:43:10 -06:00
Paul Davis c96e12ba58 expand null/destroyed tests for gdk objects in NSView methods 2024-04-19 10:42:59 -06:00
Robin Gareus e64a071e39
(YDK) amend previous commit, call parent method 2024-04-19 16:46:49 +02:00