Commit Graph

38804 Commits

Author SHA1 Message Date
Robin Gareus 3fc7db08f0
YTK: do no parse gtkrc and theme files 2024-01-14 20:28:43 +01:00
Robin Gareus 3d752fc770
Fix snap to triplet 2024-01-14 15:32:02 +01:00
Robin Gareus a3cd791166
Amend bfb22e2acc, fix generic MIDI signal connection 2024-01-13 18:50:26 +01:00
Robin Gareus a6ea40552c
Don't show automation of hidden plugins 2024-01-13 17:56:47 +01:00
Robin Gareus 83e4b49a9e
Retain first-selected-stripable when removing ATAV
This allows ctrl surfaces (notably Faderport) to keep
editing plugin settings, when some unrelated plugin is removed.

Route::processors_changed calls RouteTimeAxisView::processors_changed,
and if a plugin automation line vanishes ~AutomationTimeAxisView
deselected the track. This triggered a control surface update.
2024-01-13 17:56:33 +01:00
Robin Gareus bfb22e2acc
Ctrl Surfaces: update bound controllables
Note: this only affects surfaces that use mapped_controls, and do
not already subscribe to processors_changed/RouteProcessorChange signal.
2024-01-13 17:14:17 +01:00
Robin Gareus c3ec93997c
Remove old well-known ctrls API 2024-01-13 04:06:29 +01:00
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