diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-04-28 19:58:24 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-04-28 19:58:24 -0400 |
commit | 2cf411e4be0b10e6ecf47d2070963299b6a810e7 (patch) | |
tree | c6dfb7e7fcd71d5ee2d4a7c2ba490fb882dde3ca /libs/ardour/ardour/location.h | |
parent | b945cda5582d6565ef2ce4fa8cbafee8fd8e5db0 (diff) |
merge (squash) with scenechange topic branch to provide MIDI-driven scene change markers
Diffstat (limited to 'libs/ardour/ardour/location.h')
-rw-r--r-- | libs/ardour/ardour/location.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/ardour/location.h b/libs/ardour/ardour/location.h index b0956eea36..6cea208f05 100644 --- a/libs/ardour/ardour/location.h +++ b/libs/ardour/ardour/location.h @@ -34,10 +34,13 @@ #include "pbd/statefuldestructible.h" #include "ardour/ardour.h" +#include "ardour/scene_change.h" #include "ardour/session_handle.h" namespace ARDOUR { +class SceneChange; + class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDestructible { public: @@ -93,6 +96,9 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest Flags flags () const { return _flags; } + boost::shared_ptr<SceneChange> scene_change() const { return _scene_change; } + void set_scene_change (boost::shared_ptr<SceneChange>); + PBD::Signal1<void,Location*> name_changed; PBD::Signal1<void,Location*> end_changed; PBD::Signal1<void,Location*> start_changed; @@ -116,6 +122,8 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest void set_position_lock_style (PositionLockStyle ps); void recompute_frames_from_bbt (); + static PBD::Signal0<void> scene_changed; + private: std::string _name; framepos_t _start; @@ -125,6 +133,7 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest Flags _flags; bool _locked; PositionLockStyle _position_lock_style; + boost::shared_ptr<SceneChange> _scene_change; void set_mark (bool yn); bool set_flag_internal (bool yn, Flags flag); @@ -161,6 +170,8 @@ class LIBARDOUR_API Locations : public SessionHandleRef, public PBD::StatefulDes int set_current (Location *, bool want_lock = true); Location *current () const { return current_location; } + Location* mark_at (framepos_t, framecnt_t slop = 0) const; + framepos_t first_mark_before (framepos_t, bool include_special_ranges = false); framepos_t first_mark_after (framepos_t, bool include_special_ranges = false); |