public RotationDialog(ref CameraController controller, ref ActionSource actionSource) { IObserver iObs = this; InitializeComponent(); frmRotationDialog = this; _controller = controller; _actionSource = actionSource; progressLabel.Text = $"{currentPhoto} / {photosPerRotation}"; _actionSource.FireEvent(ActionEvent.Command.TAKE_PICTURE, IntPtr.Zero); }
public void SetActionSource(ref ActionSource actionSource) { _actionSource = actionSource; }
public RemoteCapture(ref CameraController controller, ref ActionSource actionSource) { InitializeComponent(); _controller = controller; _actionSource = actionSource; CameraEvent e; _observerList.Add((IObserver)aeMode1); _observerList.Add((IObserver)av1); _observerList.Add((IObserver)evfPictureBox1); _observerList.Add((IObserver)tv1); _observerList.Add((IObserver)iso1); _observerList.Add((IObserver)meteringMode1); _observerList.Add((IObserver)exposureComp1); _observerList.Add((IObserver)imageQuality1); _observerList.Add((IObserver)evfAFMode1); _observerList.Add((IObserver)driveMode1); _observerList.Add((IObserver)whiteBalance1); _observerList.Add((IObserver)availableShotLabel1); _observerList.Add((IObserver)batteryLebelLabel1); _observerList.Add((IObserver)zoom1); _observerList.Add((IObserver)afMode1); _observerList.Add((IObserver)flashMode1); _observerList.Add((IObserver)downloadProgressBar1); _observerList.Add((IObserver)tempStatusLabel1); _observerList.Add((IObserver)movieQuality1); System.Threading.Thread.Sleep(1000); _observerList.ForEach(observer => _controller.GetModel().Add(ref observer)); aeMode1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_AEModeSelect); _controller.GetModel().NotifyObservers(e); av1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_Av); _controller.GetModel().NotifyObservers(e); evfPictureBox1.SetActionSource(ref _actionSource); tv1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_Tv); _controller.GetModel().NotifyObservers(e); iso1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_ISOSpeed); _controller.GetModel().NotifyObservers(e); meteringMode1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_MeteringMode); _controller.GetModel().NotifyObservers(e); exposureComp1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_ExposureCompensation); _controller.GetModel().NotifyObservers(e); imageQuality1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_ImageQuality); _controller.GetModel().NotifyObservers(e); evfAFMode1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_Evf_AFMode); _controller.GetModel().NotifyObservers(e); driveMode1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_DriveMode); _controller.GetModel().NotifyObservers(e); whiteBalance1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_WhiteBalance); _controller.GetModel().NotifyObservers(e); e = new CameraEvent(CameraEvent.Type.PROPERTY_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_AFMode); _controller.GetModel().NotifyObservers(e); flashMode1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_DC_Strobe); _controller.GetModel().NotifyObservers(e); movieQuality1.SetActionSource(ref _actionSource); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_MovieParam); _controller.GetModel().NotifyObservers(e); zoom1.SetActionSource(ref _actionSource); label16.Text = zoom1.Value.ToString(); e = new CameraEvent(CameraEvent.Type.PROPERTY_DESC_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_DC_Zoom); _controller.GetModel().NotifyObservers(e); actionButton1.SetActionSource(ref _actionSource); actionButton1.Command = ActionEvent.Command.TAKE_PICTURE; actionButton3.SetActionSource(ref _actionSource); actionButton3.Command = ActionEvent.Command.PRESS_COMPLETELY; actionButton2.SetActionSource(ref _actionSource); actionButton2.Command = ActionEvent.Command.PRESS_HALFWAY; actionButton4.SetActionSource(ref _actionSource); actionButton4.Command = ActionEvent.Command.PRESS_OFF; actionButton5.SetActionSource(ref _actionSource); actionButton5.Command = ActionEvent.Command.START_EVF; actionButton6.SetActionSource(ref _actionSource); actionButton6.Command = ActionEvent.Command.END_EVF; actionButton10.SetActionSource(ref _actionSource); actionButton10.Command = ActionEvent.Command.FOCUS_NEAR3; actionButton11.SetActionSource(ref _actionSource); actionButton11.Command = ActionEvent.Command.FOCUS_NEAR2; actionButton12.SetActionSource(ref _actionSource); actionButton12.Command = ActionEvent.Command.FOCUS_NEAR1; actionButton13.SetActionSource(ref _actionSource); actionButton13.Command = ActionEvent.Command.FOCUS_FAR1; actionButton14.SetActionSource(ref _actionSource); actionButton14.Command = ActionEvent.Command.FOCUS_FAR2; actionButton15.SetActionSource(ref _actionSource); actionButton15.Command = ActionEvent.Command.FOCUS_FAR3; actionButton7.SetActionSource(ref _actionSource); actionButton7.Command = ActionEvent.Command.EVF_AF_ON; actionButton8.SetActionSource(ref _actionSource); actionButton8.Command = ActionEvent.Command.EVF_AF_OFF; actionButton9.SetActionSource(ref _actionSource); actionButton9.Command = ActionEvent.Command.ZOOM_FIT; actionButton16.SetActionSource(ref _actionSource); actionButton16.Command = ActionEvent.Command.ZOOM_ZOOM; actionButton17.SetActionSource(ref _actionSource); actionButton17.Command = ActionEvent.Command.POSITION_UP; actionButton18.SetActionSource(ref _actionSource); actionButton18.Command = ActionEvent.Command.POSITION_LEFT; actionButton19.SetActionSource(ref _actionSource); actionButton19.Command = ActionEvent.Command.POSITION_RIGHT; actionButton20.SetActionSource(ref _actionSource); actionButton20.Command = ActionEvent.Command.POSITION_DOWN; actionButton21.SetActionSource(ref _actionSource); actionButton21.Command = ActionEvent.Command.REC_START; actionButton22.SetActionSource(ref _actionSource); actionButton22.Command = ActionEvent.Command.REC_END; actionButton23.SetActionSource(ref _actionSource); actionButton23.Command = ActionEvent.Command.ROLLPITCH; actionButton23.Text = "Roll Pitch On"; actionButton24.SetActionSource(ref _actionSource); actionButton24.Command = ActionEvent.Command.CLICK_WB; actionRadioButton1.SetActionSource(ref _actionSource); actionRadioButton1.Command = ActionEvent.Command.PRESS_STILL; actionRadioButton2.SetActionSource(ref _actionSource); actionRadioButton2.Command = ActionEvent.Command.PRESS_MOVIE; // movieMode 0 : Disable , 1 : Enable uint movieMode; // Get movie mode. uint err = EDSDKLib.EDSDK.EdsGetPropertyData(_controller.GetModel().Camera, EDSDKLib.EDSDK.PropID_FixedMovie, 0, out movieMode); updateFixedMovie(movieMode); actionRadioButton3.SetActionSource(ref _actionSource); actionRadioButton3.Command = ActionEvent.Command.MIRRORUP_ON; actionRadioButton4.SetActionSource(ref _actionSource); actionRadioButton4.Command = ActionEvent.Command.MIRRORUP_OFF; // mirrorUpStatus 0 : Disable , 1 : Enable , 2 : During shooting uint mirrorLockUpState; // Get Mirror Lockup Status. err = EDSDKLib.EDSDK.EdsGetPropertyData(_controller.GetModel().Camera, EDSDKLib.EDSDK.PropID_MirrorLockUpState, 0, out mirrorLockUpState); // Mirror Up Settings Enabled if (mirrorLockUpState == (uint)EDSDKLib.EDSDK.EdsMirrorLockupState.Enable) { actionRadioButton3.Checked = true; } else { actionRadioButton4.Checked = true; } controlFocusButton((int)EDSDKLib.EDSDK.EdsEvfAFMode.Evf_AFMode_LiveFace != _controller.GetModel().EvfAFMode); // invalidate it in the DC label26.Enabled = _controller.GetModel().isTypeDS; actionButton9.Enabled = _controller.GetModel().isTypeDS; actionButton16.Enabled = _controller.GetModel().isTypeDS; label19.Enabled = _controller.GetModel().isTypeDS; // Processing inside updateFixedMovie //actionButton10.Enabled = _controller.GetModel().isTypeDS; //actionButton11.Enabled = _controller.GetModel().isTypeDS; //actionButton12.Enabled = _controller.GetModel().isTypeDS; //actionButton13.Enabled = _controller.GetModel().isTypeDS; //actionButton14.Enabled = _controller.GetModel().isTypeDS; //actionButton15.Enabled = _controller.GetModel().isTypeDS; // invalidate it in the DS label18.Enabled = !_controller.GetModel().isTypeDS; flashMode1.Enabled = !_controller.GetModel().isTypeDS; label15.Enabled = !_controller.GetModel().isTypeDS; zoom1.Enabled = false; // At the time of start, ZoomBar is off label16.Enabled = !_controller.GetModel().isTypeDS; e = new CameraEvent(CameraEvent.Type.PROPERTY_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_Evf_AFMode); _controller.GetModel().NotifyObservers(e); e = new CameraEvent(CameraEvent.Type.PROPERTY_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_AvailableShots); _controller.GetModel().NotifyObservers(e); e = new CameraEvent(CameraEvent.Type.PROPERTY_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_BatteryLevel); _controller.GetModel().NotifyObservers(e); e = new CameraEvent(CameraEvent.Type.PROPERTY_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_TempStatus); _controller.GetModel().NotifyObservers(e); e = new CameraEvent(CameraEvent.Type.PROPERTY_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_FixedMovie); _controller.GetModel().NotifyObservers(e); e = new CameraEvent(CameraEvent.Type.PROPERTY_CHANGED, (IntPtr)EDSDKLib.EDSDK.PropID_MirrorUpSetting); _controller.GetModel().NotifyObservers(e); if (!_controller.GetModel().isTypeDS) { _actionSource.FireEvent(ActionEvent.Command.REMOTESHOOTING_START, IntPtr.Zero); } updateAngleInfoLabel("-", "-", "-"); }