mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-30 08:53:08 +01:00
API infrastructure for dragging region/cue markers
This commit is contained in:
parent
2016710865
commit
c2a012545b
4 changed files with 22 additions and 0 deletions
|
|
@ -375,6 +375,7 @@ public:
|
|||
}
|
||||
|
||||
void get_cue_markers (CueMarkers&, bool abs = false) const;
|
||||
void move_cue_marker (CueMarker const &, samplepos_t region_relative_position);
|
||||
|
||||
protected:
|
||||
virtual XMLNode& state ();
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ public:
|
|||
|
||||
CueMarkers const & cue_markers() const { return _cue_markers; }
|
||||
void add_cue_marker (CueMarker const &);
|
||||
void move_cue_marker (CueMarker const &, samplepos_t source_relative_position);
|
||||
bool remove_cue_marker (CueMarker const &);
|
||||
bool clear_cue_markers ();
|
||||
PBD::Signal0<void> CueMarkersChanged;
|
||||
|
|
|
|||
|
|
@ -1937,6 +1937,14 @@ Region::get_cue_markers (CueMarkers& cues, bool abs) const
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
Region::move_cue_marker (CueMarker const & cm, samplepos_t region_relative_position)
|
||||
{
|
||||
for (SourceList::const_iterator s = _sources.begin (); s != _sources.end(); ++s) {
|
||||
(*s)->move_cue_marker (cm, start() + region_relative_position);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Region::drop_sources ()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -420,6 +420,18 @@ Source::add_cue_marker (CueMarker const & cm)
|
|||
CueMarkersChanged(); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
Source::move_cue_marker (CueMarker const & cm, samplepos_t source_relative_position)
|
||||
{
|
||||
if (source_relative_position > length (0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (remove_cue_marker (cm)) {
|
||||
add_cue_marker (CueMarker (cm.text(), source_relative_position));
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
Source::remove_cue_marker (CueMarker const & cm)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue