Commit graph

16752 commits

Author SHA1 Message Date
Robin Gareus
ed603ea8dd
Add Playlist::set_name() Lua binding & unique name check
Note: Previously only the GUI dialog to rename playlists
performed the test to check for unique playlist names.
2021-01-23 23:44:31 +01:00
Robin Gareus
e07e9eb2da
Fix typo in vst3-scanner --help text 2021-01-23 23:43:14 +01:00
Robin Gareus
eed07770e1
Fix Faderport1 port-connection (amend bbb68514) 2021-01-22 18:46:17 +01:00
Robin Gareus
24f69d5174
Fix linking with gcc-10.2
Explicit libardour/fftw3f is needed for thread-safe-planner
2021-01-22 18:36:59 +01:00
Robin Gareus
8426bb3aaf
ALSA: explicitly list millisecond buffer-sizes 2021-01-22 16:07:33 +01:00
Robin Gareus
0b97175d49
ALSA: fall back to nearest available buffer-size
The warning "samples per period does not match." never triggered.
Previously not being able to set the requested buffersize was a
fatal error.

This adds support for soundcards that only support msec.
e.g. recent HDA Intel via SOF (Sound Open Firmware)
2021-01-22 16:07:29 +01:00
Robin Gareus
cff58bd9da
ALSA: Fix slave device lookup 2021-01-22 16:07:24 +01:00
Robin Gareus
b9966cf69d
Fix implicit Vkeybd MIDI meta-data 2021-01-22 05:20:36 +01:00
Robin Gareus
7b4aaeb5cd
Remove unused code 2021-01-22 05:20:31 +01:00
Robin Gareus
959f83244e
Fix ArdourButton text-align when button size grows
This is mainly relevant when the button is placed inside a
Gtk::SizeGroup.
2021-01-21 02:19:06 +01:00
Paul Davis
5ff330bd7e fix thinko when in ParameterDescriptor::from_interface() for toggled parameters 2021-01-19 13:05:12 -07:00
Robin Gareus
8386874a03
OSC: Allow to specify marker name #8543
Patch from atsampson
2021-01-18 23:36:35 +01:00
Robin Gareus
983c577945
Fix send panner when copying sends
* Unlinked panners now retain their state during copy/paste.
 * Linked send panners can no longer override parent route panning
 * Unlinked panner state is retained across link/unlink.
2021-01-18 18:58:10 +01:00
Robin Gareus
9c06f693e9
Fix mp3 and video-export (ffmpeg/ffprobe detection)
A call to `transcoder_exe (unused, unused)` passes the same
string reference for `ffmpeg` and `ffprobe`. If this happens
during the first call of this function, the path for the latter
is cached for both external tools.
2021-01-18 17:21:26 +01:00
Robin Gareus
528cf92ed5
Hide "Midi Through" on Linux only
Note HAVE_ALSA is mandatory for Linux builds, even when only
using JACK.
2021-01-18 16:16:25 +01:00
Robin Gareus
c02169a6c8
Micro-optimization: pre-calculate pan-law
powf() is very expensive to call, and as long as the pan-law
is fixed, there is no need to re-calculate coefficient scale
factor on every update.
2021-01-18 16:14:16 +01:00
Robin Gareus
1fc8b55314
Fix Intel/AMD FMA mix_buffers_with_gain()
_mm256_fmadd_ps (a, b, c) performs (a * b + c)
2021-01-18 16:07:21 +01:00
Robin Gareus
097e5a7145
Implement dynamic input port meters
This is a revision of the initial API 8ba7df9105, to
address issues with dynamica ports (fa791ae9cc).

* Group meter + scope/monitor per port (atomic access)
* Use shared pointer to allow access while ports change
* Use RCU to update port map
* Add/remove ports without clearing the map
* Add signal to notify GUI about Input Port changes
2021-01-18 03:18:21 +01:00
Robin Gareus
c5b986f420
ALSA: set pretty port names for audio I/O 2021-01-18 03:18:21 +01:00
Robin Gareus
bbb6851468
Subscribe to pretty-port name changes (surfaces) 2021-01-18 03:18:20 +01:00
Robin Gareus
21e66216be
Separate user-set pretty-names from hardware I/O names
This allow to restore original engine port-names as set
by the backend. ALSA MIDI, CoreAudio, CoreMIDI and PortAudio
drivers can provide human readable physical port names for
some devices.
2021-01-18 03:18:20 +01:00
Robin Gareus
01502c6805
Allow to set pretty name for all port 2021-01-18 03:18:20 +01:00
Damien Zammit
0890b638b9 ptformat: Update to upstream 232ba25 2021-01-17 13:19:54 +11:00
Damien Zammit
ec5a809f54 pt import: Fix crash with bringing in material
Hopefully the weird pt import crash is now gone!
2021-01-17 13:19:54 +11:00
Damien Zammit
772512a62d pt import: Correct the log warning message when at least one audio file failed to load 2021-01-17 13:19:54 +11:00
Damien Zammit
2645ab2e73 pt import: Fix import -> cancel -> import by clearing status 2021-01-17 13:19:54 +11:00
Damien Zammit
5d0de7e037 pt import: Fix progress bar to span the whole import 2021-01-17 13:19:54 +11:00
Damien Zammit
ea8b855b4a pt import: Clean up track naming 2021-01-17 13:19:54 +11:00
Damien Zammit
12d62cd16e pt import: Fix race condition/threading, don't call new_audio_track() in bg thread 2021-01-17 13:19:54 +11:00
Robin Gareus
21822a45fb
Remove duplicate rdfs label in a-comp 2021-01-14 18:35:07 +01:00
Robin Gareus
0c81ba33d2
JACK latency compensation for newly created tracks #8472
Ardour native backends trigger a latency-callback when ports_changed.
This was lost for JACK when the shared port engine was implemented.
2021-01-14 03:22:25 +01:00
Robin Gareus
fa791ae9cc
Static input port meters, ignore dynamic ports for now
Hotplugging devices will need to be special-cased.
Currently there is no API to notify the PortManager about
hotplugged devices.
2021-01-14 01:54:40 +01:00
Robin Gareus
c803911873 Sort input port signal meters by port name 2021-01-11 00:07:08 +01:00
John Emmas
6c1dea8df2 Add/remove source(s) in our MSVC project (libardour) 2021-01-10 18:45:25 +00:00
Robin Gareus
36d2b4ea2e
Fix C++11ism 2021-01-09 05:18:50 +01:00
Robin Gareus
0257804c57
Fix default track name patterns, remove additional space 2021-01-08 22:50:50 +01:00
Robin Gareus
5974e61854
Add option to skip MIDI track input auto-connect 2021-01-08 22:50:45 +01:00
Robin Gareus
038307fef6
Allow Lua bindings up to 11 args 2021-01-08 22:50:37 +01:00
Robin Gareus
548db7a9a4
NO-OP: code formatting and cleanup, thanks clang-format 2021-01-08 18:39:57 +01:00
Robin Gareus
e644cb4577
Do not hold RegionWriteLock while emitting signals
Various playlist operations can change region-properties
which results in Region::send_change being emitted while
the Playlist::RegionWriteLock is held.

This can result in recursive lock and/or deadlocks or crashes. e.g.
Insert time -> Playlist::shift -> Region::RegionPropertyChanged
-> EditorSummary::set_background_dirty -> Editor::session_gui_extents
-> Playlist::get_extent -> read-lock is taken after write-lock.
2021-01-08 18:39:57 +01:00
Robin Gareus
ba123dfe87
Cache playlist extents
Calculating the extents iterates over all regions which
can be expensive. Ardour's GUI calls this periodically to
calculate session_gui_extents().
2021-01-08 18:39:56 +01:00
Robin Gareus
8ba7df9105
Add input port signal meters, scopes and monitors 2021-01-08 18:39:56 +01:00
Robin Gareus
9a7379dfff
Add a CircularSampleBuffer for input port scopes 2021-01-08 18:39:56 +01:00
Robin Gareus
303d7bb2e8
Do not allow feedback override on foldback sends
FoldbackStrip::update_send_box() GUI relies on ->fed_by() to
determine if a FB bus has a send from a route.

Under the hood this uses direct_feeds_according_to_reality()
and InternalSend::feeds(). When `allow_feedback` is set a send is
assumed to not directly feed a target (to allow loopbacks).

This mode must not be used for foldback sends.
2021-01-08 18:39:07 +01:00
Robin Gareus
728d2a3771
VKeybd: include port-name in dropdown #8535 2021-01-08 16:33:29 +01:00
Robin Gareus
af29e7483b
VKeybd: use a non-translatable port-name (1/2)
This improves session portability, only the "pretty name" should
be visible to the user.
2021-01-08 16:33:29 +01:00
John Emmas
ef7a5e1b00 For 64-bit compilation, MSVC no longer supports inline assembly 2021-01-07 09:22:43 +00:00
Martin Vlk
e84cec0842
Fix "R/L". 2021-01-06 18:40:45 +01:00
Paul Davis
20029ec7e6 canvas/ruler: provide option for a second font to be used for "major" marks 2021-01-03 16:50:18 -07:00
Robin Gareus
d92d707180
Extend plugin parameter Lua bindings 2021-01-03 17:24:21 +01:00