From e9604e2173532a72493f093bb3843ed24e4e0df5 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 6 Nov 2006 19:59:00 +0000 Subject: better error message if VST SDK is not installed and neeed git-svn-id: svn://localhost/ardour2/trunk@1080 d708f5d6-7413-0410-9779-e7cbd77b26cf --- SConstruct | 4 ++-- libs/ardour/ardour/sndfilesource.h | 2 ++ libs/ardour/io.cc | 20 ++++++++++++++------ libs/ardour/playlist.cc | 1 + libs/ardour/session.cc | 3 ++- libs/ardour/utils.cc | 2 +- libs/fst/SConscript | 8 +++++++- 7 files changed, 29 insertions(+), 11 deletions(-) diff --git a/SConstruct b/SConstruct index dc0deb7000..e242ac0faa 100644 --- a/SConstruct +++ b/SConstruct @@ -16,7 +16,7 @@ import SCons.Node.FS SConsignFile() EnsureSConsVersion(0, 96) -version = '2.0beta6.2' +version = '2.0beta7' subst_dict = { } @@ -706,7 +706,7 @@ conf = Configure (env) have_cxx = conf.TryAction (Action (env['CXX'] + ' --version')) if have_cxx[0] != 1: print "This system has no functional C++ compiler. You cannot build Ardour from source without one." - exit (1) + sys.exit (1) else: print "Congratulations, you have a functioning C++ compiler." diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h index b810cb538b..66d5c1b0d1 100644 --- a/libs/ardour/ardour/sndfilesource.h +++ b/libs/ardour/ardour/sndfilesource.h @@ -91,6 +91,8 @@ class SndFileSource : public AudioFileSource { bool _capture_end; nframes_t capture_start_frame; nframes_t file_pos; // unit is frames + nframes_t xfade_out_count; + nframes_t xfade_in_count; Sample* xfade_buf; nframes_t crossfade (Sample* data, nframes_t cnt, int dir); diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc index 897589fc77..77f3a33ff2 100644 --- a/libs/ardour/io.cc +++ b/libs/ardour/io.cc @@ -513,13 +513,21 @@ IO::deliver_output_no_pan (vector& bufs, uint32_t nbufs, nframes_t nfr dst = (*o)->get_buffer (nframes) + offset; src = bufs[min(nbufs,i)]; - if (dg != _gain || actual_gain == 1.0f) { - memcpy (dst, src, sizeof (Sample) * nframes); - } else if (actual_gain == 0.0f) { - memset (dst, 0, sizeof (Sample) * nframes); - } else { + if (_name == "Audio 2") { for (nframes_t x = 0; x < nframes; ++x) { - dst[x] = src[x] * actual_gain; + dst[x] = 0.7; + } + + } else { + + if (dg != _gain || actual_gain == 1.0f) { + memcpy (dst, src, sizeof (Sample) * nframes); + } else if (actual_gain == 0.0f) { + memset (dst, 0, sizeof (Sample) * nframes); + } else { + for (nframes_t x = 0; x < nframes; ++x) { + dst[x] = src[x] * actual_gain; + } } } diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc index 54ef809738..713558f15e 100644 --- a/libs/ardour/playlist.cc +++ b/libs/ardour/playlist.cc @@ -1131,6 +1131,7 @@ Playlist::region_changed_proxy (Change what_changed, boost::weak_ptr wea return; } + /* this makes a virtual call to the right kind of playlist ... */ region_changed (what_changed, region); diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 59e798b5d5..987a8377ef 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1897,8 +1897,9 @@ Session::remove_route (shared_ptr route) { RCUWriter writer (routes); shared_ptr rs = writer.get_copy (); - rs->remove (route); + rs->remove (route); + /* deleting the master out seems like a dumb idea, but its more of a UI policy issue than our concern. diff --git a/libs/ardour/utils.cc b/libs/ardour/utils.cc index f346f2a8a6..d6c767de12 100644 --- a/libs/ardour/utils.cc +++ b/libs/ardour/utils.cc @@ -213,7 +213,7 @@ region_name_from_path (string path) /* remove any "?R", "?L" or "?[a-z]" channel identifier */ string::size_type len = path.length(); - + if (len > 3 && (path[len-2] == '%' || path[len-2] == '?') && (path[len-1] == 'R' || path[len-1] == 'L' || (islower (path[len-1])))) { diff --git a/libs/fst/SConscript b/libs/fst/SConscript index 2cbfb94a9f..771de86dc8 100644 --- a/libs/fst/SConscript +++ b/libs/fst/SConscript @@ -2,6 +2,7 @@ import os import os.path +import sys import glob fst_src = glob.glob('*.c') @@ -22,7 +23,12 @@ c = fst.Object ('vstwin', 'vstwin.c') d = fst.Object ('vsti', 'vsti.c') if fst['VST']: - Default([hackSDK,a,b,c,d]) + if os.access ('vst/aeffectx.h', os.F_OK): + Default([hackSDK,a,b,c,d]) + else: + print 'You have not installed the VST SDK in the correct location.' + print 'Please see http://ardour.org/building_vst_support for more information' + sys.exit (1) env.Alias('tarball', env.Distribute (env['DISTTREE'], fst_src + ['SConscript', -- cgit v1.2.3