Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
The peak meter needs to withstand various test-signals
without visual jitter (in particular 1kHz sine) regardless
of settings (period-size, sample-rate, custom fall-off).
This needs to be done in sync (and not by a random non-rt
‘smoothing’ thread).
On the downside this voids the ‘visual smoothing’ particularly
with large buffersizes - but then again exactly this “always
fall-off no matter what [the next real data will be]” is the
problem.
One the upside, there’s one less high-frequency (100Hz) thread
(Yay!) PS. it probably never worked on windows, anyway.
Only peak-meters are affected by his change.
K-meters, IEC I/II and VU were never visually smoothed.
|
|
This works around abysmal performance (~.15ms) of
boost::function and boost::bind (in PBD::Signal).
The overall load is probably higher but the realtime
thread remains unaffected.
|
|
|
|
|
|
merge windows branch to get changes from there
|
|
|
|
|
|
get compilers to agree on the type
|
|
|
|
* forward midi-data around plugins that have no MIDI-out
* allow to insert plugins with no MIDI-input at a point with one MIDI-channel
This works because excess ports (both plugin and route) remain
unconnected and use scratch-buffers.
Tested with LV2, LXVST and LADSPA.
(AU plugins with variable in/out retain the old behavior, no bypass)
fixes http://tracker.ardour.org/view.php?id=5630
|
|
|
|
|
|
|
|
|
|
before this change:
1) switch to 'custom' meter point,
2) deactivate meter processor.
-> meters does not run regardless of meter-point
-> meter can only be re-nabled in 'custom' mode
|
|
..and continue to calculate fall-off in
audio-cycle (rather than UI thread)
TODO: check if this works properly when switching
between audio/midi meter modes on a midi-track.
One of the motivations to always reset meters when the
meter-point changes was to resolve peak-hold & fall-off
issues when a midi-meter replaces an audio-meter and vice
versa.
|
|
|
|
|
|
|
|
|
|
This reverts commit d80f672e8487f459d76ab291958bffcded08f0fd.
|
|
|
|
|
|
This reverts commit ce621d1c8a600853be0020942a9664ccee0ab165.
This reverts commit 80aa2574819e947668092c660d767e25a661c6f1.
|
|
|
|
fast_coefficient_to_dB() returns a lower bound value, unsuitable
to catch audio peaks. The difference to 20*log10 is as large as 0.4 dB!
The effective speedup of fast_log10 compared to log10f is marginal
(sweep of all 24bit values)
i686 (1.6GHz Intel core): 2.36 [times faster]
x86_64 (core2 2.4GHz): 1.63
x86_64 (I3 2.80GHz): 2.03
the execution time of one log10f() averaged over a
sweep of all 24 bit values
i686 (1.6GHz Intel core): 0.131 usec
x86_64 (core2 2.4GHz): 0.033 usec
x86_64 (I3 2.80GHz): 0.044 usec
PeakMeter::run() is called from dedicated non-rt, no harm done.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
commit fdbae82077db53add90df7448a06869dac89acc6
Author: Paul Davis <paul@linuxaudiosystems.com>
Date: Wed Mar 27 21:45:28 2013 -0400
mammoth changes in basic signal flow, total redesign of MIDI channel filtering and more.
commit 59343a8283698e02bc0f622313b29e98f449e4c8
Author: Paul Davis <paul@linuxaudiosystems.com>
Date: Wed Mar 27 01:58:53 2013 -0400
initial working version after changes to MIDI channel filtering. may affect metering input too. testing not yet finished
this commit merges many deep changes in ardour's internal architecture,
combined with a total redesign of how MIDI channel filtering works.
data in a track used to flow from JACK port buffers to diskstream's ringbuffers
and was then copied from the ringbuffers into a BufferSet for use during
Route::process_output_buffers(). The butler thread would handle the movement of
data between the ringbuffers and disk.
with this commit, data now flows from JACK port buffers into the BufferSet used
for Route processing, and is copied from the BufferSet into the diskstream's
ringbuffers (the butler thread continues to handle interactions with disk as
usual).
this change allowed a dramatic consolidation of code and simplification of most
aspects of Track/Route::roll() and Track/Route::no_roll(). in particular, see
Route::fill_buffers_with_input() which now concisely describes how we move data
from JACK port buffers into the BufferSet for all Route types (including Tracks).
this work was initially motivated by changing MIDI channel filtering so that we
can process capture and playback independently. there is now a very clean
pathway for this - see MidiTrack::roll() (NOTE: This needs implementing in the
no-roll case too - a TODO item).
the channel selector for MIDI tracks has been moved out of the track header and
is now accessible via the context menu. more work is likely here, to make it
(more) obvious to the user when filtering is going on.
|
|
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff). I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.
This commit only targets includes of ardour/*.h. There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.
git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
general configure_io; fixes remainder of #4233.
git-svn-id: svn://localhost/ardour2/branches/3.0@10012 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@9288 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
new fixed meter point; clean up logic in Route::setup_invisible_processors() to correctly place meters and monitor sends in various modes
git-svn-id: svn://localhost/ardour2/branches/3.0@8923 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
left-channel-only metering (#3699).
git-svn-id: svn://localhost/ardour2/branches/3.0@8486 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording
git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@7337 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
and allow internal returns to be restored from XML in non-monitor busses
git-svn-id: svn://localhost/ardour2/branches/3.0@6917 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@6790 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@6393 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
|