infrastructure APIs for region/cue marker removal and clear

This commit is contained in:
Paul Davis 2021-05-18 18:46:49 -06:00
parent d8e0a29316
commit 17dbdffc45
4 changed files with 13 additions and 23 deletions

View file

@ -375,9 +375,7 @@ public:
}
void get_cue_markers (CueMarkers&, bool abs = false) const;
void remove_cue_marker (CueMarker&);
void clear_cue_markers ();
protected:
virtual XMLNode& state ();

View file

@ -114,8 +114,8 @@ public:
CueMarkers const & cue_markers() const { return _cue_markers; }
void add_cue_marker (CueMarker const &);
void remove_cue_marker (CueMarker const &);
void clear_cue_markers ();
bool remove_cue_marker (CueMarker const &);
bool clear_cue_markers ();
PBD::Signal0<void> CueMarkersChanged;
virtual samplepos_t natural_position() const { return _natural_position; }

View file

@ -1937,22 +1937,6 @@ Region::get_cue_markers (CueMarkers& cues, bool abs) const
}
}
void
Region::remove_cue_marker (CueMarker& cm)
{
for (SourceList::iterator s = _sources.begin (); s != _sources.end(); ++s) {
(*s)->remove_cue_marker (cm);
}
}
void
Region::clear_cue_markers ()
{
for (SourceList::iterator s = _sources.begin (); s != _sources.end(); ++s) {
(*s)->clear_cue_markers ();
}
}
void
Region::drop_sources ()
{

View file

@ -420,17 +420,25 @@ Source::add_cue_marker (CueMarker const & cm)
CueMarkersChanged(); /* EMIT SIGNAL */
}
void
bool
Source::remove_cue_marker (CueMarker const & cm)
{
if (_cue_markers.erase (cm)) {
CueMarkersChanged(); /* EMIT SIGNAL */
return true;
}
return false;
}
void
bool
Source::clear_cue_markers ()
{
if (_cue_markers.empty()) {
return false;
}
_cue_markers.clear();
CueMarkersChanged(); /* EMIT SIGNAL */
return true;
}