Commit graph

19811 commits

Author SHA1 Message Date
Robin Gareus
842f4517de
Fix session-archive of stereo files #9122
Archiving creates a dedicated mono file for each Source.
When the original session has (embedded) stereo files, the
channel needs to be temporarily set to 0.
2022-11-28 00:40:17 +01:00
Robin Gareus
03575011b5
Retain ctime/mtime when encoding file for archiving 2022-11-27 14:11:05 +01:00
Robin Gareus
580179272d
NO-OP: cleanup duplicate X_ escape 2022-11-27 01:59:01 +01:00
Robin Gareus
d06a0d9c9d
Copy MIDI Source properties when cloning MIDI Regions 2022-11-27 01:58:58 +01:00
Robin Gareus
bc6a9609ff
Address some Wmissing-prototypes in qm-dsp 2022-11-26 16:23:52 +01:00
Robin Gareus
a63e1add6d Remove unused config variables 2022-11-25 20:10:33 +01:00
Paul Davis
d0fb7ae18a avoid duplicate BBT points in grid 2022-11-22 18:09:46 -07:00
Gon Solo
1cf6886775
std::iterator is deprecated in C++17, use bidirectional_iterator_tag 2022-11-22 19:49:41 +01:00
Robin Gareus
4cd01a5f6e
Fix soundcloud curl callback
This also addresses C++17 compatibility.
2022-11-22 17:52:40 +01:00
Paul Davis
fe386e51b1 incomplete comments - just say no 2022-11-21 18:34:13 -07:00
Paul Davis
c7cf4d96e0 confusing comments - just say no 2022-11-21 18:33:17 -07:00
Paul Davis
a84d3e04c4 tests: add new test to check that tempo map reset changes beat time correctly 2022-11-21 18:18:21 -07:00
Paul Davis
f5887b978d tempo map: when resetting, set beat/quarter positions as well as audio positions
introducing a new time signature that uses non-quarter notes as the denominator
will move the beat position a given BBT time (since the middle "B" of BBT
refers to "beats" given by the denominator, not quarters).
2022-11-21 18:18:21 -07:00
Robin Gareus
c8711aacc6
Import MIDI markers direct to the source (3/4) 2022-11-22 01:46:00 +01:00
Robin Gareus
4f4b931ccc
Add import_markers option (1/4) 2022-11-22 01:44:53 +01:00
Robin Gareus
3567a7f610
Parse MIDI Lyrics meta-events (import w/markers) 2022-11-21 21:53:15 +01:00
Robin Gareus
82512422a7
Deliveries support mismatched chan-counts
This issue was introduced in f3423b8a77, which assumed that
number of input channels matches the number of outputs.
With flexible I/O this is not necessarily the case.

This fixes #9106, along with the previous commit.
2022-11-20 15:07:07 +01:00
Robin Gareus
4448b3a2a9
Prevent crash when running unconfigured meter processor
If Route::configure_processors fails at session start,
meters are not configured (#9106), leading to a crash when
::run() is called (insufficient peak/max/midi buffers).
2022-11-20 15:07:07 +01:00
Robin Gareus
d903bcff17
Disambiguate "types.h" (see also 705386842b) 2022-11-20 00:32:55 +01:00
Robin Gareus
16e0de95fc
Handle NoPeakFile flag
Previously the flag was not honored. AudioSource::write() calls
-> SndFileSource::write_unlocked()
-> SndFileSource::nondestructive_write_unlocked() which calls
-> AudioSource::compute_and_write_peaks

This produced "cannot open _peakpath" messages during
session-archive FLAC encoding. Likewise closing an audio file
calls touch_peakfile(). Although this simply failed silently.
2022-11-20 00:00:32 +01:00
Robin Gareus
d44b4b4674
Remove cruft (unused CANVAS_COMPATIBILITY - 2/3) 2022-11-19 21:49:15 +01:00
Robin Gareus
34e7c2ffc5
Remove cruft (unused CANVAS_COMPATIBILITY - 1/3) 2022-11-19 21:49:01 +01:00
Robin Gareus
c69cfaa124
Fix Ardour's rm -r implementation, delete symlinks 2022-11-19 20:20:58 +01:00
Paul Davis
d7895ab1d2 triggers: remove sidechain and use global port for trigger control 2022-11-19 10:22:16 -07:00
Paul Davis
c8e3d95109 add new Session global MIDI input port for trigger control 2022-11-19 10:22:16 -07:00
Robin Gareus
705386842b
Require prefix for libardour library header location 2022-11-19 01:12:51 +01:00
Robin Gareus
3f3d0c7e49
Surfaces and panners should not export headers
Those are not shared libraries but only dynamically loaded
plugin objects. Their headers are their own.
2022-11-19 01:11:53 +01:00
Robin Gareus
37251faaf1
Add missing wscript file 2022-11-19 00:59:38 +01:00
Robin Gareus
a6f8f2dd9e
Consolidate search/file-system paths (fixes vst builds)
Keep file-system paths and PBD::Searchpath mostly separate.
This amends 58c2b0a848 libs/fst directly includes relevant
ardour C++ code, so lib/fst must not link against libardour.

The problem was that 58c2b0a848 introduced additional
dependencies on other libardour functions.
2022-11-19 00:48:11 +01:00
Robin Gareus
d521c2ede6
src-tree cleanup: separate surfaces from libraries
libardourcp and now libardour_midisurface are not control
surfaces, but helper libraries for those.
They need to be deployed to the library folder (shared between
ctrl surfaces) and not scanned as ctrl surfaces at runtime.
2022-11-19 00:09:17 +01:00
Robin Gareus
22007bf882
Only use playlist-name when bounced region-name is unset 2022-11-18 22:49:15 +01:00
Paul Davis
fc611232d2 redesign and reimplement save/restore of MIDI learn for triggers 2022-11-18 14:04:59 -07:00
Paul Davis
58c2b0a848 move midi maps folders and file extension out of control surfaces library 2022-11-18 14:04:59 -07:00
Gon Solo
c3d4453bdf
Remove superfluous wscript lines. 2022-11-17 03:21:29 +01:00
Gon Solo
85a45b2645
Fix missing glib include path 2022-11-17 03:21:25 +01:00
Paul Davis
10e004f0ec tweaks to TriggerBox::dump_custom_midi_bindings 2022-11-16 18:15:39 -07:00
Paul Davis
5a07da9255 triggers: code to dump MIDI learn-ed bindings as a binding map 2022-11-16 16:25:09 -07:00
Paul Davis
730064277d a start at custom MIDI learn for trigger slots 2022-11-16 08:37:57 -07:00
Paul Davis
a130041547 use MIDISurface in original Faderport support, plus required changes in MIDISurface & Push 2 2022-11-16 08:37:57 -07:00
Paul Davis
e5bbccef28 various changes to get Push 2 surface support functional after inheriting from MIDISurface 2022-11-16 08:37:57 -07:00
Paul Davis
99712e7585 surfaces; convert push2 to inherit from MIDISurface 2022-11-16 08:37:57 -07:00
Paul Davis
4fbf3028aa basic skeleton for new MIDISurface base class 2022-11-16 08:37:57 -07:00
Robin Gareus
6c3a1d98fe
Towards distinguishing user/factory LV2 presets
See also https://github.com/lv2/lilv/issues/55
2022-11-15 20:08:24 +01:00
Robin Gareus
82d43fa1ee Allow empty text in prompter 2022-11-15 03:24:19 +01:00
Robin Gareus
f107c063e7 Add conveniece API to set trasient-parent for Proxy Windows
On macOS, a transient parant should only be set for a single child
window. sibling windows to a single parent cannot be re-stacked.
2022-11-15 03:03:49 +01:00
Robin Gareus
4f3b8a9776
Allow to override default stack limit for background processes 2022-11-13 03:01:57 +01:00
Robin Gareus
2ae670055d
Explicitly initialize futex word
This is mainly to silence valgrind warnings, the actual value
is irrelevant here.
2022-11-13 03:01:50 +01:00
Robin Gareus
949f9e6051
Fix LV2 Atom ringbuffer overflow/corruption
Writing partial messages will lead to undefined behavior.
This does not generally happen (LV2 forge prevents overflow
of the Atom buffer itself), however if the GUI is frozen messages
may accumulate in Ardour's Ringbuffer.
2022-11-13 00:24:05 +01:00
Robin Gareus
376b50a6ae
Fix concurrency issue when deactivating plugins
Processor::deactivate must not be called concurrently with
processing. e.g. Threading rules https://lv2plug.in/ns/lv2core

This fixes a potential crash when freezing tracks
2022-11-13 00:24:02 +01:00
Alexandre Prokoudine
33eceadf3a Fix the latest French translation update 2022-11-11 14:45:09 +03:00