#include <pbd/undo.h>
#include <pbd/stateful.h>
-#include <pbd/statefuldestructible.h>
+#include <pbd/statefuldestructible.h>
+
+#include <evoral/types.hpp>
#include <ardour/ardour.h>
#include <ardour/session_object.h>
sigc::signal<void> Modified;
sigc::signal<void> NameChanged;
sigc::signal<void> LengthChanged;
+ sigc::signal<void, list< Evoral::RangeMove<nframes_t> > const &> RangesMoved;
static string bump_name (string old_name, Session&);
RegionList regions; /* the current list of regions in the playlist */
std::set<boost::shared_ptr<Region> > all_regions; /* all regions ever added to this playlist */
+ std::list<sigc::connection> region_state_changed_connections;
DataType _type;
mutable gint block_notifications;
mutable gint ignore_state_changes;
RegionList pending_bounds;
bool pending_modified;
bool pending_length;
+ list< Evoral::RangeMove<nframes_t> > pending_range_moves;
bool save_on_thaw;
string last_save_reason;
uint32_t in_set_state;
void notify_layering_changed ();
void notify_modified ();
void notify_state_changed (Change);
+ void notify_region_moved (boost::shared_ptr<Region>);
void mark_session_dirty();
boost::shared_ptr<Region> region_by_id (PBD::ID);
- void add_region_internal (boost::shared_ptr<Region>, nframes_t position);
+ bool add_region_internal (boost::shared_ptr<Region>, nframes_t position);
int remove_region_internal (boost::shared_ptr<Region>);
RegionList *find_regions_at (nframes_t frame);