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.
fix deadlock when updating audio/midi connection matrix
during session-close or on exit.
(Note: this still can cause a crash if the route goes away
while the iterator in the connection-matrix still has an index
of it)
- rework metric/tick image cache invalidation
- flush cache
- send signal to queue redraws
(TODO) selectively flush cache // cache per size, style
- add four common line up levels
Make download of sound files multi-threaded. Each sound file download takes
place in its own thread, and has its own progress bar and cancel button,
which stack up from the bottom of the list of results.
Sound files download into a file with a '.part' suffix, which is then
renamed to the intended name on success.
Add a 'Similar' button, which searches Freesound for sounds similar to the
currently-selected sound in the results list.
Add a freesound-download-dir config variable to decide the location
of sound files downloaded from Freesound.
Move Windows-specific logic to replace '/'s with '\'s from
Mootcher::changeWorkingDir() to Mootcher::ensureWorkingDir(), and remove
the now unused Mootcher::changeWorkingDir().
Use Glib::build_filename to construct paths.
Add constants for the keyboard modifiers that should be used for vertical
zoom, horizontal zoom, and horizontal scrolling in the main editor window,
and use these where appropriate rather than using Keyboard::PrimaryModifier
and friends directly.