From 3f30e8093e1c78bb722196ecb48d9c7cbdd279c3 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 20 Dec 2010 21:22:49 +0000 Subject: Clean up region.h and trim include tree. git-svn-id: svn://localhost/ardour2/branches/3.0@8312 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/audioanalyser.h | 4 +- libs/ardour/ardour/crossfade.h | 1 - libs/ardour/ardour/export_channel.h | 4 +- libs/ardour/ardour/filter.h | 5 +- libs/ardour/ardour/region.h | 143 ++++++++++++++++++------------------ libs/ardour/ardour/region_factory.h | 36 +++++---- libs/ardour/audioanalyser.cc | 2 +- libs/ardour/export_channel.cc | 1 + libs/ardour/onset_detector.cc | 1 + libs/ardour/transient_detector.cc | 1 + 10 files changed, 102 insertions(+), 96 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/ardour/audioanalyser.h b/libs/ardour/ardour/audioanalyser.h index 27a03ce805..035390e99f 100644 --- a/libs/ardour/ardour/audioanalyser.h +++ b/libs/ardour/ardour/audioanalyser.h @@ -24,9 +24,9 @@ #include #include #include -#include "vamp-sdk/Plugin.h" #include -#include "ardour/audioregion.h" +#include "vamp-sdk/Plugin.h" +#include "ardour/types.h" namespace ARDOUR { diff --git a/libs/ardour/ardour/crossfade.h b/libs/ardour/ardour/crossfade.h index 53fbe07616..d527b6abfa 100644 --- a/libs/ardour/ardour/crossfade.h +++ b/libs/ardour/ardour/crossfade.h @@ -40,7 +40,6 @@ namespace ARDOUR { extern PBD::PropertyDescriptor follow_overlap; } -class AudioRegion; class Playlist; class Crossfade : public ARDOUR::AudioRegion diff --git a/libs/ardour/ardour/export_channel.h b/libs/ardour/ardour/export_channel.h index 96b9c1eda2..f51578c80c 100644 --- a/libs/ardour/ardour/export_channel.h +++ b/libs/ardour/ardour/export_channel.h @@ -27,7 +27,8 @@ #include #include -#include "ardour/audioregion.h" +#include "pbd/signals.h" + #include "ardour/buffer_set.h" namespace ARDOUR { @@ -35,6 +36,7 @@ namespace ARDOUR { class Session; class AudioTrack; class AudioPort; +class AudioRegion; /// Export channel base class interface for different source types class ExportChannel : public boost::less_than_comparable diff --git a/libs/ardour/ardour/filter.h b/libs/ardour/ardour/filter.h index 9d69a513ac..aa1dcd1762 100644 --- a/libs/ardour/ardour/filter.h +++ b/libs/ardour/ardour/filter.h @@ -22,13 +22,14 @@ #define __ardour_filter_h__ #include -#include "ardour/region.h" + +#include "ardour/types.h" namespace ARDOUR { class Region; class Session; -class Progress; +class Progress; class Filter { diff --git a/libs/ardour/ardour/region.h b/libs/ardour/ardour/region.h index e1bba21b52..6bb1b209b8 100644 --- a/libs/ardour/ardour/region.h +++ b/libs/ardour/ardour/region.h @@ -42,28 +42,28 @@ class XMLNode; namespace ARDOUR { namespace Properties { - extern PBD::PropertyDescriptor muted; - extern PBD::PropertyDescriptor opaque; - extern PBD::PropertyDescriptor locked; - extern PBD::PropertyDescriptor automatic; - extern PBD::PropertyDescriptor whole_file; - extern PBD::PropertyDescriptor import; - extern PBD::PropertyDescriptor external; - extern PBD::PropertyDescriptor sync_marked; - extern PBD::PropertyDescriptor left_of_split; - extern PBD::PropertyDescriptor right_of_split; - extern PBD::PropertyDescriptor hidden; - extern PBD::PropertyDescriptor position_locked; - extern PBD::PropertyDescriptor valid_transients; - extern PBD::PropertyDescriptor start; - extern PBD::PropertyDescriptor length; - extern PBD::PropertyDescriptor position; - extern PBD::PropertyDescriptor sync_position; - extern PBD::PropertyDescriptor layer; - extern PBD::PropertyDescriptor ancestral_start; - extern PBD::PropertyDescriptor ancestral_length; - extern PBD::PropertyDescriptor stretch; - extern PBD::PropertyDescriptor shift; + extern PBD::PropertyDescriptor muted; + extern PBD::PropertyDescriptor opaque; + extern PBD::PropertyDescriptor locked; + extern PBD::PropertyDescriptor automatic; + extern PBD::PropertyDescriptor whole_file; + extern PBD::PropertyDescriptor import; + extern PBD::PropertyDescriptor external; + extern PBD::PropertyDescriptor sync_marked; + extern PBD::PropertyDescriptor left_of_split; + extern PBD::PropertyDescriptor right_of_split; + extern PBD::PropertyDescriptor hidden; + extern PBD::PropertyDescriptor position_locked; + extern PBD::PropertyDescriptor valid_transients; + extern PBD::PropertyDescriptor start; + extern PBD::PropertyDescriptor length; + extern PBD::PropertyDescriptor position; + extern PBD::PropertyDescriptor sync_position; + extern PBD::PropertyDescriptor layer; + extern PBD::PropertyDescriptor ancestral_start; + extern PBD::PropertyDescriptor ancestral_length; + extern PBD::PropertyDescriptor stretch; + extern PBD::PropertyDescriptor shift; extern PBD::PropertyDescriptor position_lock_style; }; @@ -83,8 +83,8 @@ class Region : public SessionObject , public boost::enable_shared_from_this , public Readable - , public Trimmable - , public Movable + , public Trimmable + , public Movable { public: typedef std::vector > SourceList; @@ -98,7 +98,7 @@ class Region /** Note: changing the name of a Region does not constitute an edit */ bool set_name (const std::string& str); - const DataType& data_type() const { return _type; } + const DataType& data_type () const { return _type; } AnalysisFeatureList transients () { return _transients; }; @@ -108,53 +108,54 @@ class Region * START: first frame of the region within its source(s) * LENGTH: number of frames the region represents */ - framepos_t position () const { return _position; } - framepos_t start () const { return _start; } - framecnt_t length() const { return _length; } - layer_t layer () const { return _layer; } + framepos_t position () const { return _position; } + framepos_t start () const { return _start; } + framecnt_t length () const { return _length; } + layer_t layer () const { return _layer; } framecnt_t source_length(uint32_t n) const; /* these two are valid ONLY during a StateChanged signal handler */ - framepos_t last_position() const { return _last_position; } - framecnt_t last_length() const { return _last_length; } + framepos_t last_position () const { return _last_position; } + framecnt_t last_length () const { return _last_length; } - framepos_t ancestral_start () const { return _ancestral_start; } + framepos_t ancestral_start () const { return _ancestral_start; } framecnt_t ancestral_length () const { return _ancestral_length; } - float stretch() const { return _stretch; } - float shift() const { return _shift; } + + float stretch () const { return _stretch; } + float shift () const { return _shift; } void set_ancestral_data (framepos_t start, framepos_t length, float stretch, float shift); - frameoffset_t sync_offset(int& dir) const; - framepos_t sync_position() const; + frameoffset_t sync_offset (int& dir) const; + framepos_t sync_position () const; framepos_t sync_point () const; framepos_t adjust_to_sync (framepos_t) const; /* first_frame() is an alias; last_frame() just hides some math */ - framepos_t first_frame() const { return _position; } - framepos_t last_frame() const { return _position + _length - 1; } - - bool hidden() const { return _hidden; } - bool muted() const { return _muted; } - bool opaque () const { return _opaque; } - bool locked() const { return _locked; } - bool position_locked() const { return _position_locked; } - bool valid_transients() const { return _valid_transients; } - bool automatic() const { return _automatic; } - bool whole_file() const { return _whole_file; } - bool captured() const { return !(_import || _external); } - bool can_move() const { return !_position_locked; } - bool sync_marked() const { return _sync_marked; } - bool external() const { return _external; } - bool import() const { return _import; } - - Trimmable::CanTrim can_trim() const; - - PositionLockStyle position_lock_style() const { return _position_lock_style; } + framepos_t first_frame () const { return _position; } + framepos_t last_frame () const { return _position + _length - 1; } + + bool hidden () const { return _hidden; } + bool muted () const { return _muted; } + bool opaque () const { return _opaque; } + bool locked () const { return _locked; } + bool position_locked () const { return _position_locked; } + bool valid_transients () const { return _valid_transients; } + bool automatic () const { return _automatic; } + bool whole_file () const { return _whole_file; } + bool captured () const { return !(_import || _external); } + bool can_move () const { return !_position_locked; } + bool sync_marked () const { return _sync_marked; } + bool external () const { return _external; } + bool import () const { return _import; } + + Trimmable::CanTrim can_trim () const; + + PositionLockStyle position_lock_style () const { return _position_lock_style; } void set_position_lock_style (PositionLockStyle ps); void recompute_position_from_lock_style (); @@ -193,8 +194,8 @@ class Region void trim_end (framepos_t new_position, void *src); void trim_to (framepos_t position, framecnt_t length, void *src); - void cut_front (framepos_t new_position, void *src); - void cut_end (framepos_t new_position, void *src); + void cut_front (framepos_t new_position, void *src); + void cut_end (framepos_t new_position, void *src); void set_layer (layer_t l); /* ONLY Playlist can call this */ void raise (); @@ -214,9 +215,9 @@ class Region int apply (Filter &, Progress* progress = 0); - virtual uint64_t read_data_count() const { return _read_data_count; } + virtual uint64_t read_data_count () const { return _read_data_count; } - boost::shared_ptr playlist() const { return _playlist.lock(); } + boost::shared_ptr playlist () const { return _playlist.lock(); } virtual void set_playlist (boost::weak_ptr); void source_deleted (boost::weak_ptr); @@ -224,8 +225,8 @@ class Region boost::shared_ptr source (uint32_t n=0) const { return _sources[ (n < _sources.size()) ? n : 0 ]; } uint32_t n_channels() const { return _sources.size(); } - const SourceList& sources() const { return _sources; } - const SourceList& master_sources() const { return _master_sources; } + const SourceList& sources () const { return _sources; } + const SourceList& master_sources () const { return _master_sources; } std::vector master_source_names(); void set_master_sources (const SourceList&); @@ -233,10 +234,10 @@ class Region /* automation */ virtual boost::shared_ptr - control(const Evoral::Parameter& id, bool create=false) = 0; + control (const Evoral::Parameter& id, bool create=false) = 0; virtual boost::shared_ptr - control(const Evoral::Parameter& id) const = 0; + control (const Evoral::Parameter& id) const = 0; /* serialization */ @@ -298,18 +299,20 @@ class Region return _pending_explicit_relayer; } - void drop_sources (); + void drop_sources (); protected: friend class RegionFactory; /** Construct a region from multiple sources*/ Region (const SourceList& srcs); + /** Construct a region from another region, at an offset within that region */ Region (boost::shared_ptr, frameoffset_t start_offset = 0, bool start_relative = true); /** Construct a region as a copy of another region, but with different sources */ Region (boost::shared_ptr, const SourceList&); - /** normal Region copy constructor */ + + /** Normal Region copy constructor */ Region (boost::shared_ptr); /** Constructor for derived types only */ @@ -321,13 +324,13 @@ class Region protected: void send_change (const PBD::PropertyChange&); - void mid_thaw (const PBD::PropertyChange&); + void mid_thaw (const PBD::PropertyChange&); void trim_to_internal (framepos_t position, framecnt_t length, void *src); virtual void set_position_internal (framepos_t pos, bool allow_bbt_recompute); virtual void set_length_internal (framepos_t pos); - void modify_front (framepos_t new_position, bool reset_fade, void* src); - void modify_end (framepos_t new_position, bool reset_fade, void* src); + void modify_front (framepos_t new_position, bool reset_fade, void* src); + void modify_end (framepos_t new_position, bool reset_fade, void* src); void maybe_uncopy (); void first_edit (); @@ -340,7 +343,7 @@ class Region virtual void recompute_at_start () = 0; virtual void recompute_at_end () = 0; - DataType _type; + DataType _type; PBD::Property _muted; PBD::Property _opaque; diff --git a/libs/ardour/ardour/region_factory.h b/libs/ardour/ardour/region_factory.h index f9ed868f4f..af6c2759cf 100644 --- a/libs/ardour/ardour/region_factory.h +++ b/libs/ardour/ardour/region_factory.h @@ -28,7 +28,6 @@ #include "pbd/signals.h" #include "ardour/types.h" -#include "ardour/region.h" class XMLNode; @@ -38,14 +37,13 @@ class Session; class AudioRegion; class RegionFactory { +public: + typedef std::map > RegionMap; - public: - typedef std::map > RegionMap; - - static boost::shared_ptr wholefile_region_by_name (const std::string& name); + static boost::shared_ptr wholefile_region_by_name (const std::string& name); static boost::shared_ptr region_by_id (const PBD::ID&); static boost::shared_ptr region_by_name (const std::string& name); - static const RegionMap all_regions() { return region_map; } + static const RegionMap all_regions() { return region_map; } static void clear_map (); /** This is emitted only when a new id is assigned. Therefore, @@ -62,32 +60,32 @@ class RegionFactory { /** create a region from a single Source */ static boost::shared_ptr create (boost::shared_ptr, - const PBD::PropertyList&, bool announce = true); + const PBD::PropertyList&, bool announce = true); /** create a region from a multiple sources */ static boost::shared_ptr create (const SourceList &, - const PBD::PropertyList&, bool announce = true); + const PBD::PropertyList&, bool announce = true); /** create a copy of @other starting at zero within @param other's sources */ static boost::shared_ptr create (boost::shared_ptr other, - const PBD::PropertyList&, bool announce = true); + const PBD::PropertyList&, bool announce = true); /** create a copy of @param other starting at @param offset within @param other */ static boost::shared_ptr create (boost::shared_ptr other, frameoffset_t offset, - const PBD::PropertyList&, bool announce = true); + const PBD::PropertyList&, bool announce = true); /** create a "copy" of @param other but using a different set of sources @param srcs */ static boost::shared_ptr create (boost::shared_ptr other, const SourceList& srcs, - const PBD::PropertyList&, bool announce = true); + const PBD::PropertyList&, bool announce = true); /** create a region with no sources, using XML state */ static boost::shared_ptr create (Session&, XMLNode&, bool); /** create a region with specified sources @param srcs and XML state */ static boost::shared_ptr create (SourceList& srcs, const XMLNode&); - static void get_regions_using_source (boost::shared_ptr, std::set >& ); + static void get_regions_using_source (boost::shared_ptr, std::set >& ); static void map_remove (boost::shared_ptr); static void map_remove_with_equivalents (boost::shared_ptr); - static void delete_all_regions (); - static const RegionMap& regions() { return region_map; } - static uint32_t nregions (); + static void delete_all_regions (); + static const RegionMap& regions() { return region_map; } + static uint32_t nregions (); static int region_name (std::string &, std::string, bool new_level = false); static std::string new_region_name (std::string); @@ -95,12 +93,12 @@ class RegionFactory { private: static boost::shared_ptr create (boost::shared_ptr, frameoffset_t offset, - bool offset_relative, - const PBD::PropertyList&, bool announce = true); + bool offset_relative, + const PBD::PropertyList&, bool announce = true); static void region_changed (PBD::PropertyChange const &, boost::weak_ptr); - static Glib::StaticMutex region_map_lock; + static Glib::StaticMutex region_map_lock; static RegionMap region_map; static void map_add (boost::shared_ptr); @@ -110,7 +108,7 @@ class RegionFactory { static std::map region_name_map; static void update_region_name_map (boost::shared_ptr); - static PBD::ScopedConnectionList region_list_connections; + static PBD::ScopedConnectionList region_list_connections; }; } diff --git a/libs/ardour/audioanalyser.cc b/libs/ardour/audioanalyser.cc index cb46c45def..d477026a24 100644 --- a/libs/ardour/audioanalyser.cc +++ b/libs/ardour/audioanalyser.cc @@ -7,10 +7,10 @@ #include // for g_remove() #include "pbd/error.h" +#include "pbd/failed_constructor.h" #include "ardour/audioanalyser.h" #include "ardour/readable.h" -#include "ardour/readable.h" #include diff --git a/libs/ardour/export_channel.cc b/libs/ardour/export_channel.cc index 9c0bc38792..c612b1f668 100644 --- a/libs/ardour/export_channel.cc +++ b/libs/ardour/export_channel.cc @@ -22,6 +22,7 @@ #include "ardour/audio_port.h" #include "ardour/audio_track.h" #include "ardour/audioengine.h" +#include "ardour/audioregion.h" #include "ardour/export_channel.h" #include "ardour/export_failed.h" #include "ardour/session.h" diff --git a/libs/ardour/onset_detector.cc b/libs/ardour/onset_detector.cc index 4f2151a03d..28f3a75211 100644 --- a/libs/ardour/onset_detector.cc +++ b/libs/ardour/onset_detector.cc @@ -1,3 +1,4 @@ +#include #include "ardour/onset_detector.h" #include "i18n.h" diff --git a/libs/ardour/transient_detector.cc b/libs/ardour/transient_detector.cc index 27abf9a0b3..4949ac1e0e 100644 --- a/libs/ardour/transient_detector.cc +++ b/libs/ardour/transient_detector.cc @@ -1,3 +1,4 @@ +#include #include "ardour/transient_detector.h" #include "i18n.h" -- cgit v1.2.3