From 689306e2bf4f858da472c91a1978f9fb0b35308a Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 13 May 2021 21:40:07 -0600 Subject: [PATCH] add Source::CueMarkersChanged signal, and ::remove_cue_marker() --- libs/ardour/ardour/source.h | 3 +++ libs/ardour/source.cc | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h index 919ac10913..224a259b8f 100644 --- a/libs/ardour/ardour/source.h +++ b/libs/ardour/ardour/source.h @@ -113,6 +113,9 @@ public: void set_captured_xruns (XrunPositions const& xruns) { _xruns = xruns; } CueMarkers const & cue_markers() const { return _cue_markers; } + void add_cue_marker (CueMarker const &); + void remove_cue_marker (CueMarker const &); + PBD::Signal0 CueMarkersChanged; virtual samplepos_t natural_position() const { return _natural_position; } virtual void set_natural_position (samplepos_t pos); diff --git a/libs/ardour/source.cc b/libs/ardour/source.cc index 1fd8595b70..f8f43d60e5 100644 --- a/libs/ardour/source.cc +++ b/libs/ardour/source.cc @@ -380,3 +380,19 @@ Source::writable () const { return (_flags & Writable) && _session.writable(); } + +void +Source::add_cue_marker (CueMarker const & cm) +{ + _cue_markers.insert (cm); + CueMarkersChanged(); /* EMIT SIGNAL */ +} + +void +Source::remove_cue_marker (CueMarker const & cm) +{ + if (_cue_markers.erase (cm)) { + CueMarkersChanged(); /* EMIT SIGNAL */ + } +} +