summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-06-07 12:00:23 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-06-07 12:00:23 -0400
commit79cb2875fef3771623f01ecf1e3c0c494f683855 (patch)
tree55b237dcb1799a7624157a041671788f9c6e4a13 /gtk2_ardour
parent323f39d8b6d093741b612244935684bfc53a0360 (diff)
parent92161b57ad8eb65c5f3e265388c353d36ce20c8d (diff)
Merge branch 'master' of git.ardour.org:ardour/ardour
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/system_exec.cc11
-rw-r--r--gtk2_ardour/video_timeline.cc57
2 files changed, 34 insertions, 34 deletions
diff --git a/gtk2_ardour/system_exec.cc b/gtk2_ardour/system_exec.cc
index 29e8cb913e..ca059dada5 100644
--- a/gtk2_ardour/system_exec.cc
+++ b/gtk2_ardour/system_exec.cc
@@ -445,10 +445,13 @@ SystemExec::wait (int options)
int status=0;
if (pid==0) return -1;
if (pid==::waitpid(pid, &status, options)) {
- pid=0;
- }
- if (errno == ECHILD) {
- pid=0;
+ if (WEXITSTATUS(status) || WIFSIGNALED(status)) {
+ pid=0;
+ }
+ } else {
+ if (errno == ECHILD) {
+ pid=0;
+ }
}
return status;
}
diff --git a/gtk2_ardour/video_timeline.cc b/gtk2_ardour/video_timeline.cc
index d8913f27aa..d8e129a2de 100644
--- a/gtk2_ardour/video_timeline.cc
+++ b/gtk2_ardour/video_timeline.cc
@@ -150,44 +150,41 @@ VideoTimeLine::set_session (ARDOUR::Session *s)
return;
}
- if (node) {
- ARDOUR_UI::instance()->start_video_server((Gtk::Window*)0, false);
+ ARDOUR_UI::instance()->start_video_server((Gtk::Window*)0, false);
- set_id(*node);
+ set_id(*node);
- const XMLProperty* proph = node->property (X_("Height"));
- if (proph) {
- editor->set_video_timeline_height(atoi(proph->value().c_str()));
- }
+ const XMLProperty* proph = node->property (X_("Height"));
+ if (proph) {
+ editor->set_video_timeline_height(atoi(proph->value().c_str()));
+ }
#if 0 /* TODO THINK: set FPS first time only ?! */
- const XMLProperty* propasfps = node->property (X_("AutoFPS"));
- if (propasfps) {
- auto_set_session_fps = atoi(propasfps->value().c_str())?true:false;
- }
+ const XMLProperty* propasfps = node->property (X_("AutoFPS"));
+ if (propasfps) {
+ auto_set_session_fps = atoi(propasfps->value().c_str())?true:false;
+ }
#endif
- const XMLProperty* propoffset = node->property (X_("VideoOffset"));
- if (propoffset) {
- video_offset = atoll(propoffset->value().c_str());
- video_offset_p = video_offset;
- }
-
- const XMLProperty* proplock = node->property (X_("VideoOffsetLock"));
- if (proplock) {
- video_offset_lock = atoi(proplock->value().c_str())?true:false;
- }
+ const XMLProperty* propoffset = node->property (X_("VideoOffset"));
+ if (propoffset) {
+ video_offset = atoll(propoffset->value().c_str());
+ video_offset_p = video_offset;
+ }
- const XMLProperty* localfile = node->property (X_("LocalFile"));
- if (localfile) {
- local_file = atoi(localfile->value().c_str())?true:false;
- }
+ const XMLProperty* proplock = node->property (X_("VideoOffsetLock"));
+ if (proplock) {
+ video_offset_lock = atoi(proplock->value().c_str())?true:false;
+ }
- const XMLProperty* propf = node->property (X_("Filename"));
- video_file_info(propf->value(), local_file);
+ const XMLProperty* localfile = node->property (X_("LocalFile"));
+ if (localfile) {
+ local_file = atoi(localfile->value().c_str())?true:false;
}
- node = _session->extra_xml (X_("Videomonitor"));
- if (node) {
+ const XMLProperty* propf = node->property (X_("Filename"));
+ video_file_info(propf->value(), local_file);
+
+ if ((node = _session->extra_xml (X_("Videomonitor")))) {
const XMLProperty* prop = node->property (X_("active"));
if (prop && prop->value() == "yes" && found_xjadeo() && !video_filename.empty() && local_file) {
open_video_monitor();
@@ -507,7 +504,7 @@ VideoTimeLine::video_file_info (std::string filename, bool local)
}
_session->config.set_video_pullup(0); /* TODO only set if set_timecode_format() was successful ?!*/
}
- if (video_file_fps != _session->timecode_frames_per_second()) {
+ if (floor(video_file_fps*100) != floor(_session->timecode_frames_per_second()*100)) {
warning << _("Video file's framerate is not equal to Ardour session timecode's framerate: ")
<< video_file_fps << _(" vs ") << _session->timecode_frames_per_second() << endmsg;
}