using namespace std;
using namespace PBD;
+using namespace ARDOUR_UI_UTILS;
VideoMonitor::VideoMonitor (PublicEditor *ed, std::string xjadeo_bin_path)
: editor (ed)
{
manually_seeked_frame = 0;
fps =0.0; // = _session->timecode_frames_per_second();
- sync_by_manual_seek = false;
+ sync_by_manual_seek = true;
_restore_settings_mask = 0;
clock_connection = sigc::connection();
state_connection = sigc::connection();
starting = 0;
osdmode = 10; // 1: frameno, 2: timecode, 8: box
- process = new SystemExec(xjadeo_bin_path, X_("-R"));
+ process = new ARDOUR::SystemExec(xjadeo_bin_path, X_("-R -J"));
process->ReadStdout.connect_same_thread (*this, boost::bind (&VideoMonitor::parse_output, this, _1 ,_2));
process->Terminated.connect (*this, invalidator (*this), boost::bind (&VideoMonitor::terminated, this), gui_context());
XJKeyEvent.connect (*this, invalidator (*this), boost::bind (&VideoMonitor::forward_keyevent, this, _1), gui_context());
process->write_to_stdin("get osdcfg\n");
int timeout = 40;
if (wait && knownstate !=127 && --timeout) {
- usleep(50000);
+ Glib::usleep(50000);
sched_yield();
}
}
*/
int timeout = 40;
while (is_started() && --timeout) {
- usleep(50000);
+ Glib::usleep(50000);
sched_yield();
}
if (timeout <= 0) {
if (!is_started()) return;
manually_seeked_frame = 0;
osdmode = 10; // 1: frameno, 2: timecode, 8: box
- sync_by_manual_seek = false;
starting = 15;
process->write_to_stdin("load " + filename + "\n");
process->write_to_stdin("set fps -1\n");
process->write_to_stdin("window ontop on\n");
process->write_to_stdin("set seekmode 1\n");
/* override bitwise flags -- see xjadeo.h
- * 0x01 : ignore 'q', ESC / quite
- * 0x02 : ignore "window closed by WM" / quit
- * 0x04 : (osx only) menu-exit / quit
- * 0x08 : ignore mouse-button 1 -- resize
- * 0x10 : no A/V offset
- * 0x20 : don't use jack-session
- * 0x40 : no jack-transport control play/pause/rewind
+ * 0x0001 : ignore 'q', ESC / quit
+ * 0x0002 : ignore "window closed by WM" / quit
+ * 0x0004 : (osx only) menu-exit / quit
+ * 0x0008 : ignore mouse-button 1 -- resize
+ * 0x0010 : no A/V offset control with keyboard
+ * 0x0020 : don't use jack-session
+ * 0x0040 : disable jack transport control
+ * 0x0080 : disallow sync source change (OSX menu)
+ * 0x0100 : disallow file open (OSX menu, X11 DnD)
*/
- process->write_to_stdin("set override 120\n");
+ process->write_to_stdin("set override 504\n");
process->write_to_stdin("notify keyboard\n");
process->write_to_stdin("notify settings\n");
process->write_to_stdin("window letterbox on\n");
/* TODO once every two second or so -- state_clk_divide hack below */
state_connection = ARDOUR_UI::RapidScreenUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::querystate));
}
+ sync_by_manual_seek = true;
+ clock_connection = ARDOUR_UI::SuperRapidScreenUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::srsupdate));
xjadeo_sync_setup();
}
bool my_manual_seek = true;
if (_session->config.get_external_sync()) {
- if (ARDOUR::Config->get_sync_source() == ARDOUR::JACK)
+ if (ARDOUR::Config->get_sync_source() == ARDOUR::Engine)
my_manual_seek = false;
}