Commit graph

16756 commits

Author SHA1 Message Date
Robin Gareus
8175db5b01
Prepare variable I/O 2021-01-25 16:52:46 +01:00
Robin Gareus
f0a89c4f1d
ALSA: allow to select clock-source when using multiple devices 2021-01-24 18:23:37 +01:00
Len Ovens
cd524f70dc OSC, strip and select share all main strip functions
Allow blocking strip commands for master or monitor
2021-01-23 21:18:32 -08:00
Len Ovens
a9f0f771c1 Reuse the same code for strip and select
Combine Maser and Monitor to reuse code

Started adding query functionality

	Added query functionality to all touchosc fixed commands
2021-01-23 21:17:46 -08:00
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