Commit Graph

38647 Commits

Author SHA1 Message Date
Robin Gareus
048c574b07 Amend 70a0b47ce (add missing file) 2024-01-13 03:59:37 +01:00
Robin Gareus
5151755687 Update Lua Script to use new well-known-ctrl API 2024-01-13 03:09:35 +01:00
Robin Gareus
70a0b47cef Update Ctrl Surfaces: use new well-known-ctrl API 2024-01-13 03:08:51 +01:00
Robin Gareus
a7e36f77ac Add enum-based well-known-ctrl API 2024-01-13 03:03:25 +01:00
Robin Gareus
12002e1dc0 FP8: only use visible channelstrip plugins
This is in preparation for multiple Mixbus channelstrip
Plugins.
2024-01-13 03:01:40 +01:00
Robin Gareus
4a9b2cd014 Vapor: set surround bus channel names 2024-01-11 06:47:13 +01:00
Robin Gareus
3c5f9f1450 Add API to set custom IO port channel names 2024-01-11 06:47:06 +01:00
Robin Gareus
db7a67980d Vapor: allow to toggle 5.1 and 7.1.4 main output 2024-01-11 05:16:21 +01:00
Robin Gareus
a9719f1b35 Vapor: add support to trim surround object level 2024-01-10 01:31:57 +01:00
Ben Loftis
ee6d46d403 Ardour repo should not distinguish between Mixbus variants 2024-01-08 08:25:18 -06:00
Robin Gareus
083cf09108 YTK: fix installing cocoa/gtk module 2024-01-07 18:37:35 +01:00
earringsmusic
4f5a801209 Adjusted Akai MIDIMix mapping to make solo function as described in original user manual provided by manufacturer. 2024-01-07 14:30:47 +01:00
Nicolas Petton
aac7f82bc8 Add a new color theme inspired by Adwaita (GNOME desktop) 2024-01-07 14:18:26 +01:00
Robin Gareus
cbf38408c9 Fix crash when using Ripple with a RegionMoveDrag
See also 1a2fff932f
2024-01-07 14:15:36 +01:00
Robin Gareus
ad51c7c2ba Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
Robin Gareus
2a928dae19 Vapor: Simple Export GUI 2024-01-06 20:28:42 +01:00
Robin Gareus
7228144d6e Vapor: GUI support to add Surround Bus 2024-01-06 20:27:03 +01:00
Robin Gareus
6172de3144 Vapor: add Lua bindings 2024-01-06 20:24:37 +01:00
Robin Gareus
b84cd4fb5a Vapor: Implement Surround Send/Return 2024-01-06 20:24:23 +01:00
Robin Gareus
ec32d22cb3 Vapor: Prototype LV2 export extension 2024-01-06 20:22:39 +01:00
Robin Gareus
9cc966120c Consolidate internal bus checks (2/2) 2024-01-06 20:21:54 +01:00
Robin Gareus
3de600625f Consolidate internal bus checks (1/2) 2024-01-06 20:21:51 +01:00
Robin Gareus
9bb4d0dcf8 Vapor: Add surround types/enum 2024-01-06 20:21:25 +01:00
Robin Gareus
c7772c220e Vapor: Bootstrap Atmosphere plugin 2024-01-06 20:21:13 +01:00
Robin Gareus
0ada2df2e6 Implement [surround] LUFS meter 2024-01-06 20:21:06 +01:00
Robin Gareus
88c796c8f2 Add dedicated Exception for Plugin/Processor errors 2024-01-06 20:21:00 +01:00
Robin Gareus
5476aa336f Fix "Ignored automation data for non-automatable parameter"
Do not save automation data for parameters that cannot
be automated.
2024-01-06 20:20:45 +01:00
Robin Gareus
66ad0ebb03 Region groups: do not group multiple takes on a single track 2024-01-06 20:20:30 +01:00
Robin Gareus
bcfa591ed2 Fix crash (or stuck solo) when removing tracks 2024-01-06 20:20:00 +01:00
Robin Gareus
49256a37e8 NO-OP: clarify source-tree structure 2024-01-06 14:23:47 +01:00
Robin Gareus
58641d2a35 Fix crash when session-load fails while creating Routes
When loading the state of a Route fails (here
"unknown enumerator SurroundMaster in PBD::EnumWriter"), the
routes which have already been loaded are not added to the
Session's routelist.

Already existing routes that have an InternalSend or have
a circular reference:

The Send's `_send_from` holds a shared pointer
`<Route>(shared_from_this())` to the Route, and the
Route's ProcessorList contains the InternalSend.

This leads to various
"SessionHandleRef exists across session deletion" of
IO, Ports, GraphNode, Graph, etc
which causes issues when loading another session.

Session::destroy() cleans calls drop_references for
each route in the RouteList, which breaks the circular
dependency (InternalSend drops reference to Route).
But here the RouteList is empty.

Crash fixed:
 * Load a session that fails to load a Route
  (here a session created on with the vapor branch, on master)
 * Then load another session without restarting Ardour.
2024-01-06 04:19:24 +01:00
Robin Gareus
e8a902d875 Remove debug message 2024-01-06 04:19:20 +01:00
Robin Gareus
986faf42f5 Initialize some uninitialized variables
This is only relevant when session load fails, by throwing
an error, which is caught and calls destroy() before
Session::setup_lua is called.
2024-01-06 04:19:14 +01:00
Robin Gareus
128278c75f AAF Import CLI: fix media location, use new libAAF API 2023-12-26 14:36:44 +01:00
Robin Gareus
c5db23a15c Update libAAF (upstream v0.5-2-g4dfb754) 2023-12-26 14:35:14 +01:00
agfline
f5689f37b6 Prepare libAAF update 2023-12-26 14:34:11 +01:00
agfline
156563a36f allow to update libaaf from a local directory 2023-12-26 14:26:53 +01:00
Robin Gareus
1f689cac42 Replace deprecated g_basename() 2023-12-26 14:24:52 +01:00
Robin Gareus
46a2b45443 Tweak translatable strings
* add spaces around "->"
* consistently use "time domain" (instead of "timebase")
* remove "Edit ->" from "Preferences" (on macOS Prefs
  are not in the edit menu
2023-12-17 20:58:11 +01:00
Edgar Aichinger
eeadd04b14 update german translation (this time for real) 2023-12-17 11:45:15 +01:00
Robin Gareus
c3b55240b1 Fix erasing events in MIDIBuffer
When the last event in a MIDI buffer was erased, the whole buffer
was assumed to be empty (bug introduced in 7.5-96-gc5511040ec)
2023-12-15 08:50:10 +01:00
Robin Gareus
066df7cc1a LV2: fix crash when replicating stateful plugin on copy
When copying a mono LV2 plugin to a stereo track, the
state of the copied mono plugin is copied to the replicated
instance.

However at this point in time PBD::Stateful::ForceIDRegeneration
is still enabled, and the state ID has not been set.

This used to not be an issue. Older versions of liblilv
handle non-existent paths just fine.

However in lilv v0.24.20-10-gdd5e851 `lilv_path_absolute`
was replaced with `zix_canonical_path` which returns NULL
if a state file does not [yet] exist. This lead to a segfault
due to strlen(NULL) in `serd_node_new_file_uri`:

#0 strlen -- SEGV on unknown address 0x000000000000
#1 serd_node_new_file_uri () at /lib/x86_64-linux-gnu/libserd-0.so.0
#2 lilv_state_new_from_file () at /lib/x86_64-linux-gnu/liblilv-0.so.0
#3 ARDOUR::LV2Plugin::set_state(XMLNode const&, int) at ../libs/ardour/lv2_plugin.cc:2320
2023-12-15 04:30:45 +01:00
Robin Gareus
6c5d15a1e6 Ignore clangd cached index files 2023-12-13 19:12:30 +01:00
Robin Gareus
1434c624ff Fix ffmpeg-5+ encoding drop-frame framerates 2023-12-13 17:41:44 +01:00
John Emmas
9f3438b2bc Fix a call to 'access()' by adding a call to 'uriDecodeString()'
For testing - needs to be checked by Adrien and will most likely be needed for other calls to 'access()'
2023-12-13 16:13:11 +00:00
Robin Gareus
92d6cb9933 Fix alloc-dealloc-mismatch (video image) 2023-12-12 20:36:55 +01:00
Nil Geisweiller
5d73567ce2 Add Lua script to reverse MIDI
LUA EditorAction script to chronologically reverse MIDI notes
of selected MIDI regions, alongside MIDI region positions.
 * The positions of the MIDI regions are reversed as well, meaning regions
   at the end appear at the beginning and so on.
 * Individual notes are reversed so the ending of a note corresponds to its
   beginning. Thus notes should be quantized for this effect to yield good
   results.
 * Note that only MIDI notes are reversed. Other MIDI events such as CC or
   SYSEX are left unchanged.
2023-12-12 18:14:36 +01:00
George Witt
aa610fbfa5 Fix GM2 Drum Kit ProgramChange values
The GM 2 Percussion Sound Set specifies that PC #1 corresponds with a value of 00h
2023-12-12 18:10:43 +01:00
Robin Gareus
634aa9900d UF8 for everyone 2023-12-12 03:38:50 +01:00
Paul Davis
f184acfb9d prevent crash in AudioPlaylist::write() due to lossy time domain convert 2023-12-11 16:52:25 -07:00