summaryrefslogtreecommitdiff
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
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
-rw-r--r--gtk2_ardour/audio_region_view.cc4
-rw-r--r--libs/ardour/audio_diskstream.cc8
-rw-r--r--libs/ardour/audio_playlist.cc2
3 files changed, 7 insertions, 7 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index 6de409b7ec..a7c2afacb2 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -864,10 +864,6 @@ void
AudioRegionView::peaks_ready_handler (uint32_t which)
{
Gtkmm2ext::UI::instance()->call_slot (bind (mem_fun(*this, &AudioRegionView::create_one_wave), which, false));
- if (!waves.empty()) {
- /* all waves created, don't hook into peaks ready anymore */
- data_ready_connection.disconnect ();
- }
}
void
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;
}