private void RecordButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_RecordButtonActionPerformed
	if (Parent.Camera.GetIP().length > 1) {
	    // Multiple Cameras
	    CamogmState check = Parent.Camera.GetCamogmState();
	    if (check == CamogmState.STOPPED) {
		float RecordDelay = Parent.Camera.GetMultiCameraRecordingStartDelay();
		double CurrentTime = Parent.Camera.GetCameraTime(0); // Get it
								     // from
								     // Master
								     // camera
								     // (Index
								     // 0)
		// String CurTime = String.format("%3f", (CurrentTime / 10000));
		// Parent.WriteLogtoConsole("Current time = " + CurTime);
		final String StartTime = String.format("%3f", (CurrentTime + (RecordDelay * 10000)) / 10000);

		Parent.Camera.StartRecording(StartTime);
		Parent.Camera.ArmRecording();

		RecordButton.setText("Stop");
		RecordButton.setChecked(true);
		if (Parent.Camera.GetAllowCaptureStillWhileRecording()) {
		    CaptureStill.setEnabled(true);
		} else {
		    CaptureStill.setEnabled(false);
		}
	    } else if (check == CamogmState.RECORDING) {
		Parent.Camera.StopRecording();

		RecordButton.setText("Record");
		RecordButton.setChecked(false);

		CaptureStill.setEnabled(true);
	    }
	} else {
	    // Single Camera
	    CamogmState check = Parent.Camera.GetCamogmState();
	    if (check == CamogmState.STOPPED) {
		Parent.Camera.StartRecording();

		RecordButton.setText("Stop");
		RecordButton.setChecked(true);

		if (Parent.Camera.GetAllowCaptureStillWhileRecording()) {
		    CaptureStill.setEnabled(true);
		} else {
		    CaptureStill.setEnabled(false);
		}
	    } else if (check == CamogmState.RECORDING) {
		Parent.Camera.StopRecording();

		RecordButton.setText("Record");
		RecordButton.setChecked(false);

		CaptureStill.setEnabled(true);
	    }
	}
    }