summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/sndfilesource.h2
-rw-r--r--libs/ardour/io.cc20
-rw-r--r--libs/ardour/playlist.cc1
-rw-r--r--libs/ardour/session.cc3
-rw-r--r--libs/ardour/utils.cc2
5 files changed, 20 insertions, 8 deletions
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<Sample *>& 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<Region> 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> route)
{
RCUWriter<RouteList> writer (routes);
shared_ptr<RouteList> 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])))) {