diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-06-07 12:00:23 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-06-07 12:00:23 -0400 |
commit | 79cb2875fef3771623f01ecf1e3c0c494f683855 (patch) | |
tree | 55b237dcb1799a7624157a041671788f9c6e4a13 /gtk2_ardour | |
parent | 323f39d8b6d093741b612244935684bfc53a0360 (diff) | |
parent | 92161b57ad8eb65c5f3e265388c353d36ce20c8d (diff) |
Merge branch 'master' of git.ardour.org:ardour/ardour
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/system_exec.cc | 11 | ||||
-rw-r--r-- | gtk2_ardour/video_timeline.cc | 57 |
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; } |