From b1d7eabf541eb157268e0165ef27160423073f4d Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Sat, 10 Feb 2018 18:07:05 -0600 Subject: [PATCH] iCon device tweaks: faster timecode display refresh rate. Submitted by Michal Barhon. --- .../mackie/mackie_control_protocol.cc | 33 ++++++++++++++++--- mcp/qcon+qex.device | 2 +- mcp/qcon.device | 2 +- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc index 5b2109de34..f4ed70c426 100755 --- a/libs/surfaces/mackie/mackie_control_protocol.cc +++ b/libs/surfaces/mackie/mackie_control_protocol.cc @@ -459,13 +459,25 @@ MackieControlProtocol::set_active (bool yn) /* set up periodic task for timecode display and metering and automation */ - Glib::RefPtr periodic_timeout = Glib::TimeoutSource::create (100); // milliseconds + // set different refresh time for qcon and standard mackie MCU + + int iTimeCodeRefreshTime = 100; // default value for mackie MCU (100ms) + int iStripDisplayRefreshTime = 10; // default value for Mackie MCU (10ms) + + if(_device_info.is_qcon()){ + // set faster timecode display refresh speed (55ms) + iTimeCodeRefreshTime = 55; + // set slower refresh time on qcon than on mackie (15ms) + iStripDisplayRefreshTime = 15; + } + + Glib::RefPtr periodic_timeout = Glib::TimeoutSource::create (iTimeCodeRefreshTime); // milliseconds periodic_connection = periodic_timeout->connect (sigc::mem_fun (*this, &MackieControlProtocol::periodic)); periodic_timeout->attach (main_loop()->get_context()); /* periodic task used to update strip displays */ - Glib::RefPtr redisplay_timeout = Glib::TimeoutSource::create (10); // milliseconds + Glib::RefPtr redisplay_timeout = Glib::TimeoutSource::create (iStripDisplayRefreshTime); // milliseconds redisplay_connection = redisplay_timeout->connect (sigc::mem_fun (*this, &MackieControlProtocol::redisplay)); redisplay_timeout->attach (main_loop()->get_context()); @@ -1382,8 +1394,21 @@ MackieControlProtocol::notify_record_state_changed () ls = on; break; case Session::Enabled: - DEBUG_TRACE (DEBUG::MackieControl, "record state changed to enabled, LED flashing\n"); - ls = flashing; + + if(_device_info.is_qcon()){ + // For qcon the rec button is two state only (on/off) + DEBUG_TRACE (DEBUG::MackieControl, "record state changed to enabled, LED on (QCon)\n"); + ls = on; + break; + + } + else{ + // For standard Mackie MCU the record LED is flashing + DEBUG_TRACE (DEBUG::MackieControl, "record state changed to enabled, LED flashing\n"); + ls = flashing; + break; + } + break; } diff --git a/mcp/qcon+qex.device b/mcp/qcon+qex.device index 62b5146c2e..67f02196c6 100755 --- a/mcp/qcon+qex.device +++ b/mcp/qcon+qex.device @@ -1,5 +1,5 @@ - + diff --git a/mcp/qcon.device b/mcp/qcon.device index fc8ef4458b..c5a8034551 100755 --- a/mcp/qcon.device +++ b/mcp/qcon.device @@ -1,5 +1,5 @@ - + -- 2.30.2