summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_playlist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/midi_playlist.cc')
-rw-r--r--libs/ardour/midi_playlist.cc21
1 files changed, 5 insertions, 16 deletions
diff --git a/libs/ardour/midi_playlist.cc b/libs/ardour/midi_playlist.cc
index 7e3d70bfe0..81b14dd933 100644
--- a/libs/ardour/midi_playlist.cc
+++ b/libs/ardour/midi_playlist.cc
@@ -107,11 +107,8 @@ MidiPlaylist::read (Evoral::EventSink<framepos_t>& dst, framepos_t start, framec
its OK to block (for short intervals).
*/
-#ifdef HAVE_GLIB_THREADS_RECMUTEX
- Glib::Threads::RecMutex::Lock rm (region_lock);
-#else
- Glib::RecMutex::Lock rm (region_lock);
-#endif
+ Playlist::RegionLock rl (this, false);
+
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("++++++ %1 .. %2 +++++++ %3 trackers +++++++++++++++++\n",
start, start + dur, _note_trackers.size()));
@@ -298,11 +295,8 @@ MidiPlaylist::read (Evoral::EventSink<framepos_t>& dst, framepos_t start, framec
void
MidiPlaylist::clear_note_trackers ()
{
-#ifdef HAVE_GLIB_THREADS_RECMUTEX
- Glib::Threads::RecMutex::Lock rm (region_lock);
-#else
- Glib::RecMutex::Lock rm (region_lock);
-#endif
+ Playlist::RegionLock rl (this, false);
+
for (NoteTrackers::iterator n = _note_trackers.begin(); n != _note_trackers.end(); ++n) {
delete n->second;
}
@@ -407,12 +401,7 @@ MidiPlaylist::contained_automation()
its OK to block (for short intervals).
*/
-#ifdef HAVE_GLIB_THREADS_RECMUTEX
- Glib::Threads::RecMutex::Lock rm (region_lock);
-#else
- Glib::RecMutex::Lock rm (region_lock);
-#endif
-
+ Playlist::RegionLock rl (this, false);
set<Evoral::Parameter> ret;
for (RegionList::const_iterator r = regions.begin(); r != regions.end(); ++r) {