Commit graph

21660 commits

Author SHA1 Message Date
Robin Gareus
e34359b921
VST3: skip context info callbacks during session load
This fixes a crash when SSL's channelstrip calls set-selection
early on during session load, during Session::load_routes.

Session::add_routes_inner calls calls ARDOUR::GUIIdle() which
can trigger a SSL Native Channel Strip 2" VST3 to call
VST3PI::setContextInfoValue, which in turn emits a
CoreSelection::send_selection_change before the session is
fully loaded.

This also handles various edge cases where a given AC may
not [yet] exist.
2024-05-20 19:31:31 +02:00
Robin Gareus
4ec86a2657
Add API to query Fader orientation 2024-05-18 01:42:44 +02:00
Robin Gareus
cd2db2c3aa
NO-OP: whitespace 2024-05-17 17:25:45 +02:00
Robin Gareus
5f52329bed
Update mixer and lock icon 2024-05-17 17:25:41 +02:00
Paul Davis
fc194237eb Locations::clear_ranges() now removes punch & loop ranges 2024-05-17 09:05:27 -06:00
Robin Gareus
9d046af47a Update Lua allocator for sessions scripts
* increase memory pool (bindings alone require 1.5 MB), and all session
  scripts have a shared memory pool.
* use TLSF (like Lua DSP processors) - this fixes an issue with atomics
  (notably int62_t, temporal) on macOS and ARM, which need to be
  aligned.
2024-05-15 20:18:21 +02:00
Robin Gareus
1f0ee56726
Fix Lua Session scripts (amend df12126909) 2024-05-15 17:33:59 +02:00
Robin Gareus
b3df8ea6ef
Expose UI config fonts to libwidgets
Currently this is only for the benefit of derivative projects.
2024-05-15 17:02:35 +02:00
Robin Gareus
0bac1e07f5
There is no TraxLive here (amend a0e2749) 2024-05-15 03:35:23 +02:00
Robin Gareus
a0e27495c6
Abstract base class for ArdourFader
This allows derivative projects to use other fader
render implementations.
2024-05-15 02:41:37 +02:00
Paul Davis
86c3b70c54 add some utility functions to Buffers and BufferSets to allow some kinds of debugging easily 2024-05-14 12:25:58 -06:00
Robin Gareus
e75ad3399e
Fix BBT marker calculation when removing time 2024-05-14 03:20:04 +02:00
Robin Gareus
aa55bf35eb
Catch issues with invalid region vs. source length
e.g. the session from
https://tracker.ardour.org/view.php?id=9704#c28732
2024-05-14 02:12:45 +02:00
Robin Gareus
68d3be8918
Support querying disk space for disks > 16TB
under the hood `fsblkcnt_t` is used.
2024-05-13 21:32:10 +02:00
Paul Davis
2f32a22a4d Revert "ensure that the master send is directly before the main outs."
MasterSends are not (currently) part of Ardour.

This reverts commit dcdcaf4b47.
2024-05-10 15:16:13 -06:00
Paul Davis
384739aa80 Revert "fix for metering of a MasterSend (internal send)"
MasterSends are not (currently) part of Ardour.

This reverts commit de1a425704.
2024-05-10 15:15:32 -06:00
Paul Davis
fce1f15a87 avoid timecnt_t exception when loading a region with an excessively long length
This is not a fix for whatever underlying problem causes this, but it does allow sessions to load
when the faulty region(s) are not in use
2024-05-10 08:36:06 -06:00
Paul Davis
dcdcaf4b47 ensure that the master send is directly before the main outs. 2024-05-10 08:35:03 -06:00
Paul Davis
de1a425704 fix for metering of a MasterSend (internal send)
Metering for these sends should be effectively PostFader not Output,
and should not reflect the impact of solo & mute.
2024-05-10 08:35:03 -06:00
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