/*
* This file is part of the libCEC(R) library.
*
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
* libCEC(R) is an original work, containing original code.
*
* libCEC(R) is a trademark of Pulse-Eight Limited.
_controller.CheckActiveDevices();
break;
case UpdateEventType.ProcessCompleted:
- if (!(_activeProcess is GetCurrentPhysicalAddress))
+ if (!(_activeProcess is GetCurrentPhysicalAddress) && !SuppressUpdates)
{
_activeProcess = new GetCurrentPhysicalAddress(_controller.Lib);
_activeProcess.EventHandler += ProcessEventHandler;
break;
case UpdateEventType.ExitApplication:
+ SuppressUpdates = true;
_activeProcess = null;
Application.Exit();
break;
/// Activate the source at the given logical address.
/// </summary>
/// <param name="address">The logical address of the device to activate</param>
- public void ActivateSource(CecLogicalAddress address)
+ public void SetStreamPath(CecLogicalAddress address)
{
if (SuppressUpdates || _activeProcess != null) return;
(new Thread(_activeProcess.Run)).Start();
}
+ public void ActivateSource()
+ {
+ if (SuppressUpdates || _activeProcess != null) return;
+
+ _controller.SetControlsEnabled(false);
+ _activeProcess = new ActivateSource(_controller.Lib);
+ _activeProcess.EventHandler += ProcessEventHandler;
+ (new Thread(_activeProcess.Run)).Start();
+ }
+
/// <summary>
/// Send a standby command to the device at the given logical address
/// </summary>