diff options
author | Robin Gareus <robin@gareus.org> | 2013-03-12 22:00:09 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-03-13 20:28:15 +0100 |
commit | 0c3e840700a915fc1476cef73c591048f688f81e (patch) | |
tree | 3241845f899cfed86217db2f6f589740b2b9c04a /libs/ardour/region.cc | |
parent | d91565093965b3405774acd878b3baf38839f4e4 (diff) |
videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
Diffstat (limited to 'libs/ardour/region.cc')
-rw-r--r-- | libs/ardour/region.cc | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index 4ccd3c77b0..cc57e774c8 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -49,6 +49,9 @@ namespace ARDOUR { PBD::PropertyDescriptor<bool> muted; PBD::PropertyDescriptor<bool> opaque; PBD::PropertyDescriptor<bool> locked; +#ifdef WITH_VIDEOTIMELINE + PBD::PropertyDescriptor<bool> video_locked; +#endif PBD::PropertyDescriptor<bool> automatic; PBD::PropertyDescriptor<bool> whole_file; PBD::PropertyDescriptor<bool> import; @@ -84,6 +87,10 @@ Region::make_property_quarks () DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for opaque = %1\n", Properties::opaque.property_id)); Properties::locked.property_id = g_quark_from_static_string (X_("locked")); DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for locked = %1\n", Properties::locked.property_id)); +#ifdef WITH_VIDEOTIMELINE + Properties::video_locked.property_id = g_quark_from_static_string (X_("video-locked")); + DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for video-locked = %1\n", Properties::video_locked.property_id)); +#endif Properties::automatic.property_id = g_quark_from_static_string (X_("automatic")); DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for automatic = %1\n", Properties::automatic.property_id)); Properties::whole_file.property_id = g_quark_from_static_string (X_("whole-file")); @@ -136,6 +143,9 @@ Region::register_properties () add_property (_muted); add_property (_opaque); add_property (_locked); +#ifdef WITH_VIDEOTIMELINE + add_property (_video_locked); +#endif add_property (_automatic); add_property (_whole_file); add_property (_import); @@ -157,6 +167,13 @@ Region::register_properties () add_property (_position_lock_style); add_property (_layering_index); } +#ifdef WITH_VIDEOTIMELINE +#define VTLSTATE , _video_locked (Properties::video_locked, false) +#define VTLCSTATE , _video_locked (Properties::video_locked, other->_video_locked) +#else +#define VTLSTATE +#define VTLCSTATE +#endif #define REGION_DEFAULT_STATE(s,l) \ _sync_marked (Properties::sync_marked, false) \ @@ -170,6 +187,7 @@ Region::register_properties () , _muted (Properties::muted, false) \ , _opaque (Properties::opaque, true) \ , _locked (Properties::locked, false) \ + VTLSTATE \ , _automatic (Properties::automatic, false) \ , _whole_file (Properties::whole_file, false) \ , _import (Properties::import, false) \ @@ -195,6 +213,7 @@ Region::register_properties () , _muted (Properties::muted, other->_muted) \ , _opaque (Properties::opaque, other->_opaque) \ , _locked (Properties::locked, other->_locked) \ + VTLCSTATE \ , _automatic (Properties::automatic, other->_automatic) \ , _whole_file (Properties::whole_file, other->_whole_file) \ , _import (Properties::import, other->_import) \ @@ -627,7 +646,11 @@ Region::recompute_position_from_lock_style () void Region::nudge_position (frameoffset_t n) { - if (locked()) { + if (locked() +#ifdef WITH_VIDEOTIMELINE + || video_locked() +#endif + ) { return; } @@ -668,7 +691,11 @@ Region::set_ancestral_data (framepos_t s, framecnt_t l, float st, float sh) void Region::set_start (framepos_t pos) { - if (locked() || position_locked()) { + if (locked() || position_locked() +#ifdef WITH_VIDEOTIMELINE + || video_locked() +#endif + ) { return; } /* This just sets the start, nothing else. It effectively shifts @@ -694,7 +721,11 @@ Region::set_start (framepos_t pos) void Region::trim_start (framepos_t new_position) { - if (locked() || position_locked()) { + if (locked() || position_locked() +#ifdef WITH_VIDEOTIMELINE + || video_locked() +#endif + ) { return; } @@ -979,6 +1010,17 @@ Region::set_locked (bool yn) } } +#ifdef WITH_VIDEOTIMELINE +void +Region::set_video_locked (bool yn) +{ + if (video_locked() != yn) { + _video_locked = yn; + send_change (Properties::video_locked); + } +} +#endif + void Region::set_position_locked (bool yn) { |