Commit graph

32372 commits

Author SHA1 Message Date
Robin Gareus
f457225d08
Region loudness normalization GUI #8777 2021-07-20 04:53:57 +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
e9ed448994
Fix various shuttle ctrl issues
This reverts most of 50c555f1a1

* Never render from `map_transport_state()` callback
* re-instantiate deadzone, only update when last_speed_displayed
  differs by 0.5%
* Fix Pool OOM due to mapping state doing direct UI changes
  instead of delegating this to lower priority render()
2021-07-19 18:26:23 +02:00
Robin Gareus
3582c16871
Retain shuttle color regardless of speed
Even if the default text is boring, dark gray on black
is not readable. This makes Ardour behave like mixbus (which
always used default foreground).
2021-07-19 18:26:23 +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
Robin Gareus
f8c551db5c
Remove debug message 2021-07-19 04:16:12 +02:00
Robin Gareus
1eb0c1ec9b
Remove debug message 2021-07-19 04:12:56 +02:00
Paul Davis
f680c69c27 request, do not try to directly set default play speed 2021-07-18 19:48:30 -06: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
8b365e238e
NO-OP: clang-format 2021-07-19 02:58:51 +02:00
Robin Gareus
e764714157
Toggle varispeed dialog visibility when speed is 100% 2021-07-19 02:58:10 +02:00
Robin Gareus
89a4c98bfd
Allow vari-speed control via scroll-wheel 2021-07-19 02:57:45 +02:00
Robin Gareus
9a66bd6163
Consolidate Varispeed dialog
* localize speed changes into varispeed dialog
* make speed-changes idempotent
* remember window position (do not overlap with button)
  ideally the window would show up below the "Vari" button
2021-07-19 02:56:14 +02:00
Robin Gareus
0ca77db96d
Separate transport and varispeed dialog 2021-07-19 00:55:59 +02:00
Ben Loftis
fad1d07747 Fix the shuttle slider (TM) 2021-07-17 20:52:26 -05:00
Ben Loftis
e152b80abd Playlist UI Tweaks: add playlist-creation buttons to Playlist Selector dialog.
Also fix gtk packing so the list grows if you resize the window.
2021-07-17 20:52:26 -05:00
Ben Loftis
6813488025 Playlist UI Tweaks: check the return value of stamp_new_playlist so user can Cancel 2021-07-17 20:52:26 -05:00
Ben Loftis
b798d6cd77 Default_Play_Speed: varispeed dialog does not need Octaves 2021-07-17 20:52:26 -05: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
cd20282fdd
PM-GUI: allow to re-index plugins (cache only, not scan) 2021-07-17 01:10:29 +02:00
Robin Gareus
4d15326a78
Hint that plugin-scan may wait for user-interaction after 30sec 2021-07-17 01:08:05 +02:00
Robin Gareus
1ef0c49aee
Show plugin-manager after scanning from prefs
This points users to the new plugin-manager
when they initiate a scan from the preferences.
2021-07-17 01:04:04 +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
6cf19dac18
Fix crash on xrun-reset when recording
Since 80c11a763a the GUI is notified when the xrun counter
is reset (previously the rec-ui xrun counter never returned
to zero).

However when create-xrun-marker is enabled ARDOUR_UI::xrun_handler
tried to create a marker at -1 which causes various issues.
2021-07-16 21:14:00 +02:00
Robin Gareus
c3978cefb1
Rename pluginlist button color
There was no "pluginlist radio button" button but there
now is a radio button.
2021-07-16 18:47:13 +02:00
Robin Gareus
39a43f2042
PM-UI: add tags, extend search 2021-07-16 18:47:13 +02:00
Robin Gareus
c4f855d13a
PM-Sel: remove hidden toggle, turn Fav into a checkbox 2021-07-16 18:47:13 +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
a3fa94d06e
PM-UI: NO-OP clang-format, fix typos 2021-07-16 07:34:43 +02:00
Robin Gareus
b98ff56397
PM-GUI: NOOP, use GTK namespace 2021-07-16 07:21:01 +02:00
Robin Gareus
1e0d2a233b
PM-UI: Update sensitivity on deselect 2021-07-16 07:12:24 +02:00
Robin Gareus
65674e4704
PM-UI: implement search 2021-07-16 05:52:16 +02: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
Paul Davis
d9877d5c99 prevent add-location-at-playhead-cursor etc. from adding multiple marks at the same location 2021-07-15 09:03:16 -06:00
Robin Gareus
3c43fe54bb
Fix C++11ism (template argument uses local type) 2021-07-15 16:18:43 +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
f5b0206a14
PM-UI: extended plugin count 2021-07-14 22:30:55 +02:00
Robin Gareus
c92dfed706
Fix windows builds (stacktrace pthread debug) 2021-07-14 16:04:07 +02:00
Robin Gareus
46251c2068
Fix Windows debug builds 2021-07-14 15:07:26 +02:00
Robin Gareus
15fd9f23f3
Fix OSX builds 2021-07-14 15:07:26 +02:00
Todd Naugle
ff1d5e7aeb When reconnecting ports, don't give up on first failure.
If there are multiple connections, one might fail due to missing hardware,
but the rest could still be valid.

An easy way to reproduce this was to route "mackie control out" to a device
and to the Midi tracer port. When you opened the session again, connection
from the "mackie control out" to the device would not get restored because
the Midi tracer port does not exist at session start.

This most likely caused other issues with connections when changing backends.
2021-07-13 17:47:33 -05:00
Robin Gareus
30811989ef
PM-UI: show plugin install path in file-browser
This is currently only available in debug builds,
re-arranging plugin files/bundles is not something
that should happen while Mixbus is running.
2021-07-13 21:02:29 +02:00