Robin Gareus
3f19db4180
Mitigate issues of expensive plugin analysis -- #7795
...
Plugin analysis uses a GUI thread instance of a given plugin to
perform a IR analysis.
Some plugins can be rather CPU expensive to analyze.
e.g. a-hi/lo-filter when interpolating is recalculating biquad
coefficients every 64samples during the 8k IR analysis. This can take
a significant amount of time on older CPUs.
Furthermore live-signal collection happens in the rt-thread,
using cross-thread signals. Signal collection is periodically initiated
from the same timeout signal as analysis.
Analysis is was done using default thread priority, which is higher
than the GUI redraw priority (PRIORITY_HIGH_IDLE).
So it was possible to contiguously initiate analysis, loading the CPU
and preventing redraws.
2019-08-24 17:11:10 +02:00
Robin Gareus
ab62c8a926
Towards fixing luadoc, manual page creation
2019-08-24 03:32:47 +02:00
Robin Gareus
89f0e70b82
Fix memory-leak in case of Vamp plugin setup error
2019-08-24 03:31:49 +02:00
Robin Gareus
1ea3435de6
Add missing Lua bindings for function arguments
...
PortEngine was accidentally removed in 1339d42c78
2019-08-24 03:31:45 +02:00
Robin Gareus
02cc959d93
Add missing headers for lua-doc
2019-08-24 01:35:38 +02:00
Robin Gareus
9c785749ba
Lua binding to change region name
2019-08-24 01:35:14 +02:00
Robin Gareus
69688d24c4
Another fix for input only ALSA-slave devices
2019-08-24 00:15:10 +02:00
Robin Gareus
f7968f15dd
LCXL: Fix uninitialized pointer function
...
See also 026b74e25d . FilterFunction must point to a valid function.
2019-08-24 00:01:28 +02:00
Robin Gareus
2920bd0253
Region selection cannot change without a session
...
Without a session, there are no regions. Besides,
there is an unconditional call using _session directly
after the if (_session) clause, which would segfault...
2019-08-23 23:54:34 +02:00
Robin Gareus
37d51037b9
Add tool to render ArdourIcon set
2019-08-23 21:09:38 +02:00
Robin Gareus
000d331ea1
NO-OP: cleanup
...
* remove unused code
* replace "default" to check for switch() enum completeness
2019-08-23 15:50:26 +02:00
Robin Gareus
f1c29a9324
Re-order enum, use "NoIcon" as sentinel
2019-08-23 15:49:25 +02:00
Robin Gareus
88a0429188
ArdorIcon is for display only, remove registration
...
These enum values are not used serialized in any state, and can
be removed.
2019-08-23 15:46:39 +02:00
Robin Gareus
9836bd786f
Some hints for clang static analysis
2019-08-23 05:15:17 +02:00
Robin Gareus
e5927d689c
Fix for half-duplex ALSA-slave devices
2019-08-23 04:39:51 +02:00
Robin Gareus
8fadf44978
Fix possible segfault when ALSA MIDI port registration fails
2019-08-23 04:39:12 +02:00
Robin Gareus
d52cf0f739
Tweak graph display, check direct sends
...
->feeds() follows connections "track -> master -> monitor"
(to detect feedback). Use direct_feeds_according_to_reality()
to correctly show sends-only.
2019-08-23 02:12:47 +02:00
Robin Gareus
b858b3b692
Detect monitor-send by instance, not name
2019-08-23 01:05:57 +02:00
Robin Gareus
22aa61b674
Use icons for plugin bypass and pinout
2019-08-22 21:03:44 +02:00
Robin Gareus
a0d53b81b9
Update plugin-ui related icons
2019-08-22 21:03:07 +02:00
Robin Gareus
026b74e25d
Fix potential call of uninitialized pointer function
...
_template_number can be set via sysex to an arbitrary number, this
can lead to calling a filter-function at an undefined address, usually
a segfault.
2019-08-21 03:53:46 +02:00
Robin Gareus
c38c91ddbd
Initialize variable, fix branch condition
2019-08-21 03:09:32 +02:00
Robin Gareus
e6c9bcfd07
Prefer to use API defined return status
2019-08-21 03:06:28 +02:00
Robin Gareus
df60eca33c
Initialize uninitialized variable
...
This fixes a potentially undefined branch if the USB device list is empty.
dev is NULL, the loop is never entered, 'r' isn't set.
if (!dev && !r) is undefined.
2019-08-21 03:05:17 +02:00
Robin Gareus
e9e761565b
Use Icons for plugin preset buttons.
...
This reduces the preset task-bar's min-width, useful for plugins with
narrow UIs.
2019-08-21 01:27:36 +02:00
Robin Gareus
dfa93e0b17
Tweak Ardourbutton: support (VectorIcon | Indicator)
2019-08-21 01:25:34 +02:00
Robin Gareus
1d8a6076ab
Add more vector-icons, plugin toolbar related
...
This allows to replace "Add", "Save", "Delete", "Reset", "Bypass"
text with icons.
2019-08-21 01:24:49 +02:00
Robin Gareus
a5e2012ead
Consistent preset layout
...
Use the same order as AU, VST, LV2 GUIs. Show the "modified" asterisk
left of the preset-dropdown. This avoids a blank space between the
dropdown and the Add, Save, Delete buttons.
2019-08-20 23:45:49 +02:00
Robin Gareus
2d4eb7d505
Replace OOM segfault with abort :)
2019-08-20 05:07:16 +02:00
Robin Gareus
3ccaaf1ea5
There's always a previous tempo/meter section
2019-08-20 04:53:00 +02:00
Robin Gareus
0972e9a513
Skip potential garbage midi-step
2019-08-20 04:46:42 +02:00
Robin Gareus
114b5088c7
There is always at least a tempo and meter section
2019-08-20 04:29:06 +02:00
Robin Gareus
6227dd5b04
Shuttle Surface: Fix uninitialized argument in case of incomplete state
2019-08-20 04:18:43 +02:00
Robin Gareus
f5330d763a
NO-OP: whitespace
2019-08-20 04:15:11 +02:00
Robin Gareus
73d0b6894a
Skip invalid plugin-tag spec
2019-08-20 04:15:01 +02:00
Robin Gareus
bb27d10fd4
Fix potential ambiguous state-restore
...
Don't allow uninitialized argument values in case of corrupt XML
state.
2019-08-20 04:11:32 +02:00
Robin Gareus
a1b0991d26
Fix uninitialized argument value
...
TrimDrag::aborted() -> TrimDrag::finished() -> TrimDrag::motion ()
uses event->button.state
2019-08-20 04:06:31 +02:00
Robin Gareus
2dae4fc5e1
Bundle x42-tuner, drop rule-based midifilter
2019-08-20 03:44:02 +02:00
Robin Gareus
05e0cc4035
Fix prev commit, state-restore of plugins
2019-08-20 02:06:55 +02:00
Ben Loftis
031847f88e
LV2 extension to override strict-i/o per plugin
...
This allows mono to stereo plugins to override the default
routing and forces both outputs to be connected.
2019-08-19 23:28:04 +02:00
Robin Gareus
8775087ea6
Remove explicit pulse version check (debian/wheezy builds)
2019-08-17 00:18:39 +02:00
Robin Gareus
531fa74eb1
Suffix complete hw: ID to make ALSA card names unique
2019-08-16 20:00:29 +02:00
Robin Gareus
ae2b6e6b09
Further tweaks to .pending file removal
...
* only delete it after successful save
* show unlink notification in debug-builds
2019-08-16 05:31:50 +02:00
Robin Gareus
994b59c836
Prefer implicit deletion of .pending
...
Session destruction removes ".pending", no need to explicitly delete
the file.
2019-08-16 01:55:54 +02:00
Robin Gareus
6dc8f5ed1d
Fix periodic backup saves
...
Retain ".pending" files until explicit save or session destruction.
Previously every transport-stop deleted them :(
2019-08-16 01:54:21 +02:00
Robin Gareus
c89e58046a
Fix C++98 compat
2019-08-16 01:51:51 +02:00
Robin Gareus
76048c050d
Prefer "one track per file" as default
2019-08-15 01:30:17 +02:00
Robin Gareus
316880b9cf
Don't print usage to stdout for invalid parameters
2019-08-15 01:09:26 +02:00
Robin Gareus
4aedf9c3ea
Tweak .clang-format
2019-08-13 01:06:12 +02:00
Robin Gareus
e08ab1e30a
NO-OP: clang format, comments & whitespace
2019-08-13 01:05:51 +02:00