X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fmidi_playlist_source.cc;h=3d9c5b1e9f58a37bb0e492427dc546f8a5d112c7;hb=e4a7e5a239d0b5646c7057181405e3238eb7ed7f;hp=6270ad43398d1bce89659f9a43dbee136e25bada;hpb=0938a42440cc82ce8d0cb064840c258c863714ab;p=ardour.git diff --git a/libs/ardour/midi_playlist_source.cc b/libs/ardour/midi_playlist_source.cc index 6270ad4339..3d9c5b1e9f 100644 --- a/libs/ardour/midi_playlist_source.cc +++ b/libs/ardour/midi_playlist_source.cc @@ -20,25 +20,10 @@ #include "libardour-config.h" #endif -#include -#include - -#include -#include - #include "pbd/error.h" -#include "pbd/convert.h" -#include "pbd/enumwriter.h" #include "ardour/midi_playlist.h" #include "ardour/midi_playlist_source.h" -#include "ardour/midi_region.h" -#include "ardour/debug.h" -#include "ardour/filename_extensions.h" -#include "ardour/session.h" -#include "ardour/session_directory.h" -#include "ardour/session_playlists.h" -#include "ardour/source_factory.h" #include "i18n.h" @@ -46,6 +31,17 @@ using namespace std; using namespace ARDOUR; using namespace PBD; +namespace ARDOUR { +class MidiStateTracker; +class Session; +template class MidiRingBuffer; +} + +namespace Evoral { +template class EventSink; +template class Event; +} + /******************************************************************************* As of May 2011, it appears too complex to support compound regions for MIDI because of the need to be able to edit the data represented by the region. It @@ -98,7 +94,6 @@ MidiPlaylistSource::get_state () return node; } - int MidiPlaylistSource::set_state (const XMLNode& node, int version) { @@ -126,11 +121,13 @@ MidiPlaylistSource::length (framepos_t) const return extent.second - extent.first; } -framepos_t -MidiPlaylistSource::read_unlocked (Evoral::EventSink& dst, +framecnt_t +MidiPlaylistSource::read_unlocked (const Lock& lock, + Evoral::EventSink& dst, framepos_t /*position*/, framepos_t start, framecnt_t cnt, - MidiStateTracker*) const + MidiStateTracker*, + MidiChannelFilter*) const { boost::shared_ptr mp = boost::dynamic_pointer_cast (_playlist); @@ -141,44 +138,45 @@ MidiPlaylistSource::read_unlocked (Evoral::EventSink& dst, return mp->read (dst, start, cnt); } -framepos_t -MidiPlaylistSource::write_unlocked (MidiRingBuffer& dst, - framepos_t, - framecnt_t) +framecnt_t +MidiPlaylistSource::write_unlocked (const Lock&, + MidiRingBuffer&, + framepos_t, + framecnt_t) { fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::write_unlocked() called - should be impossible") << endmsg; - /*NOTREACHED*/ + abort(); /*NOTREACHED*/ return 0; } void -MidiPlaylistSource::append_event_unlocked_beats(const Evoral::Event& /*ev*/) +MidiPlaylistSource::append_event_beats(const Glib::Threads::Mutex::Lock& /*lock*/, const Evoral::Event& /*ev*/) { - fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_unlocked_beats() called - should be impossible") << endmsg; - /*NOTREACHED*/ + 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& /* ev */, framepos_t /*source_start*/) +MidiPlaylistSource::append_event_frames(const Glib::Threads::Mutex::Lock& /*lock*/, const Evoral::Event& /* ev */, framepos_t /*source_start*/) { - fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_unlocked_frames() called - should be impossible") << endmsg; - /*NOTREACHED*/ + 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) { }