diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/playlist.h | 14 | ||||
-rw-r--r-- | libs/ardour/ardour/types.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h index 5629a04629..ababa60063 100644 --- a/libs/ardour/ardour/playlist.h +++ b/libs/ardour/ardour/playlist.h @@ -144,6 +144,14 @@ public: void uncombine (boost::shared_ptr<Region>); void shuffle (boost::shared_ptr<Region>, int dir); + void ripple (framepos_t at, framecnt_t distance, RegionList *exclude); + void ripple (framepos_t at, framecnt_t distance, boost::shared_ptr<Region> exclude) { + RegionList el; + if (exclude) + el.push_back (exclude); + ripple (at, distance, &el); + } + void update_after_tempo_map_change (); boost::shared_ptr<Playlist> cut (std::list<AudioRange>&, bool result_is_hidden = true); @@ -283,6 +291,7 @@ public: bool first_set_state; bool _hidden; bool _splicing; + bool _rippling; bool _shuffling; bool _nudging; uint32_t _refcnt; @@ -337,6 +346,11 @@ public: void splice_locked (framepos_t at, framecnt_t distance, boost::shared_ptr<Region> exclude); void splice_unlocked (framepos_t at, framecnt_t distance, boost::shared_ptr<Region> exclude); + void core_ripple (framepos_t at, framecnt_t distance, RegionList *exclude); + void ripple_locked (framepos_t at, framecnt_t distance, RegionList *exclude); + void ripple_unlocked (framepos_t at, framecnt_t distance, RegionList *exclude); + + virtual void remove_dependents (boost::shared_ptr<Region> /*region*/) {} virtual XMLNode& state (bool); diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index 1b9c3326c0..92a8c0da5b 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -341,6 +341,7 @@ namespace ARDOUR { enum EditMode { Slide, Splice, + Ripple, Lock }; |