/// <summary> /// Some property has changed on the cameraview item (or hotspot or ...) /// Lets check that the camera id is the one we watch for. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void imageViewerAddOn_PropertyChangedEvent(object sender, EventArgs e) { ImageViewerAddOn imageViewerAddOn = sender as ImageViewerAddOn; if (imageViewerAddOn != null) { if (imageViewerAddOn.CameraFQID.ObjectId == _cameraId) { imageViewerAddOn.RegisterTimelineSequenceSource(_timelineSource); } else { imageViewerAddOn.UnregisterTimelineSequenceSource(_timelineSource); } } }
/// <summary> /// A new ImageViewer has been created /// </summary> /// <param name="imageViewerAddOn"></param> void NewImageViewerControlEvent(ImageViewerAddOn imageViewerAddOn) { if (imageViewerAddOn.ImageViewerType == VideoOS.Platform.Client.ImageViewerType.CameraViewItem) { // we just add sources for image viewer addons that has same camera as the first we see, // but in a real scenario it should of course only be done for ones for which we have relevant data if (_cameraId == Guid.Empty || (imageViewerAddOn.CameraFQID != null && imageViewerAddOn.CameraFQID.ObjectId == _cameraId)) { imageViewerAddOn.RegisterTimelineSequenceSource(_timelineSource); RegisterEvents(imageViewerAddOn); if (imageViewerAddOn.CameraFQID != null) { _cameraId = imageViewerAddOn.CameraFQID.ObjectId; } } } }