diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-09-10 18:45:12 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-09-10 18:45:12 +0000 |
commit | afcbba17f01347b7bc59f9cff6e081be7645d60a (patch) | |
tree | 2ded17e16b35bdd32476f4d4212e0d1c05d02ae8 /libs/ardour/audiofilesource.cc | |
parent | adfa5978d30f823e9cff0ae7bd555d734be55d18 (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.cc | 8 |
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); |