X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fvideo_monitor.cc;h=be412f6725d33e18dd691c472209f26daa778e79;hb=5fef65538040fbac1b9edd1847a269aa925a49c9;hp=fe91554158873d3e92608bd41da43cd076c77a7e;hpb=23e7cf10191270d70357ccf0ed9294f020c7b7ab;p=ardour.git diff --git a/gtk2_ardour/video_monitor.cc b/gtk2_ardour/video_monitor.cc index fe91554158..be412f6725 100644 --- a/gtk2_ardour/video_monitor.cc +++ b/gtk2_ardour/video_monitor.cc @@ -128,7 +128,6 @@ VideoMonitor::open (std::string filename) 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"); @@ -136,15 +135,17 @@ VideoMonitor::open (std::string filename) 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"); @@ -160,6 +161,8 @@ VideoMonitor::open (std::string filename) /* 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::FPSUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::srsupdate)); xjadeo_sync_setup(); } @@ -465,7 +468,7 @@ VideoMonitor::get_custom_setting (const std::string k) return (xjadeo_settings[k]); } -#define NO_OFFSET (1<<31) //< skip setting or modifying offset -- TODO check ARDOUR::frameoffset_t max value. +#define NO_OFFSET (ARDOUR::max_framepos) //< skip setting or modifying offset void VideoMonitor::srsupdate () { @@ -567,7 +570,7 @@ VideoMonitor::xjadeo_sync_setup () process->write_to_stdin("jack connect\n"); } else { process->write_to_stdin("jack disconnect\n"); - clock_connection = ARDOUR_UI::SuperRapidScreenUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::srsupdate)); + clock_connection = ARDOUR_UI::FPSUpdate.connect (sigc::mem_fun (*this, &VideoMonitor::srsupdate)); } sync_by_manual_seek = my_manual_seek; }