Commit Graph

65 Commits

Author SHA1 Message Date
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
c44b40afd7
Indicate UTF8 literals - fixes glyph rendering with MSVC (2/2) 2023-01-16 21:41:22 +01:00
d9ebc8e09f
Scale plugin Analysis UI
This also increases the default font size and adds
a -15,+15 dB range mode.
2022-11-01 18:00:59 +01:00
Mads Kiilerich
09c6e68ae8
gtkmm: use append() instead of deprecated Gtk::ComboBoxText::append_text() 2022-04-08 21:10:56 +02:00
Mads Kiilerich
a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
BrunoVernay
e16ac4b036 Typo in comment: paramater 2021-10-30 23:02:35 +02:00
0fac5c9c2c
Fix previous commit (reset, not zero shared_ptr) 2020-10-06 05:24:34 +02:00
0f7850b0b7
Properly emit Plugin::DropReferences (2/2)
This also destroys the shadow plugin used for analysis as soon
as the analysis pane is hidden.
2020-10-05 19:57:17 +02:00
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
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
acf26b03a6
FFT analysis: use actual latency
Ardour allows to override a plugin's reported latency. So far this
was not taken into account when plotting the phase/freq response.
2019-07-17 17:30:43 +02:00
20bdf5d966
Allow analysis window to plot live pre/post signal analysis 2019-04-21 22:43:16 +02:00
8c68d35819
Add phase labels -180..180 deg for analysis display 2019-02-28 04:49:37 +01:00
f14c6ea734
NO-OP: whitespace 2019-02-28 04:49:34 +01:00
92a16d0e76
NO-OP: whitespace 2019-02-28 04:49:32 +01:00
06854e1315
Re-work plugin-analysis (fix crashes)
Plugin-analysis uses a fixed number of samples, which may be larger
than the session's block-size. This caused problems for some VST
plugins that use audioMasterCallback to query the session's block-size.

Plugin FFT analysis now processes in chunks of the session's block-size
to avoid this issue. This also allows to increase accuracy for
all plugin standards (FFT size was increased to 8192).
2019-02-28 01:26:30 +01:00
b68b4d10a2 Plugin analysis numerics
Show vertical marker-line (freq) and precise numeric data of the
transfer function (dB, deg).
2018-10-25 04:25:15 +02:00
f69938a9c4 Add option to disable plotting collected signal in analysis. 2018-04-30 22:24:35 +02:00
cc5e758a08 Fix plugin analysis for some VST and AU Plugins.
set_block_size() implies plugin deactivate(), activate() calls
to re-initialize AU and VST plugins. So plugins will reset the
internal state and not immediately respond correctly.
Some plugins zero the output or ramp up internally, leading the analyzer
to show invalid or random/uncorrelated information.

This avoid periodic calls to de/activate()
2018-04-13 23:19:13 +02:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
793ff25e08 plugin spectrum analysis: plot A/B 2016-07-25 17:45:14 +02:00
46c311b2b0 Fix frequence display for plugin analysis mouse over
When freq was changed to be an integer, the conversion to kHz became a
truncation. Divide by the float 1000.0 to pass the correct value to the
stringstream formatting routine.
2016-07-25 00:46:49 +02:00
9215710c59 Plugin Analysis: show numeric values on mouse over
For people who need more precise frequency or response amplitude, show
the values corresponding to the point under the mouse.
2016-07-25 00:31:47 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
f53655d17c NO-OP whitespace 2016-07-14 18:48:31 +02:00
dcad5a6dfe fix plugin-analysis for VST (no in-place processing) 2016-07-14 18:43:19 +02:00
0c914b8f1e initialize more uninitialized variables.. 2016-07-13 04:31:34 +02:00
e9a8ccc7e2 major internal plugin & processor API change:
Pass current (latency compensated) cycle times to plugin.
This fixes time-reporting to plugins and also fixes automation
and when bouncing (the session->transport* is not valid) etc.
2016-06-25 02:23:56 +02:00
d369894dd5 no need for ugly cast constructors, just add a second argument 2015-10-12 13:34:00 -04:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
64b63f8ad9 plugin analysis set block-size
fixes live spectrum analysis (for AU)
2015-07-20 16:16:25 +02:00
912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
943bcc29cc fix issues with isnan/isinf on OS X where <cmath> hides isnan/isinf and forces std::isnan/std::isinf 2014-01-11 15:02:10 -05:00
658bb3ccd4 finished merge of cairocanvas with windows and windows+cc branches 2014-01-10 17:11:10 -05:00
904367748c 'gtk2_ardour' - 'std::isinf' + 'std::isnan' are not available in MSVC (at least, not VC8) 2013-10-03 09:48:19 +01:00
ec1ef5d6b5 remove the apparently unnecessary "ui_bind()" macro from entire source base
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Carl Hetherington
337e010345 Allocate some thread-local buffers for the GUI thread so that the PluginEqGui impulse analysis can use them (fixes #4418).
git-svn-id: svn://localhost/ardour2/branches/3.0@10387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01 23:19:03 +00:00
ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Carl Hetherington
110311e186 Re-fix compile failure with --no-nls (#3111).
git-svn-id: svn://localhost/ardour2/branches/3.0@9415 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-23 03:34:42 +00:00
fdb3cb7911 remove some debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@9381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-19 16:12:02 +00:00
baa4de40ed fixes to avoid dreadfull thread races and deletion crashes related to the pluin EQ GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@9378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-19 16:05:28 +00:00
Carl Hetherington
574ef8d61b Hopefully allow compilation against gtkmm 2.24.0 (#3946 and #3934).
git-svn-id: svn://localhost/ardour2/branches/3.0@9319 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 23:26:44 +00:00
80c46cc451 put sampo's FFT into the (new) GTKArdour namespace, to avoid collision with the FFT in the QM DSP library. they should both be namespaced but its easier to avoid changing the QM code at all
git-svn-id: svn://localhost/ardour2/branches/3.0@9056 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 17:58:11 +00:00
Carl Hetherington
73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Carl Hetherington
8631c44439 Fix untranslateable strings.
git-svn-id: svn://localhost/ardour2/branches/3.0@8065 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-21 22:37:58 +00:00
Carl Hetherington
d86000efd0 Fix crash when running an analysis of a plugin with MIDI IO.
git-svn-id: svn://localhost/ardour2/branches/3.0@7889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-09 12:17:46 +00:00
Carl Hetherington
383597b19b Shrink the minimum size of the plugin analyser a bit, and make it take up spare space in the dialogue. Fixes #2835.
git-svn-id: svn://localhost/ardour2/branches/3.0@7703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-28 14:56:13 +00:00
14b0ca31bc handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big)
git-svn-id: svn://localhost/ardour2/branches/3.0@6807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 15:18:43 +00:00