X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Flocation.h;h=d31e9dccceb11b8528e87a315492be4ed584dcb5;hb=e973e39f06c81fc301c8b059c5240cc17c6671ad;hp=6b1f89dab38009abbdaf42c95dd7d20317fe257f;hpb=46c83693284ece4a732d26e62113ea4ac584d539;p=ardour.git diff --git a/libs/ardour/ardour/location.h b/libs/ardour/ardour/location.h index 6b1f89dab3..d31e9dccce 100644 --- a/libs/ardour/ardour/location.h +++ b/libs/ardour/ardour/location.h @@ -41,6 +41,7 @@ namespace ARDOUR { class SceneChange; +/** Location on Timeline - abstract representation for Markers, Loop/Punch Ranges, CD-Markers etc. */ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDestructible { public: @@ -61,7 +62,7 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest Location (const Location& other); Location (Session &, const XMLNode&); Location* operator= (const Location& other); - + bool operator==(const Location& other); bool locked() const { return _locked; } @@ -120,18 +121,18 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest static PBD::Signal1 changed; /* these are member signals for objects that care only about - changes to this object + changes to this object */ PBD::Signal0 Changed; - + PBD::Signal0 NameChanged; PBD::Signal0 EndChanged; PBD::Signal0 StartChanged; PBD::Signal0 FlagsChanged; PBD::Signal0 LockChanged; PBD::Signal0 PositionLockStyleChanged; - + /* CD Track / CD-Text info */ std::map cd_info; @@ -146,23 +147,24 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest static PBD::Signal0 scene_changed; /* for use by backend scene change management, class level */ PBD::Signal0 SceneChangeChanged; /* for use by objects interested in this object */ - + private: std::string _name; framepos_t _start; - Timecode::BBT_Time _bbt_start; + double _bbt_start; framepos_t _end; - Timecode::BBT_Time _bbt_end; + double _bbt_end; Flags _flags; bool _locked; PositionLockStyle _position_lock_style; boost::shared_ptr _scene_change; - + void set_mark (bool yn); bool set_flag_internal (bool yn, Flags flag); void recompute_bbt_from_frames (); }; +/** A collection of session locations including unique dedicated locations (loop, punch, etc) */ class LIBARDOUR_API Locations : public SessionHandleRef, public PBD::StatefulDestructible { public: @@ -201,7 +203,7 @@ class LIBARDOUR_API Locations : public SessionHandleRef, public PBD::StatefulDes void marks_either_side (framepos_t const, framepos_t &, framepos_t &) const; void find_all_between (framepos_t start, framepos_t, LocationList&, Location::Flags); - + PBD::Signal1 current_changed; /* Objects that care about individual addition and removal of Locations should connect to added/removed.