private void OnMessage(string ID, BaseMessage payload) { switch (payload) { case AbsoluteZoomRES zM: System.Diagnostics.Debug.WriteLine($"Encoder: {zM.EncoderValue}"); var zoomValue = GetZoomFromEncoder(zM.EncoderValue); if (zoomValue >= 0) { CameraParameterChangedEvent?.Invoke(ID, ViscaParameters.AbsoluteZoom, zoomValue); } break; case AddressRES zAdr: System.Diagnostics.Debug.WriteLine($"Address: {zAdr.Address}"); CameraParameterChangedEvent?.Invoke(ID, ViscaParameters.Address, (double)zAdr.Address); CameraConnectedEvent?.Invoke(ID, true); break; case CompletedRES completedRES: // Send zoom inquiry System.Diagnostics.Debug.WriteLine("Completed zoom. Sending inquiry"); SendMessage(AbsoluteZoomInquiryCMD.RentFromPool()); break; } payload.Dispose(); }
private void OnConnection(string ID, ConnUri uri, bool connected) { // Send addres msg if (connected) { var cmd = AddressCMD.RentFromPool(); SendMessage(cmd); } else { CameraConnectedEvent?.Invoke(ID, false); } }