diff options
author | David Robillard <d@drobilla.net> | 2014-12-17 16:05:27 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-17 16:07:29 -0500 |
commit | a7067557107fc2f01586a88bb8b0a097914798ea (patch) | |
tree | c23f5f2e0386655c4d5e43ca714718e6bc1b76ac /libs/ardour/midi_playlist_source.cc | |
parent | 1fa9edd872bdbfe7651c822698235434ffe59540 (diff) |
Fix various MIDI locking issues.
Attempt to make mistakes much less likely in the future by statically requiring
caller to pass scoped locks where necessary.
Diffstat (limited to 'libs/ardour/midi_playlist_source.cc')
-rw-r--r-- | libs/ardour/midi_playlist_source.cc | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/libs/ardour/midi_playlist_source.cc b/libs/ardour/midi_playlist_source.cc index cd5362c3da..587bc7b12f 100644 --- a/libs/ardour/midi_playlist_source.cc +++ b/libs/ardour/midi_playlist_source.cc @@ -122,7 +122,8 @@ MidiPlaylistSource::length (framepos_t) const } framecnt_t -MidiPlaylistSource::read_unlocked (Evoral::EventSink<framepos_t>& dst, +MidiPlaylistSource::read_unlocked (const Lock& lock, + Evoral::EventSink<framepos_t>& dst, framepos_t /*position*/, framepos_t start, framecnt_t cnt, MidiStateTracker*) const @@ -137,7 +138,8 @@ MidiPlaylistSource::read_unlocked (Evoral::EventSink<framepos_t>& dst, } framecnt_t -MidiPlaylistSource::write_unlocked (MidiRingBuffer<framepos_t>&, +MidiPlaylistSource::write_unlocked (const Lock&, + MidiRingBuffer<framepos_t>&, framepos_t, framecnt_t) { @@ -147,33 +149,33 @@ MidiPlaylistSource::write_unlocked (MidiRingBuffer<framepos_t>&, } void -MidiPlaylistSource::append_event_unlocked_beats(const Evoral::Event<Evoral::MusicalTime>& /*ev*/) +MidiPlaylistSource::append_event_beats(const Glib::Threads::Mutex::Lock& /*lock*/, const Evoral::Event<Evoral::MusicalTime>& /*ev*/) { - fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_unlocked_beats() called - should be impossible") << endmsg; + fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_beats() called - should be impossible") << endmsg; abort(); /*NOTREACHED*/ } void -MidiPlaylistSource::append_event_unlocked_frames(const Evoral::Event<framepos_t>& /* ev */, framepos_t /*source_start*/) +MidiPlaylistSource::append_event_frames(const Glib::Threads::Mutex::Lock& /*lock*/, const Evoral::Event<framepos_t>& /* ev */, framepos_t /*source_start*/) { - fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_unlocked_frames() called - should be impossible") << endmsg; + fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_frames() called - should be impossible") << endmsg; abort(); /*NOTREACHED*/ } void -MidiPlaylistSource::load_model (bool, bool) +MidiPlaylistSource::load_model (const Glib::Threads::Mutex::Lock&, bool) { /* nothing to do */ } void -MidiPlaylistSource::destroy_model () +MidiPlaylistSource::destroy_model (const Glib::Threads::Mutex::Lock&) { /* nothing to do */ } void -MidiPlaylistSource::flush_midi () +MidiPlaylistSource::flush_midi (const Lock& lock) { } |