iCon device tweaks: faster timecode display refresh rate. Submitted by Michal Barhon.
authorBen Loftis <ben@harrisonconsoles.com>
Sun, 11 Feb 2018 00:07:05 +0000 (18:07 -0600)
committerBen Loftis <ben@harrisonconsoles.com>
Sun, 11 Feb 2018 04:43:53 +0000 (22:43 -0600)
libs/surfaces/mackie/mackie_control_protocol.cc
mcp/qcon+qex.device
mcp/qcon.device

index 5b2109de34549f5518806cb52639ccf2567e8c14..f4ed70c426d7d0fc865dc2853cc2edb6a9c090d5 100755 (executable)
@@ -459,13 +459,25 @@ MackieControlProtocol::set_active (bool yn)
                /* set up periodic task for timecode display and metering and automation
                 */
 
-               Glib::RefPtr<Glib::TimeoutSource> 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<Glib::TimeoutSource> 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<Glib::TimeoutSource> redisplay_timeout = Glib::TimeoutSource::create (10); // milliseconds
+               Glib::RefPtr<Glib::TimeoutSource> 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;
                        }
 
index 62b5146c2e1a15813094117e9513bef7eb020207..67f02196c6c301de98bbec6398e1129ec4a1abd1 100755 (executable)
@@ -1,5 +1,5 @@
 <MackieProtocolDevice>
-  <Name value="iCON QCon + One QCon Expander on Right"/>
+  <Name value="iCON QCon Pro and QCon Expander on Right"/>
   <Strips value="8"/>
   <Extenders value="1"/>
   <MasterPosition value="1"/>
index fc8ef4458b7476d15f83fc515ebb5e9012953c47..c5a80345513720e7d977acdebd52f214500d7a38 100755 (executable)
@@ -1,5 +1,5 @@
 <MackieProtocolDevice>
-  <Name value="iCON Qcon"/>
+  <Name value="iCON QCon Pro"/>
   <Strips value="8"/>
   <Extenders value="0"/>
   <MasterPosition value="0"/>