Commit graph

17419 commits

Author SHA1 Message Date
Ben Loftis
193cebc912 US2400: build-fix: need some IFDEFs for Mixbus. 2021-08-03 10:58:30 -05:00
JungHee Lee
f13acad7ed Create ko.po 2021-08-03 09:54:18 -06:00
Ben Loftis
521117054e US2400: Fix order of mixbuses in Flip mode (Mixbus only) 2021-08-03 10:38:19 -05:00
Ben Loftis
398a1efbd5 US2400: Fix send levels from joystick ("surround pan" on mixbuses 11,12) (Mixbus32C only) 2021-08-03 10:38:18 -05:00
Ben Loftis
0b5ab1b570 US2400: Fix direction of pan knob LEDs 2021-08-03 10:38:18 -05:00
Robin Gareus
5c9f5ae895
Prevent DelayLine::set_delay() while processing
It was possible that auto-connect-thread or GUI thread called
DelayLine::set_delay without acquiring the process-lock.
Changing the delay while processing is not supported and
can cause glitches.

backtrace:
```
DelayLine::set_delay
Send::update_delaylines
Send::set_delay_out
InternalReturn::set_playback_offset
Route::update_signal_latency
Session::update_route_latency
Session::update_latency_compensation
Session::auto_connect_thread_run

```
2021-08-03 16:12:25 +03:00
Paul Davis
657743a8e4 libardour: Region::get_cue_markers() should only return markers within the region boundaries, whether abs(olute) position is requested or not 2021-08-02 12:58:40 -06:00
Paul Davis
68850892b8 NO-OP: make logical statement precedence more visually obvious 2021-07-26 17:27:43 -06:00
Paul Davis
f194e1859d remove debug output 2021-07-26 17:27:43 -06:00
Paul Davis
cd7c222942 Do not queue TransportStateChanged events (and thus signals) when locating from the end of a loop.
There is no event processing after the locate, and so the event that is (was)
queued at the loop start will not be processed, and each time we reach the
loop end, we will try (and fail) to queue an identical event (fail because
duplicate events are not allowed). We don't need this event (or signal) at
all, because locates (and then ::start_transport() while looping do not
represent a state change that any UI needs to know about.
2021-07-26 17:27:43 -06:00
Ben Loftis
d7e9043c01 Register some newer SessionEvent enums 2021-07-26 12:27:52 -05:00
Robin Gareus
129b59b90f
VST3: prefer linear knob movement
The previous idea was to follow Ardour's default
 \delta val = \delta Y - \delta X

In reality it turns out that this is better represented
with kLinearMode.

VST3 offers the following:
  * Circular with jump to clicked position
  * Circular without jump to clicked position
  * Linear: depending on vertical movement

The first is right out. Value changes need to be
continuous. The last explicitly mentioning vertical
movement was also somewhat discouraging,
however most plugins don't take it literally and allow
linear X/Y movement.
2021-07-24 22:38:08 +02:00
Robin Gareus
37c475138f
Fix windows builds (_pid_t conflict in unistd) 2021-07-23 02:02:59 +02:00
Robin Gareus
8a41931ff4
Print note when stacktrace is too short 2021-07-23 01:43:18 +02:00
Robin Gareus
92d8a270a8
Early exit plugin-scanner on crash
This also prevents the macOS crash-reporter from showing up.
2021-07-23 01:37:46 +02:00
Robin Gareus
789e0f8dbc
Reduce default scan-timeout to 15 sec 2021-07-22 23:06:17 +02:00
Robin Gareus
3480fb5bd6
Remove old, unused preference 2021-07-22 22:45:19 +02:00
Robin Gareus
b60e4e3214
Rename "enable AU" config variable 2021-07-22 22:43:08 +02:00
Robin Gareus
59588d4e3a
Fix plugin-scan cancel individual scan operations
PluginScanMessage must be called after re-setting
reset_scan_cancel_state(), otherwise canceled () is set
incorrectly when emitting the signal.
2021-07-22 21:44:43 +02:00
Robin Gareus
a7389f9e10
Fix macOS builds (amend 6c6f2df8) 2021-07-22 19:48:24 +02:00
Robin Gareus
607af10012
PM: don't print ignore-lists to log (use PM-GUI) 2021-07-22 17:29:56 +02:00
Robin Gareus
8482172bd6
Remove old VST scan config variable 2021-07-22 17:21:27 +02:00
Robin Gareus
85d509a292
PM: change scan timeout to from out-out to opt-in 2021-07-22 17:20:08 +02:00
Robin Gareus
572138ba40
Prepare for new plugin scan timeout 2021-07-22 17:20:08 +02:00
Robin Gareus
6c6f2df849
Honor "floating windows are dialogs" for tearoffs 2021-07-22 05:45:30 +02:00
Robin Gareus
8869782c28
Cleanup plugin-scan API, allow to cancel individual scan 2021-07-21 23:04:47 +02:00
Robin Gareus
38a4bb6736
Fix prev commit (properly stop pulse) 2021-07-21 05:56:42 +02:00
Robin Gareus
03a17df68c
Pulseaudio: tweak freewheel recovery
Always cork stream before calling pa_stream_flush.
2021-07-21 05:03:54 +02:00
Robin Gareus
853b2a7f52
Make CoreaudioSource work again
existence_check() calls prevent_deletion() -> mark_immutable()
which since a4d7b45fe0 calls close().

So the file needs to be open()ed after the existence check.
2021-07-21 02:22:25 +02:00
Robin Gareus
9ae2e1044a
Prefix take name (to capture file name) by default 2021-07-20 23:28:04 +02:00
Ben Loftis
ba7237c152 Playlist UI Tweaks: Fix some bugs related to old playlists without pgroup_ids 2021-07-20 14:59:47 -05:00
Robin Gareus
a5220568af
Ensure each source has a corresponding whole-file region
This fixes loading old sessions that had an empty source-list
(previously the source-list showed sources, not whole-file regions).
2021-07-20 15:35:16 +02:00
Robin Gareus
5a9fde4a0b
Region loudness normalization/analysis #8777 2021-07-20 04:53:48 +02:00
Todd Naugle
a22fe3cdc8 Amend 285bb4ac7f: remove incomplete code 2021-07-19 20:32:11 -05:00
Todd Naugle
285bb4ac7f Mackie Control : Improve debug trace output by skipping meter write output 2021-07-19 12:25:27 -05:00
Todd Naugle
581589f080 Mackie Control: Don't call port write directly since it bypasses active chk
This keeps the master fader from sending midi output before everything
is initialized.
2021-07-19 12:24:36 -05:00
Robin Gareus
a6ef7df1fd
Fix TSC signal emission (monitoring and automation)
TransportStateChange() triggers various updates.
However at the time the signal is handled
`transport_rolling()` and/or `transport_state_rolling()`
may still return false.

This fixes incorrect In/Disk display on tracks (RouteUI)
and incorrect automation write-pass handling,
when toggling stop/play.
2021-07-19 19:17:57 +02:00
Robin Gareus
c5e5659022
Fix crash when demangled symbol is n/a
std::string foo (NULL) can throw a std::__throw_logic_error
which was not caught.
2021-07-19 18:26:22 +02:00
Robin Gareus
572a69758a
Min playback speed is +/- (100/16)%
This is for at least two reasons: transport will effectively
move with 32 samples * 6.25% = 2 samples per cycle and the
resampler cannot up/downsample a factor of > 16 with
reasonable quality.
2021-07-19 18:26:19 +02:00
John Emmas
b454ff0e90 Add/remove source(s) in our MSVC project (libardour and gtk2_ardour) 2021-07-19 11:27:02 +01:00
Paul Davis
e01f898f3b libardour: adjust names for default speed APIs and make ::set_default_play_speed() private 2021-07-18 19:48:13 -06:00
Paul Davis
3bdf009e11 libardour: provide infrastructure for requesting default play speed 2021-07-18 19:40:21 -06:00
Robin Gareus
89a4c98bfd
Allow vari-speed control via scroll-wheel 2021-07-19 02:57:45 +02:00
Robin Gareus
7f011f271f
Ignore symlinked, duplicated VST plugins
This happens with e.g. the IEM suite when a user has both
/usr/lib/vst and /usr/lib/lxvst in the search path.

The same plugin was found twice due to symlinks:

```
/usr/lib/lxvst/iem.at -> ../x86_64-linux-gnu/iem-plugin-suite/vst
/usr/lib/vst/iem.at -> ../x86_64-linux-gnu/iem-plugin-suite/vst
```

And then blacklisted itself:
> "Ignoring plugin 'MultiBandCompressor'.
> VST-ID conflicts with other plugin 'MultiBandCompressor' files:
> '/usr/lib/x86_64-linux-gnu/iem-plugin-suite/vst/MultiBandCompressor.so' vs
> '/usr/lib/x86_64-linux-gnu/iem-plugin-suite/vst/MultiBandCompressor.so'
2021-07-18 01:22:26 +02:00
Robin Gareus
adf93c85fe
PM: scan-timeout count-down even if timeout is stopped
This allows the GUI to determine for how long the scanner
ran after the timeout was canceled. Count up to 90 sec.
2021-07-17 01:02:21 +02:00
Robin Gareus
82c536ec81
Fix test/profiling tools
* use dummy-backend (don't expect engine to be running)
* add required TestUI / Receiver

Lots of regions: add scope to prevent SessionHandleRef
  existing across session deletion

RunPC: take process-lock before processing, prevents various
  assert() and concurrency issues.
2021-07-16 18:47:13 +02:00
John Emmas
efb0d077d1 Substitute %T when calling 'strftime()' (%T isn't supported by all compilers) 2021-07-16 12:29:07 +01:00
Robin Gareus
1d993d586d
Clean up vfork_exec_wrapper static intialization
Print a less cryptic error message in case the wrapper app
cannot be found. Also address a future race condition (once
we start parallel plugin scans and will exec-wrapper from a
helper thread).
2021-07-15 21:41:16 +02:00
John Emmas
12e1c960b6 Add an extra dependency lib which was previously only needed for Debug builds 2021-07-15 09:30:08 +01:00
Robin Gareus
c92dfed706
Fix windows builds (stacktrace pthread debug) 2021-07-14 16:04:07 +02:00