X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Flocation.h;h=24ee5639153357bf11a40af07d1299b1f0229a4f;hb=a4a87f56e9dc8e2351101439aeea7a87064fa146;hp=530f757c65fa38be1a58f9412148c0961800480e;hpb=04c56a0618f668fac288fb2070fcf200a83aebc6;p=ardour.git diff --git a/libs/ardour/ardour/location.h b/libs/ardour/ardour/location.h index 530f757c65..24ee563915 100644 --- a/libs/ardour/ardour/location.h +++ b/libs/ardour/ardour/location.h @@ -58,7 +58,7 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest }; Location (Session &); - Location (Session &, framepos_t, framepos_t, const std::string &, Flags bits = Flags(0)); + Location (Session &, framepos_t, framepos_t, const std::string &, Flags bits = Flags(0), const uint32_t sub_num = 0); Location (const Location& other); Location (Session &, const XMLNode&); Location* operator= (const Location& other); @@ -73,11 +73,11 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest framepos_t end() const { return _end; } framecnt_t length() const { return _end - _start; } - int set_start (framepos_t s, bool force = false, bool allow_bbt_recompute = true); - int set_end (framepos_t e, bool force = false, bool allow_bbt_recompute = true); - int set (framepos_t start, framepos_t end, bool allow_bbt_recompute = true); + int set_start (framepos_t s, bool force = false, bool allow_beat_recompute = true, const uint32_t sub_num = 0); + int set_end (framepos_t e, bool force = false, bool allow_beat_recompute = true, const uint32_t sub_num = 0); + int set (framepos_t start, framepos_t end, bool allow_beat_recompute = true, const uint32_t sub_num = 0); - int move_to (framepos_t pos); + int move_to (framepos_t pos, const uint32_t sub_num); const std::string& name() const { return _name; } void set_name (const std::string &str); @@ -143,7 +143,7 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest PositionLockStyle position_lock_style() const { return _position_lock_style; } void set_position_lock_style (PositionLockStyle ps); - void recompute_frames_from_bbt (); + void recompute_frames_from_beat (); 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 */ @@ -151,9 +151,9 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest private: std::string _name; framepos_t _start; - Timecode::BBT_Time _bbt_start; + double _start_beat; framepos_t _end; - Timecode::BBT_Time _bbt_end; + double _end_beat; Flags _flags; bool _locked; PositionLockStyle _position_lock_style; @@ -161,7 +161,7 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest void set_mark (bool yn); bool set_flag_internal (bool yn, Flags flag); - void recompute_bbt_from_frames (); + void recompute_beat_from_frames (const uint32_t sub_num); }; /** A collection of session locations including unique dedicated locations (loop, punch, etc) */ @@ -173,7 +173,8 @@ class LIBARDOUR_API Locations : public SessionHandleRef, public PBD::StatefulDes Locations (Session &); ~Locations (); - const LocationList& list() { return locations; } + const LocationList& list () const { return locations; } + LocationList list () { return locations; } void add (Location *, bool make_current = false); void remove (Location *);