13
0

NO-OP: code formatting and cleanup, thanks clang-format

This commit is contained in:
Robin Gareus 2021-01-08 17:16:38 +01:00
parent e644cb4577
commit 548db7a9a4
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 848 additions and 889 deletions

View File

@ -27,33 +27,33 @@
#ifndef __ardour_playlist_h__ #ifndef __ardour_playlist_h__
#define __ardour_playlist_h__ #define __ardour_playlist_h__
#include <string>
#include <set>
#include <map>
#include <list>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp> #include <boost/enable_shared_from_this.hpp>
#include <boost/optional.hpp> #include <boost/optional.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/utility.hpp> #include <boost/utility.hpp>
#include <list>
#include <map>
#include <set>
#include <string>
#include <sys/stat.h> #include <sys/stat.h>
#include <glib.h> #include <glib.h>
#include "pbd/undo.h"
#include "pbd/stateful.h"
#include "pbd/statefuldestructible.h"
#include "pbd/sequence_property.h" #include "pbd/sequence_property.h"
#include "pbd/stacktrace.h" #include "pbd/stacktrace.h"
#include "pbd/stateful.h"
#include "pbd/statefuldestructible.h"
#include "pbd/undo.h"
#include "evoral/Range.h" #include "evoral/Range.h"
#include "ardour/ardour.h" #include "ardour/ardour.h"
#include "ardour/data_type.h"
#include "ardour/region.h" #include "ardour/region.h"
#include "ardour/session_object.h" #include "ardour/session_object.h"
#include "ardour/data_type.h"
namespace ARDOUR { namespace ARDOUR {
class Session; class Session;
class Playlist; class Playlist;
@ -71,22 +71,22 @@ class LIBARDOUR_API RegionListProperty : public PBD::SequenceProperty<std::list<
public: public:
RegionListProperty (Playlist&); RegionListProperty (Playlist&);
RegionListProperty* clone () const; RegionListProperty* clone () const;
void get_content_as_xml (boost::shared_ptr<Region>, XMLNode &) const; void get_content_as_xml (boost::shared_ptr<Region>, XMLNode&) const;
boost::shared_ptr<Region> get_content_from_xml (XMLNode const &) const; boost::shared_ptr<Region> get_content_from_xml (XMLNode const&) const;
private: private:
RegionListProperty* create () const; RegionListProperty* create () const;
/* copy construction only by ourselves */ /* copy construction only by ourselves */
RegionListProperty (RegionListProperty const & p); RegionListProperty (RegionListProperty const& p);
friend class Playlist; friend class Playlist;
/* we live and die with our playlist, no lifetime management needed */ /* we live and die with our playlist, no lifetime management needed */
Playlist& _playlist; Playlist& _playlist;
}; };
class LIBARDOUR_API Playlist : public SessionObject , public boost::enable_shared_from_this<Playlist> class LIBARDOUR_API Playlist : public SessionObject, public boost::enable_shared_from_this<Playlist>
{ {
public: public:
static void make_property_quarks (); static void make_property_quarks ();
@ -106,45 +106,42 @@ public:
uint32_t max_source_level () const; uint32_t max_source_level () const;
bool set_name (const std::string& str);
void set_region_ownership (); void set_region_ownership ();
virtual void clear (bool with_signals=true); virtual void clear (bool with_signals = true);
virtual void dump () const; virtual void dump () const;
void use(); void use ();
void release(); void release ();
bool used () const { return _refcnt != 0; }
bool set_name (const std::string& str); bool empty () const;
int sort_id() { return _sort_id; } bool used () const { return _refcnt != 0; }
int sort_id () const { return _sort_id; }
bool frozen () const { return _frozen; }
const DataType& data_type () const { return _type; }
bool hidden () const { return _hidden; }
bool shared () const { return !_shared_with_ids.empty (); }
EditMode get_edit_mode () const { return _edit_mode; }
const DataType& data_type() const { return _type; }
bool frozen() const { return _frozen; }
void set_frozen (bool yn); void set_frozen (bool yn);
void set_edit_mode (EditMode);
void AddToSoloSelectedList(const Region*); void AddToSoloSelectedList (const Region*);
void RemoveFromSoloSelectedList(const Region*); void RemoveFromSoloSelectedList (const Region*);
bool SoloSelectedListIncludes(const Region*); bool SoloSelectedListIncludes (const Region*);
bool SoloSelectedActive(); bool SoloSelectedActive ();
bool hidden() const { return _hidden; }
bool empty() const;
bool shared () const { return !_shared_with_ids.empty(); }
void share_with (const PBD::ID&); void share_with (const PBD::ID&);
void unshare_with (const PBD::ID&); void unshare_with (const PBD::ID&);
bool shared_with (const PBD::ID&) const; bool shared_with (const PBD::ID&) const;
void reset_shares (); void reset_shares ();
uint32_t n_regions() const; uint32_t n_regions () const;
bool all_regions_empty() const; bool all_regions_empty () const;
std::pair<samplepos_t, samplepos_t> get_extent () const; std::pair<samplepos_t, samplepos_t> get_extent () const;
std::pair<samplepos_t, samplepos_t> get_extent_with_endspace() const; std::pair<samplepos_t, samplepos_t> get_extent_with_endspace () const;
layer_t top_layer() const; layer_t top_layer () const;
EditMode get_edit_mode() const { return _edit_mode; }
void set_edit_mode (EditMode);
/* Editing operations */ /* Editing operations */
@ -164,27 +161,34 @@ public:
void duplicate_range (AudioRange&, float times); void duplicate_range (AudioRange&, float times);
void duplicate_ranges (std::list<AudioRange>&, float times); void duplicate_ranges (std::list<AudioRange>&, float times);
void nudge_after (samplepos_t start, samplecnt_t distance, bool forwards); void nudge_after (samplepos_t start, samplecnt_t distance, bool forwards);
boost::shared_ptr<Region> combine (const RegionList&);
void uncombine (boost::shared_ptr<Region>);
void fade_range (std::list<AudioRange>&); void fade_range (std::list<AudioRange>&);
boost::shared_ptr<Region> combine (const RegionList&);
void uncombine (boost::shared_ptr<Region>);
void shuffle (boost::shared_ptr<Region>, int dir); void shuffle (boost::shared_ptr<Region>, int dir);
void ripple (samplepos_t at, samplecnt_t distance, RegionList *exclude); void ripple (samplepos_t at, samplecnt_t distance, RegionList* exclude);
void ripple (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude) { void ripple (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude)
RegionList el; {
if (exclude) RegionList el;
el.push_back (exclude); if (exclude) {
ripple (at, distance, &el); el.push_back (exclude);
}
ripple (at, distance, &el);
} }
void update_after_tempo_map_change (); void update_after_tempo_map_change ();
boost::shared_ptr<Playlist> cut (std::list<AudioRange>&, bool result_is_hidden = true); boost::shared_ptr<Playlist> cut (std::list<AudioRange>&, bool result_is_hidden = true);
boost::shared_ptr<Playlist> copy (std::list<AudioRange>&, bool result_is_hidden = true); boost::shared_ptr<Playlist> copy (std::list<AudioRange>&, bool result_is_hidden = true);
int paste (boost::shared_ptr<Playlist>, samplepos_t position, float times, const int32_t sub_num); int paste (boost::shared_ptr<Playlist>, samplepos_t position, float times, const int32_t sub_num);
const RegionListProperty& region_list_property () const { return regions; } const RegionListProperty& region_list_property () const
boost::shared_ptr<RegionList> region_list(); {
return regions;
}
boost::shared_ptr<RegionList> region_list ();
boost::shared_ptr<RegionList> regions_at (samplepos_t sample); boost::shared_ptr<RegionList> regions_at (samplepos_t sample);
uint32_t count_regions_at (samplepos_t) const; uint32_t count_regions_at (samplepos_t) const;
@ -196,40 +200,40 @@ public:
boost::shared_ptr<RegionList> regions_touched (samplepos_t start, samplepos_t end); boost::shared_ptr<RegionList> regions_touched (samplepos_t start, samplepos_t end);
boost::shared_ptr<RegionList> regions_with_start_within (Evoral::Range<samplepos_t>); boost::shared_ptr<RegionList> regions_with_start_within (Evoral::Range<samplepos_t>);
boost::shared_ptr<RegionList> regions_with_end_within (Evoral::Range<samplepos_t>); boost::shared_ptr<RegionList> regions_with_end_within (Evoral::Range<samplepos_t>);
uint32_t region_use_count (boost::shared_ptr<Region>) const; uint32_t region_use_count (boost::shared_ptr<Region>) const;
boost::shared_ptr<Region> find_region (const PBD::ID&) const; boost::shared_ptr<Region> find_region (const PBD::ID&) const;
boost::shared_ptr<Region> top_region_at (samplepos_t sample); boost::shared_ptr<Region> top_region_at (samplepos_t sample);
boost::shared_ptr<Region> top_unmuted_region_at (samplepos_t sample); boost::shared_ptr<Region> top_unmuted_region_at (samplepos_t sample);
boost::shared_ptr<Region> find_next_region (samplepos_t sample, RegionPoint point, int dir); boost::shared_ptr<Region> find_next_region (samplepos_t sample, RegionPoint point, int dir);
samplepos_t find_next_region_boundary (samplepos_t sample, int dir); samplepos_t find_next_region_boundary (samplepos_t sample, int dir);
bool region_is_shuffle_constrained (boost::shared_ptr<Region>); bool region_is_shuffle_constrained (boost::shared_ptr<Region>);
bool has_region_at (samplepos_t const) const; bool has_region_at (samplepos_t const) const;
bool uses_source (boost::shared_ptr<const Source> src, bool shallow = false) const; bool uses_source (boost::shared_ptr<const Source> src, bool shallow = false) const;
void deep_sources (std::set<boost::shared_ptr<Source> >&) const; void deep_sources (std::set<boost::shared_ptr<Source> >&) const;
samplepos_t find_next_transient (samplepos_t position, int dir); samplepos_t find_next_transient (samplepos_t position, int dir);
void foreach_region (boost::function<void (boost::shared_ptr<Region>)>); void foreach_region (boost::function<void(boost::shared_ptr<Region>)>);
XMLNode& get_state (); XMLNode& get_state ();
virtual int set_state (const XMLNode&, int version); virtual int set_state (const XMLNode&, int version);
XMLNode& get_template (); XMLNode& get_template ();
PBD::Signal1<void,bool> InUse; PBD::Signal1<void, bool> InUse;
PBD::Signal0<void> ContentsChanged; PBD::Signal0<void> ContentsChanged;
PBD::Signal1<void,boost::weak_ptr<Region> > RegionAdded; PBD::Signal1<void, boost::weak_ptr<Region> > RegionAdded;
PBD::Signal1<void,boost::weak_ptr<Region> > RegionRemoved; PBD::Signal1<void, boost::weak_ptr<Region> > RegionRemoved;
PBD::Signal0<void> NameChanged; PBD::Signal0<void> NameChanged;
PBD::Signal0<void> LayeringChanged; PBD::Signal0<void> LayeringChanged;
/** Emitted when regions have moved (not when regions have only been trimmed) */ /** Emitted when regions have moved (not when regions have only been trimmed) */
PBD::Signal2<void,std::list< Evoral::RangeMove<samplepos_t> > const &, bool> RangesMoved; PBD::Signal2<void, std::list<Evoral::RangeMove<samplepos_t> > const&, bool> RangesMoved;
/** Emitted when regions are extended; the ranges passed are the new extra time ranges /** Emitted when regions are extended; the ranges passed are the new extra time ranges
that these regions now occupy. that these regions now occupy.
*/ */
PBD::Signal1<void,std::list< Evoral::Range<samplepos_t> > const &> RegionsExtended; PBD::Signal1<void, std::list<Evoral::Range<samplepos_t> > const&> RegionsExtended;
static std::string bump_name (std::string old_name, Session&); static std::string bump_name (std::string old_name, Session&);
@ -241,8 +245,8 @@ public:
void raise_region_to_top (boost::shared_ptr<Region>); void raise_region_to_top (boost::shared_ptr<Region>);
void lower_region_to_bottom (boost::shared_ptr<Region>); void lower_region_to_bottom (boost::shared_ptr<Region>);
const PBD::ID& get_orig_track_id () const { return _orig_track_id; }
void set_orig_track_id (const PBD::ID& did); void set_orig_track_id (const PBD::ID& did);
const PBD::ID& get_orig_track_id () const { return _orig_track_id; }
/* destructive editing */ /* destructive editing */
@ -256,12 +260,16 @@ public:
void drop_regions (); void drop_regions ();
virtual boost::shared_ptr<Crossfade> find_crossfade (const PBD::ID &) const { virtual boost::shared_ptr<Crossfade> find_crossfade (const PBD::ID&) const
{
return boost::shared_ptr<Crossfade> (); return boost::shared_ptr<Crossfade> ();
} }
samplepos_t find_next_top_layer_position (samplepos_t) const; samplepos_t find_next_top_layer_position (samplepos_t) const;
uint32_t combine_ops() const { return _combine_ops; } uint32_t combine_ops () const
{
return _combine_ops;
}
void set_layer (boost::shared_ptr<Region>, double); void set_layer (boost::shared_ptr<Region>, double);
@ -271,109 +279,120 @@ protected:
friend class Session; friend class Session;
protected: protected:
class ThawList : public RegionList { class ThawList : public RegionList
public: {
void add (boost::shared_ptr<Region> r) public:
{ void add (boost::shared_ptr<Region> r)
if (std::find (begin(), end(), r) != end ()) { {
return; if (std::find (begin (), end (), r) != end ()) {
} return;
r->suspend_property_changes ();
push_back (r);
} }
r->suspend_property_changes ();
push_back (r);
}
void release () void release ()
{ {
for (RegionList::iterator i = begin(); i != end(); ++i) { for (RegionList::iterator i = begin (); i != end (); ++i) {
(*i)->resume_property_changes (); (*i)->resume_property_changes ();
}
clear ();
} }
clear ();
}
}; };
class RegionReadLock : public Glib::Threads::RWLock::ReaderLock { class RegionReadLock : public Glib::Threads::RWLock::ReaderLock
public: {
RegionReadLock (Playlist *pl) : Glib::Threads::RWLock::ReaderLock (pl->region_lock) {} public:
~RegionReadLock() {} RegionReadLock (Playlist* pl)
: Glib::Threads::RWLock::ReaderLock (pl->region_lock)
{
}
~RegionReadLock () {}
}; };
class RegionWriteLock : public Glib::Threads::RWLock::WriterLock { class RegionWriteLock : public Glib::Threads::RWLock::WriterLock
public: {
RegionWriteLock (Playlist *pl, bool do_block_notify = true) public:
: Glib::Threads::RWLock::WriterLock (pl->region_lock) RegionWriteLock (Playlist* pl, bool do_block_notify = true)
, playlist (pl) : Glib::Threads::RWLock::WriterLock (pl->region_lock)
, block_notify (do_block_notify) { , playlist (pl)
if (block_notify) { , block_notify (do_block_notify)
playlist->delay_notifications(); {
} if (block_notify) {
} playlist->delay_notifications ();
~RegionWriteLock() {
Glib::Threads::RWLock::WriterLock::release ();
if (block_notify) {
playlist->release_notifications ();
}
thawlist.release ();
} }
}
ThawList thawlist; ~RegionWriteLock ()
Playlist *playlist; {
bool block_notify; Glib::Threads::RWLock::WriterLock::release ();
if (block_notify) {
playlist->release_notifications ();
}
thawlist.release ();
}
ThawList thawlist;
Playlist* playlist;
bool block_notify;
}; };
RegionListProperty regions; /* the current list of regions in the playlist */ RegionListProperty 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::set<boost::shared_ptr<Region> > all_regions; /* all regions ever added to this playlist */
PBD::ScopedConnectionList region_state_changed_connections; PBD::ScopedConnectionList region_state_changed_connections;
PBD::ScopedConnectionList region_drop_references_connections; PBD::ScopedConnectionList region_drop_references_connections;
DataType _type; DataType _type;
uint32_t _sort_id; uint32_t _sort_id;
mutable gint block_notifications; mutable gint block_notifications;
mutable gint ignore_state_changes; mutable gint ignore_state_changes;
std::set<boost::shared_ptr<Region> > pending_adds; std::set<boost::shared_ptr<Region> > pending_adds;
std::set<boost::shared_ptr<Region> > pending_removes; std::set<boost::shared_ptr<Region> > pending_removes;
RegionList pending_bounds; RegionList pending_bounds;
bool pending_contents_change; bool pending_contents_change;
bool pending_layering; bool pending_layering;
std::set<const Region*> _soloSelectedRegions; std::set<const Region*> _soloSelectedRegions;
/** Movements of time ranges caused by region moves; note that /** Movements of time ranges caused by region moves; note that
* region trims are not included in this list; it is used to * region trims are not included in this list; it is used to
* do automation-follows-regions. * do automation-follows-regions.
*/ */
std::list< Evoral::RangeMove<samplepos_t> > pending_range_moves; std::list<Evoral::RangeMove<samplepos_t> > pending_range_moves;
/** Extra sections added to regions during trims */ /** Extra sections added to regions during trims */
std::list< Evoral::Range<samplepos_t> > pending_region_extensions; std::list<Evoral::Range<samplepos_t> > pending_region_extensions;
uint32_t in_set_state;
bool in_undo; uint32_t in_set_state;
bool first_set_state; bool in_undo;
bool _hidden; bool first_set_state;
bool _splicing; bool _hidden;
bool _rippling; bool _splicing;
bool _shuffling; bool _rippling;
bool _nudging; bool _shuffling;
uint32_t _refcnt; bool _nudging;
EditMode _edit_mode; uint32_t _refcnt;
bool in_flush; EditMode _edit_mode;
bool in_partition; bool in_flush;
bool _frozen; bool in_partition;
bool _capture_insertion_underway; bool _frozen;
uint32_t subcnt; bool _capture_insertion_underway;
PBD::ID _orig_track_id; uint32_t subcnt;
uint32_t _combine_ops; PBD::ID _orig_track_id;
uint32_t _combine_ops;
std::list<PBD::ID> _shared_with_ids; std::list<PBD::ID> _shared_with_ids;
void init (bool hide); void init (bool hide);
bool holding_state () const { bool holding_state () const
{
return g_atomic_int_get (&block_notifications) != 0 || return g_atomic_int_get (&block_notifications) != 0 ||
g_atomic_int_get (&ignore_state_changes) != 0; g_atomic_int_get (&ignore_state_changes) != 0;
} }
void delay_notifications (); void delay_notifications ();
void release_notifications (bool from_undo = false); void release_notifications (bool from_undo = false);
virtual void flush_notifications (bool from_undo = false); virtual void flush_notifications (bool from_undo = false);
void clear_pending (); void clear_pending ();
void _set_sort_id (); void _set_sort_id ();
@ -388,9 +407,9 @@ protected:
void notify_region_start_trimmed (boost::shared_ptr<Region>); void notify_region_start_trimmed (boost::shared_ptr<Region>);
void notify_region_end_trimmed (boost::shared_ptr<Region>); void notify_region_end_trimmed (boost::shared_ptr<Region>);
void mark_session_dirty(); void mark_session_dirty ();
void region_changed_proxy (const PBD::PropertyChange&, boost::weak_ptr<Region>); void region_changed_proxy (const PBD::PropertyChange&, boost::weak_ptr<Region>);
virtual bool region_changed (const PBD::PropertyChange&, boost::shared_ptr<Region>); virtual bool region_changed (const PBD::PropertyChange&, boost::shared_ptr<Region>);
void region_bounds_changed (const PBD::PropertyChange&, boost::shared_ptr<Region>); void region_bounds_changed (const PBD::PropertyChange&, boost::shared_ptr<Region>);
@ -398,14 +417,14 @@ protected:
void sort_regions (); void sort_regions ();
void possibly_splice (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude = boost::shared_ptr<Region>()); void possibly_splice (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude = boost::shared_ptr<Region> ());
void possibly_splice_unlocked (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude, ThawList& thawlist); void possibly_splice_unlocked (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude, ThawList& thawlist);
void splice_locked (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude); void splice_locked (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude);
void splice_unlocked (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude, ThawList& thawlist); void splice_unlocked (samplepos_t at, samplecnt_t distance, boost::shared_ptr<Region> exclude, ThawList& thawlist);
void ripple_locked (samplepos_t at, samplecnt_t distance, RegionList *exclude); void ripple_locked (samplepos_t at, samplecnt_t distance, RegionList* exclude);
void ripple_unlocked (samplepos_t at, samplecnt_t distance, RegionList *exclude, ThawList& thawlist); void ripple_unlocked (samplepos_t at, samplecnt_t distance, RegionList* exclude, ThawList& thawlist);
virtual void remove_dependents (boost::shared_ptr<Region> /*region*/) {} virtual void remove_dependents (boost::shared_ptr<Region> /*region*/) {}
virtual void region_going_away (boost::weak_ptr<Region> /*region*/) {} virtual void region_going_away (boost::weak_ptr<Region> /*region*/) {}
@ -414,14 +433,14 @@ protected:
bool add_region_internal (boost::shared_ptr<Region>, samplepos_t position, ThawList& thawlist, int32_t sub_num = 0, double quarter_note = 0.0, bool for_music = false); bool add_region_internal (boost::shared_ptr<Region>, samplepos_t position, ThawList& thawlist, int32_t sub_num = 0, double quarter_note = 0.0, bool for_music = false);
int remove_region_internal (boost::shared_ptr<Region>, ThawList& thawlist); int remove_region_internal (boost::shared_ptr<Region>, ThawList& thawlist);
void copy_regions (RegionList&) const; void copy_regions (RegionList&) const;
void partition_internal (samplepos_t start, samplepos_t end, bool cutting, ThawList& thawlist); void partition_internal (samplepos_t start, samplepos_t end, bool cutting, ThawList& thawlist);
std::pair<samplepos_t, samplepos_t> _get_extent() const; std::pair<samplepos_t, samplepos_t> _get_extent () const;
boost::shared_ptr<Playlist> cut_copy (boost::shared_ptr<Playlist> (Playlist::*pmf)(samplepos_t, samplecnt_t, bool), boost::shared_ptr<Playlist> cut_copy (boost::shared_ptr<Playlist> (Playlist::*pmf) (samplepos_t, samplecnt_t, bool),
std::list<AudioRange>& ranges, bool result_is_hidden); std::list<AudioRange>& ranges, bool result_is_hidden);
boost::shared_ptr<Playlist> cut (samplepos_t start, samplecnt_t cnt, bool result_is_hidden); boost::shared_ptr<Playlist> cut (samplepos_t start, samplecnt_t cnt, bool result_is_hidden);
boost::shared_ptr<Playlist> copy (samplepos_t start, samplecnt_t cnt, bool result_is_hidden); boost::shared_ptr<Playlist> copy (samplepos_t start, samplecnt_t cnt, bool result_is_hidden);
@ -439,24 +458,26 @@ protected:
/* this is called before we create a new compound region */ /* this is called before we create a new compound region */
virtual void post_combine (std::vector<boost::shared_ptr<Region> >&, boost::shared_ptr<Region>) {} virtual void post_combine (std::vector<boost::shared_ptr<Region> >&, boost::shared_ptr<Region>) {}
/* this is called before we remove a compound region and replace it /* this is called before we remove a compound region and replace it
with its constituent regions * with its constituent regions
*/ */
virtual void pre_uncombine (std::vector<boost::shared_ptr<Region> >&, boost::shared_ptr<Region>) {} virtual void pre_uncombine (std::vector<boost::shared_ptr<Region> >&, boost::shared_ptr<Region>) {}
private: private:
friend class RegionReadLock; friend class RegionReadLock;
friend class RegionWriteLock; friend class RegionWriteLock;
mutable Glib::Threads::RWLock region_lock; mutable Glib::Threads::RWLock region_lock;
private: private:
void setup_layering_indices (RegionList const &); void setup_layering_indices (RegionList const&);
void coalesce_and_check_crossfades (std::list<Evoral::Range<samplepos_t> >); void coalesce_and_check_crossfades (std::list<Evoral::Range<samplepos_t> >);
boost::shared_ptr<RegionList> find_regions_at (samplepos_t); boost::shared_ptr<RegionList> find_regions_at (samplepos_t);
mutable boost::optional<std::pair<samplepos_t, samplepos_t> > _cached_extent; mutable boost::optional<std::pair<samplepos_t, samplepos_t> > _cached_extent;
samplepos_t _end_space; //this is used when we are pasting a range with extra space at the end samplepos_t _end_space; //this is used when we are pasting a range with extra space at the end
bool _playlist_shift_active; bool _playlist_shift_active;
}; };
} /* namespace ARDOUR */ } /* namespace ARDOUR */

File diff suppressed because it is too large Load Diff