summaryrefslogtreecommitdiff
path: root/libs/ardour/audiofilesource.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-09-10 18:45:12 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-09-10 18:45:12 +0000
commitafcbba17f01347b7bc59f9cff6e081be7645d60a (patch)
tree2ded17e16b35bdd32476f4d4212e0d1c05d02ae8 /libs/ardour/audiofilesource.cc
parentadfa5978d30f823e9cff0ae7bd555d734be55d18 (diff)
WARNING WARNING WARNING >>>> DEEP CHANGES >>> EXPERIMENTAL CODE .... fixes to make region(views) pick up peakfile data asynchronously, like they used to in 0.99
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2444 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audiofilesource.cc')
-rw-r--r--libs/ardour/audiofilesource.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc
index b9aa977e0a..39b0228791 100644
--- a/libs/ardour/audiofilesource.cc
+++ b/libs/ardour/audiofilesource.cc
@@ -265,8 +265,12 @@ AudioFileSource::mark_streaming_write_completed ()
return;
}
- Glib::Mutex::Lock lm (_lock);
+ /* XXX notice that we're readers of _peaks_built
+ but we must hold a solid lock on PeaksReady.
+ */
+ Glib::RWLock::WriterLock lm (_lock);
+
if (_peaks_built) {
PeaksReady (); /* EMIT SIGNAL */
}
@@ -564,7 +568,7 @@ AudioFileSource::set_allow_remove_if_empty (bool yn)
int
AudioFileSource::set_name (ustring newname, bool destructive)
{
- Glib::Mutex::Lock lm (_lock);
+ Glib::RWLock::WriterLock lm (_lock);
ustring oldpath = _path;
ustring newpath = Session::change_audio_path_by_name (oldpath, _name, newname, destructive);