summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/video_monitor.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/gtk2_ardour/video_monitor.cc b/gtk2_ardour/video_monitor.cc
index 2cefb7946c..17ce02e0b1 100644
--- a/gtk2_ardour/video_monitor.cc
+++ b/gtk2_ardour/video_monitor.cc
@@ -200,7 +200,9 @@ void
VideoMonitor::send_cmd (int what, int param)
{
bool osd_update = false;
+ int prev_osdmode = osdmode;
if (!is_started()) return;
+ printf("VideoMonitor::send_cmd %d %d\n", what, param); fflush(stdout);
switch (what) {
case 1:
if (param) process->write_to_stdin("window ontop on\n");
@@ -209,17 +211,17 @@ VideoMonitor::send_cmd (int what, int param)
case 2:
if (param) osdmode |= 2;
else osdmode &= ~2;
- osd_update = true;
+ osd_update = (prev_osdmode != osdmode);
break;
case 3:
if (param) osdmode |= 1;
else osdmode &= ~1;
- osd_update = true;
+ osd_update = (prev_osdmode != osdmode);
break;
case 4:
if (param) osdmode |= 8;
else osdmode &= ~8;
- osd_update = true;
+ osd_update = (prev_osdmode != osdmode);
break;
case 5:
if (param) process->write_to_stdin("window zoom on\n");
@@ -235,7 +237,7 @@ VideoMonitor::send_cmd (int what, int param)
default:
break;
}
- if (osd_update >= 0) {
+ if (osd_update) {
std::ostringstream osstream; osstream << "osd mode " << osdmode << "\n";
process->write_to_stdin(osstream.str());
}