summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-03-12 22:00:09 +0100
committerRobin Gareus <robin@gareus.org>2013-03-13 20:28:15 +0100
commit0c3e840700a915fc1476cef73c591048f688f81e (patch)
tree3241845f899cfed86217db2f6f589740b2b9c04a /libs/ardour
parentd91565093965b3405774acd878b3baf38839f4e4 (diff)
videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/directory_names.h3
-rw-r--r--libs/ardour/ardour/rc_configuration_vars.h8
-rw-r--r--libs/ardour/ardour/region.h12
-rw-r--r--libs/ardour/ardour/session_configuration_vars.h4
-rw-r--r--libs/ardour/ardour/session_directory.h8
-rw-r--r--libs/ardour/directory_names.cc3
-rw-r--r--libs/ardour/region.cc48
-rw-r--r--libs/ardour/session_directory.cc8
8 files changed, 91 insertions, 3 deletions
diff --git a/libs/ardour/ardour/directory_names.h b/libs/ardour/ardour/directory_names.h
index e91ece266a..1f9c48eba3 100644
--- a/libs/ardour/ardour/directory_names.h
+++ b/libs/ardour/ardour/directory_names.h
@@ -27,6 +27,9 @@ extern const char* const old_sound_dir_name;
extern const char* const sound_dir_name;
extern const char* const midi_dir_name;
extern const char* const midi_patch_dir_name;
+#ifdef WITH_VIDEOTIMELINE
+extern const char* const video_dir_name;
+#endif
extern const char* const dead_dir_name;
extern const char* const interchange_dir_name;
extern const char* const peak_dir_name;
diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h
index 711e6fb1af..2dc13a3660 100644
--- a/libs/ardour/ardour/rc_configuration_vars.h
+++ b/libs/ardour/ardour/rc_configuration_vars.h
@@ -214,3 +214,11 @@ CONFIG_VARIABLE (std::string, linux_pingback_url, "linux-pingback-url", "http://
CONFIG_VARIABLE (std::string, tutorial_manual_url, "tutorial-manual-url", "http://ardour.org/flossmanual")
CONFIG_VARIABLE (std::string, reference_manual_url, "reference-manual-url", "http://manual.ardour.org/")
CONFIG_VARIABLE (std::string, updates_url, "updates-url", "http://ardour.org/whatsnew.html")
+
+#ifdef WITH_VIDEOTIMELINE
+CONFIG_VARIABLE (std::string, video_server_url, "video-server-url", "http://localhost:1554")
+CONFIG_VARIABLE (std::string, video_server_docroot, "video-server-docroot", "/")
+CONFIG_VARIABLE (bool, video_monitor_setup_dialog, "video-monitor-setup-dialog", false)
+CONFIG_VARIABLE (bool, show_video_export_info, "show-video-export-info", true)
+CONFIG_VARIABLE (bool, show_video_server_dialog, "show-video-server-dialog", true)
+#endif
diff --git a/libs/ardour/ardour/region.h b/libs/ardour/ardour/region.h
index bc8e7383f2..eaa23cc8f6 100644
--- a/libs/ardour/ardour/region.h
+++ b/libs/ardour/ardour/region.h
@@ -45,6 +45,9 @@ namespace Properties {
extern PBD::PropertyDescriptor<bool> muted;
extern PBD::PropertyDescriptor<bool> opaque;
extern PBD::PropertyDescriptor<bool> locked;
+#ifdef WITH_VIDEOTIMELINE
+ extern PBD::PropertyDescriptor<bool> video_locked;
+#endif
extern PBD::PropertyDescriptor<bool> automatic;
extern PBD::PropertyDescriptor<bool> whole_file;
extern PBD::PropertyDescriptor<bool> import;
@@ -163,6 +166,9 @@ class Region
bool opaque () const { return _opaque; }
bool locked () const { return _locked; }
bool position_locked () const { return _position_locked; }
+#ifdef WITH_VIDEOTIMELINE
+ bool video_locked () const { return _video_locked; }
+#endif
bool valid_transients () const { return _valid_transients; }
bool automatic () const { return _automatic; }
bool whole_file () const { return _whole_file; }
@@ -240,6 +246,9 @@ class Region
void set_automatic (bool yn);
void set_opaque (bool yn);
void set_locked (bool yn);
+#ifdef WITH_VIDEOTIMELINE
+ void set_video_locked (bool yn);
+#endif
void set_position_locked (bool yn);
int apply (Filter &, Progress* progress = 0);
@@ -392,6 +401,9 @@ class Region
PBD::Property<bool> _muted;
PBD::Property<bool> _opaque;
PBD::Property<bool> _locked;
+#ifdef WITH_VIDEOTIMELINE
+ PBD::Property<bool> _video_locked;
+#endif
PBD::Property<bool> _automatic;
PBD::Property<bool> _whole_file;
PBD::Property<bool> _import;
diff --git a/libs/ardour/ardour/session_configuration_vars.h b/libs/ardour/ardour/session_configuration_vars.h
index 3e2d21d107..1f8b2356d1 100644
--- a/libs/ardour/ardour/session_configuration_vars.h
+++ b/libs/ardour/ardour/session_configuration_vars.h
@@ -55,3 +55,7 @@ CONFIG_VARIABLE (std::string, timecode_generator_offset, "timecode-generator-off
CONFIG_VARIABLE (bool, glue_new_markers_to_bars_and_beats, "glue-new-markers-to-bars-and-beats", false)
CONFIG_VARIABLE (bool, midi_copy_is_fork, "midi-copy-is-fork", false)
CONFIG_VARIABLE (bool, glue_new_regions_to_bars_and_beats, "glue-new-regions-to-bars-and-beats", false)
+#ifdef WITH_VIDEOTIMELINE
+CONFIG_VARIABLE (bool, use_video_file_fps, "use-video-file-fps", false)
+CONFIG_VARIABLE (bool, videotimeline_pullup, "videotimeline-pullup", true)
+#endif
diff --git a/libs/ardour/ardour/session_directory.h b/libs/ardour/ardour/session_directory.h
index 9f4410ce69..72bc731a01 100644
--- a/libs/ardour/ardour/session_directory.h
+++ b/libs/ardour/ardour/session_directory.h
@@ -85,6 +85,14 @@ public:
*/
const std::string peak_path () const;
+#ifdef WITH_VIDEOTIMELINE
+ /**
+ * @return The absolute path to the directory in which all
+ * video files are stored for a session.
+ */
+ const std::string video_path () const;
+#endif
+
/**
* @return The absolute path to the directory that source
* files are moved to when they are no longer part of the
diff --git a/libs/ardour/directory_names.cc b/libs/ardour/directory_names.cc
index 5ba01d83a4..b500fdc193 100644
--- a/libs/ardour/directory_names.cc
+++ b/libs/ardour/directory_names.cc
@@ -27,6 +27,9 @@ const char* const old_sound_dir_name = X_("sounds");
const char* const sound_dir_name = X_("audiofiles");
const char* const midi_dir_name = X_("midifiles");
const char* const midi_patch_dir_name = X_("patchfiles");
+#ifdef WITH_VIDEOTIMELINE
+const char* const video_dir_name = X_("videofiles");
+#endif
const char* const peak_dir_name = X_("peaks");
const char* const dead_dir_name = X_("dead");
const char* const interchange_dir_name = X_("interchange");
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)
{
diff --git a/libs/ardour/session_directory.cc b/libs/ardour/session_directory.cc
index 7ff9c6f5a7..61b313f6b3 100644
--- a/libs/ardour/session_directory.cc
+++ b/libs/ardour/session_directory.cc
@@ -145,6 +145,14 @@ SessionDirectory::midi_patch_path () const
return Glib::build_filename (sources_root(), midi_patch_dir_name);
}
+#ifdef WITH_VIDEOTIMELINE
+const std::string
+SessionDirectory::video_path () const
+{
+ return Glib::build_filename (sources_root(), video_dir_name);
+}
+#endif
+
const std::string
SessionDirectory::peak_path () const
{