summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-06 17:45:00 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-06 17:45:00 +0000
commit4f5af6d062255f7fd21e2550655294c8f04d5a50 (patch)
tree3aece28e0f46bbb3d6b640aaea2742d8eb603a04 /libs/ardour
parent0673a5d93ee617185c0eb4b60a062dc9eb19f1a2 (diff)
maybe fix race condition for peaks; fix % appearing in region names; allow crossfades to work by fixing erroneous variable increment
git-svn-id: svn://localhost/ardour2/trunk@1077 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/audio_diskstream.cc8
-rw-r--r--libs/ardour/audio_playlist.cc2
2 files changed, 7 insertions, 3 deletions
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc
index 9bd690c23a..ad9fec2d41 100644
--- a/libs/ardour/audio_diskstream.cc
+++ b/libs/ardour/audio_diskstream.cc
@@ -1535,6 +1535,9 @@ AudioDiskstream::transport_stopped (struct tm& when, time_t twhen, bool abort_ca
} else {
+ string whole_file_region_name;
+ whole_file_region_name = region_name_from_path (channels[0].write_source->name());
+
/* Register a new region with the Session that
describes the entire source. Do this first
so that any sub-regions will obviously be
@@ -1543,7 +1546,7 @@ AudioDiskstream::transport_stopped (struct tm& when, time_t twhen, bool abort_ca
try {
boost::shared_ptr<Region> rx (RegionFactory::create (srcs, channels[0].write_source->last_capture_start_frame(), total_capture,
- region_name_from_path (channels[0].write_source->name()),
+ whole_file_region_name,
0, AudioRegion::Flag (AudioRegion::DefaultFlags|AudioRegion::Automatic|AudioRegion::WholeFile)));
region = boost::dynamic_pointer_cast<AudioRegion> (rx);
@@ -1566,7 +1569,8 @@ AudioDiskstream::transport_stopped (struct tm& when, time_t twhen, bool abort_ca
for (buffer_position = channels[0].write_source->last_capture_start_frame(), ci = capture_info.begin(); ci != capture_info.end(); ++ci) {
string region_name;
- _session.region_name (region_name, channels[0].write_source->name(), false);
+
+ _session.region_name (region_name, whole_file_region_name, false);
// cerr << _name << ": based on ci of " << (*ci)->start << " for " << (*ci)->frames << " add region " << region_name << endl;
diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc
index 19609da2a4..290907746b 100644
--- a/libs/ardour/audio_playlist.cc
+++ b/libs/ardour/audio_playlist.cc
@@ -531,7 +531,7 @@ AudioPlaylist::set_state (const XMLNode& node)
}
thaw ();
- in_set_state++;
+ in_set_state--;
return 0;
}