summaryrefslogtreecommitdiff
path: root/libs/ardour/mix.cc
diff options
context:
space:
mode:
authorJesse Chappell <jesse@essej.net>2006-08-01 22:11:04 +0000
committerJesse Chappell <jesse@essej.net>2006-08-01 22:11:04 +0000
commite0eac487a562aa93631a27f34cc0df1a1edfe048 (patch)
treea6943e34160b6a3852d2ca795dd0beef7b004258 /libs/ardour/mix.cc
parent0851f88d9d17f9e23c4c87e61c179f0b05a87b44 (diff)
Fixed floating point resolution in saved state issue. Fixed OS X vector max routine to do the proper thing. Reduced the block size of temporary buffers during track export and normalization, which fixes some stack overflow problems on OS X.
git-svn-id: svn://localhost/ardour2/trunk@742 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/mix.cc')
-rw-r--r--libs/ardour/mix.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/mix.cc b/libs/ardour/mix.cc
index ab0d1dde59..c6e234d87b 100644
--- a/libs/ardour/mix.cc
+++ b/libs/ardour/mix.cc
@@ -22,6 +22,7 @@
#include <ardour/types.h>
#include <ardour/utils.h>
#include <ardour/mix.h>
+#include <stdint.h>
#if defined (ARCH_X86) && defined (BUILD_SSE_OPTIMIZATIONS)
@@ -119,8 +120,9 @@ mix_buffers_no_gain (ARDOUR::Sample *dst, ARDOUR::Sample *src, jack_nframes_t nf
float
veclib_compute_peak (ARDOUR::Sample *buf, jack_nframes_t nsamples, float current)
{
- vDSP_maxv(buf, 1, &current, nsamples);
- return current;
+ float tmpmax = 0.0f;
+ vDSP_maxmgv(buf, 1, &tmpmax, nsamples);
+ return f_max(current, tmpmax);
}
void