Jeremy Bullock f15907
#pragma once
Jeremy Bullock f15907
Jeremy Bullock f15907
#ifndef STOPMOTION_H
Jeremy Bullock f15907
#define STOPMOTION_H
Jeremy Bullock f15907
Jeremy Bullock f15907
#ifdef WITH_STOPMOTION
Jeremy Bullock f15907
// Canon Includes
Jeremy Bullock f15907
#include "EDSDK.h"
Jeremy Bullock f15907
#include "EDSDKErrors.h"
Jeremy Bullock f15907
#include "EDSDKTypes.h"
Jeremy Bullock f15907
#include "turbojpeg.h"
Jeremy Bullock f15907
#include "opencv2/opencv.hpp"
Jeremy Bullock f15907
Jeremy Bullock f15907
// Toonz Includes
Jeremy Bullock f15907
#include "traster.h"
Jeremy Bullock f15907
#include "toonzqt/gutil.h"
Jeremy Bullock f15907
#include "toonzqt/dvdialog.h"
Jeremy Bullock f15907
Jeremy Bullock f15907
#include <qobject></qobject>
Jeremy Bullock f15907
Jeremy Bullock f15907
class QCamera;
Jeremy Bullock f15907
class QCameraInfo;
Jeremy Bullock f15907
class QDialog;
Jeremy Bullock f15907
class QTimer;
Jeremy Bullock f15907
Jeremy Bullock f15907
enum ASPECT_RATIO { FOUR_THREE = 0, THREE_TWO, SIXTEEN_NINE, OTHER_RATIO };
Jeremy Bullock f15907
#endif
Jeremy Bullock f15907
Jeremy Bullock f15907
#include <qthread></qthread>
Jeremy Bullock f15907
//=============================================================================
Jeremy Bullock f15907
// JpgConverter
Jeremy Bullock f15907
//-----------------------------------------------------------------------------
Jeremy Bullock f15907
Jeremy Bullock f15907
class JpgConverter : public QThread {
Jeremy Bullock f15907
  Q_OBJECT
Jeremy Bullock f15907
#ifdef WITH_STOPMOTION
Jeremy Bullock f15907
  EdsStreamRef m_stream;
Jeremy Bullock f15907
  TRaster32P m_finalImage;
Jeremy Bullock f15907
  bool m_scale     = false;
Jeremy Bullock f15907
  int m_scaleWidth = 0;
Jeremy Bullock f15907
Jeremy Bullock f15907
public:
Jeremy Bullock f15907
  JpgConverter();
Jeremy Bullock f15907
  ~JpgConverter();
Jeremy Bullock f15907
  void setStream(EdsStreamRef stream);
Jeremy Bullock f15907
  void setScale(bool scale) { m_scale = scale; }
Jeremy Bullock f15907
  void setScaleWidth(bool scaleWidth) { m_scaleWidth = scaleWidth; }
Jeremy Bullock f15907
  TRaster32P getImage() { return m_finalImage; }
Jeremy Bullock f15907
  void convertFromJpg();
Jeremy Bullock f15907
Jeremy Bullock f15907
protected:
Jeremy Bullock f15907
  void run() override;
Jeremy Bullock f15907
Jeremy Bullock f15907
#endif
Jeremy Bullock f15907
signals:
Jeremy Bullock f15907
  void imageReady(bool);
Jeremy Bullock f15907
};
Jeremy Bullock f15907
Jeremy Bullock f15907
class StopMotion : public QObject {  // Singleton
Jeremy Bullock f15907
  Q_OBJECT
Jeremy Bullock f15907
Jeremy Bullock f15907
public:
Jeremy Bullock f15907
  static StopMotion* instance() {
Jeremy Bullock f15907
    static StopMotion _instance;
Jeremy Bullock f15907
    return &_instance;
Jeremy Bullock f15907
  };
Jeremy Bullock f15907
#ifdef WITH_STOPMOTION
Jeremy Bullock f15907
Jeremy Bullock f15907
private:
Jeremy Bullock f15907
  StopMotion();
Jeremy Bullock f15907
  ~StopMotion();
Jeremy Bullock f15907
Jeremy Bullock f15907
  int m_opacity              = 255.0;
Jeremy Bullock f15907
  int m_xSheetFrameNumber    = 1;
Jeremy Bullock f15907
  int m_frameNumber          = 1;
Jeremy Bullock f15907
  int m_subsampling          = 1;
Jeremy Bullock f15907
  QString m_levelName        = "";
Jeremy Bullock f15907
  QString m_fileType         = "jpg";
Jeremy Bullock f15907
  QString m_filePath         = "+extras";
Jeremy Bullock f15907
  QString m_frameInfoText    = "";
Jeremy Bullock f15907
  QString m_infoColorName    = "";
Jeremy Bullock f15907
  QString m_frameInfoToolTip = "";
Jeremy Bullock f15907
  QSize m_allowedCameraSize;
Jeremy Bullock f15907
  QStringList m_isoOptions, m_shutterSpeedOptions, m_apertureOptions,
Jeremy Bullock f15907
      m_exposureOptions, m_whiteBalanceOptions, m_colorTempOptions,
Jeremy Bullock f15907
      m_imageQualityOptions, m_pictureStyleOptions;
Jeremy Bullock f15907
  std::map<edsuint32, std::string=""> m_avMap, m_tvMap, m_isoMap, m_modeMap,</edsuint32,>
Jeremy Bullock f15907
      m_exposureMap, m_whiteBalanceMap, m_imageQualityMap, m_pictureStyleMap;
Jeremy Bullock f15907
  QDialog *m_fullScreen1, *m_fullScreen2, *m_fullScreen3;
Jeremy Bullock f15907
  int m_screenCount;
Jeremy Bullock f15907
  bool m_useMjpg                 = true;
Jeremy Bullock f15907
  bool m_useNumpadShortcuts      = false;
Jeremy Bullock f15907
  bool m_numpadForStyleSwitching = true;
Jeremy Bullock f15907
  bool m_turnOnRewind            = false;
Jeremy Bullock f15907
Jeremy Bullock f15907
  QTimer* m_reviewTimer;
Jeremy Bullock f15907
  std::map<std::string, qaction*=""> m_oldActionMap;</std::string,>
Jeremy Bullock f15907
Jeremy Bullock f15907
  // Webcam Properties
Jeremy Bullock f15907
  QList<qcamerainfo> m_webcams;</qcamerainfo>
Jeremy Bullock f15907
  QCamera* m_webcam;
Jeremy Bullock f15907
  cv::VideoCapture m_cvWebcam;
Jeremy Bullock f15907
Jeremy Bullock f15907
  static EdsError EDSCALLBACK handleObjectEvent(EdsObjectEvent event,
Jeremy Bullock f15907
                                                EdsBaseRef object,
Jeremy Bullock f15907
                                                EdsVoid* context);
Jeremy Bullock f15907
Jeremy Bullock f15907
  static EdsError EDSCALLBACK handlePropertyEvent(EdsPropertyEvent event,
Jeremy Bullock f15907
                                                  EdsPropertyID property,
Jeremy Bullock f15907
                                                  EdsUInt32 param,
Jeremy Bullock f15907
                                                  EdsVoid* context);
Jeremy Bullock f15907
Jeremy Bullock f15907
  static EdsError EDSCALLBACK handleStateEvent(EdsStateEvent event,
Jeremy Bullock f15907
                                               EdsUInt32 parameter,
Jeremy Bullock f15907
                                               EdsVoid* context);
Jeremy Bullock f15907
  static EdsError EDSCALLBACK handleCameraAddedEvent(EdsVoid* context);
Jeremy Bullock f15907
Jeremy Bullock f15907
  void buildAvMap();
Jeremy Bullock f15907
  void buildTvMap();
Jeremy Bullock f15907
  void buildIsoMap();
Jeremy Bullock f15907
  void buildModeMap();
Jeremy Bullock f15907
  void buildExposureMap();
Jeremy Bullock f15907
  void buildWhiteBalanceMap();
Jeremy Bullock f15907
  void buildImageQualityMap();
Jeremy Bullock f15907
  void buildPictureStyleMap();
Jeremy Bullock f15907
Jeremy Bullock f15907
public:
Jeremy Bullock f15907
  enum LiveViewStatus {
Jeremy Bullock f15907
    LiveViewClosed = 0,
Jeremy Bullock f15907
    LiveViewStarting,
Jeremy Bullock f15907
    LiveViewOpen,
Jeremy Bullock f15907
    LiveViewPaused
Jeremy Bullock f15907
  };
Jeremy Bullock f15907
Jeremy Bullock f15907
  JpgConverter* m_converter;
Jeremy Bullock f15907
  bool m_useScaledImages = true;
Jeremy Bullock f15907
  bool m_usingWebcam     = false;
Jeremy Bullock f15907
  bool m_blackCapture    = true;
Jeremy Bullock f15907
  bool m_placeOnXSheet   = true;
Jeremy Bullock f15907
  int m_reviewTime       = 2;
Jeremy Bullock f15907
  int m_liveViewStatus   = LiveViewClosed;
Jeremy Bullock f15907
  bool m_hasLiveViewImage, m_hasLineUpImage, m_showLineUpImage;
Jeremy Bullock f15907
  bool m_alwaysLiveView     = false;
Jeremy Bullock f15907
  bool m_active             = false;
Jeremy Bullock f15907
  bool m_userCalledPause    = false;
Jeremy Bullock f15907
  bool m_converterSucceeded = false;
Jeremy Bullock f15907
  QString m_tempFile;
Jeremy Bullock f15907
  QTimer* m_timer;
Jeremy Bullock f15907
  QList<qsize> m_webcamResolutions;</qsize>
Jeremy Bullock f15907
Jeremy Bullock f15907
  // Canon Public Properties
Jeremy Bullock f15907
  EdsError m_error              = EDS_ERR_OK;
Jeremy Bullock f15907
  bool m_isSDKLoaded            = false;
Jeremy Bullock f15907
  EdsUInt32 m_count             = 0;
Jeremy Bullock f15907
  EdsCameraListRef m_cameraList = NULL;
Jeremy Bullock f15907
  EdsCameraRef m_camera         = NULL;
Jeremy Bullock f15907
  bool m_sessionOpen            = false;
Jeremy Bullock f15907
  bool m_zooming                = false;
Jeremy Bullock f15907
  std::string m_cameraName;
Jeremy Bullock f15907
  TRaster32P m_liveViewImage, m_newImage, m_lineUpImage;
Jeremy Bullock f15907
  TDimension m_liveViewImageDimensions = TDimension(0, 0);
Jeremy Bullock f15907
  TDimension m_fullImageDimensions     = TDimension(0, 0);
Jeremy Bullock f15907
  TDimension m_proxyImageDimensions    = TDimension(0, 0);
Jeremy Bullock f15907
  TPointD m_proxyDpi                   = TPointD(0.0, 0.0);
Jeremy Bullock f15907
  TPointD m_liveViewDpi                = TPointD(0.0, 0.0);
Jeremy Bullock f15907
  TPointD m_fullImageDpi               = TPointD(0.0, 0.0);
Jeremy Bullock f15907
  TPoint m_liveViewZoomOffset          = TPoint(0, 0);
Jeremy Bullock f15907
  EdsUInt32 m_liveViewZoom             = 1;
Jeremy Bullock f15907
  bool m_pickLiveViewZoom              = false;
Jeremy Bullock f15907
  TPointD m_liveViewZoomPickPoint      = TPointD(0.0, 0.0);
Jeremy Bullock f15907
  TPoint m_zoomRect                    = TPoint(0, 0);
Jeremy Bullock f15907
  TPoint m_calculatedZoomPoint         = TPoint(0, 0);
Jeremy Bullock f15907
  TPoint m_finalZoomPoint              = TPoint(0, 0);
Jeremy Bullock f15907
Jeremy Bullock f15907
  // Webcam Public Properties
Jeremy Bullock f15907
  QString m_webcamDeviceName;
Jeremy Bullock f15907
  QString m_webcamDescription;
Jeremy Bullock f15907
  int m_webcamIndex    = -1;
Jeremy Bullock f15907
  bool m_useDirectShow = true;
Jeremy Bullock f15907
  int m_webcamWidth    = 0;
Jeremy Bullock f15907
  int m_webcamHeight   = 0;
Jeremy Bullock f15907
Jeremy Bullock f15907
  void setOpacity(int opacity);
Jeremy Bullock f15907
  int getOpacity() { return m_opacity; }
Jeremy Bullock f15907
  void setUseScaledImages(bool on);
Jeremy Bullock f15907
  bool getUseScaledImages() { return m_useScaledImages; }
Jeremy Bullock f15907
  void setAlwaysLiveView(bool on);
Jeremy Bullock f15907
  bool getAlwaysLiveView() { return m_alwaysLiveView; }
Jeremy Bullock f15907
  void setBlackCapture(bool on);
Jeremy Bullock f15907
  bool getBlackCapture() { return m_blackCapture; }
Jeremy Bullock f15907
  void setPlaceOnXSheet(bool on);
Jeremy Bullock f15907
  bool getPlaceOnXSheet() { return m_placeOnXSheet; }
Jeremy Bullock f15907
  void setUseMjpg(bool on);
Jeremy Bullock f15907
  bool getUseMjpg() { return m_useMjpg; }
Jeremy Bullock f15907
  void setUseNumpadShortcuts(bool on);
Jeremy Bullock f15907
  bool getUseNumpadShortcuts() { return m_useNumpadShortcuts; }
Jeremy Bullock f15907
  void toggleNumpadShortcuts(bool on);
Jeremy Bullock f15907
  void setReviewTime(int time);
Jeremy Bullock f15907
  int getReviewTime() { return m_reviewTime; }
Jeremy Bullock f15907
  void setXSheetFrameNumber(int frameNumber);
Jeremy Bullock f15907
  int getXSheetFrameNumber() { return m_xSheetFrameNumber; }
Jeremy Bullock f15907
  void setFrameNumber(int frameNumber);
Jeremy Bullock f15907
  int getFrameNumber() { return m_frameNumber; }
Jeremy Bullock f15907
  void setLevelName(QString levelName);
Jeremy Bullock f15907
  QString getLevelName() { return m_levelName; }
Jeremy Bullock f15907
  void setFileType(QString fileType);
Jeremy Bullock f15907
  QString getFileType() { return m_fileType; }
Jeremy Bullock f15907
  void setFilePath(QString filePath);
Jeremy Bullock f15907
  QString getFilePath() { return m_filePath; }
Jeremy Bullock f15907
  void updateLevelNameAndFrame(std::wstring levelName);
Jeremy Bullock f15907
  void setToNextNewLevel();
Jeremy Bullock f15907
  void nextFrame();
Jeremy Bullock f15907
  void previousFrame();
Jeremy Bullock f15907
  void lastFrame();
Jeremy Bullock f15907
  void nextName();
Jeremy Bullock f15907
  void previousName();
Jeremy Bullock f15907
Jeremy Bullock f15907
  QString getFrameInfoText() { return m_frameInfoText; }
Jeremy Bullock f15907
  QString getInfoColorName() { return m_infoColorName; }
Jeremy Bullock f15907
  QString getFrameInfoToolTip() { return m_frameInfoToolTip; }
Jeremy Bullock f15907
  bool toggleLiveView();
Jeremy Bullock f15907
  void pauseLiveView();
Jeremy Bullock f15907
  void getSubsampling();
Jeremy Bullock f15907
  void setSubsampling();
Jeremy Bullock f15907
  int getSubsamplingValue() { return m_subsampling; }
Jeremy Bullock f15907
  void setSubsamplingValue(int subsampling);
Jeremy Bullock f15907
  void captureImage();
Jeremy Bullock f15907
  void postImportProcess();
Jeremy Bullock f15907
  void refreshFrameInfo();
Jeremy Bullock f15907
  void refreshCameraList();
Jeremy Bullock f15907
  void changeCameras(int index);
Jeremy Bullock f15907
  void raiseOpacity();
Jeremy Bullock f15907
  void lowerOpacity();
Jeremy Bullock f15907
  void jumpToCameraFrame();
Jeremy Bullock f15907
Jeremy Bullock f15907
  std::string getTEnvCameraName();
Jeremy Bullock f15907
  void setTEnvCameraName(std::string name);
Jeremy Bullock f15907
  std::string getTEnvCameraResolution();
Jeremy Bullock f15907
  void setTEnvCameraResolution(std::string resolution);
Jeremy Bullock f15907
Jeremy Bullock f15907
  void saveJpg(TRaster32P, TFilePath path);
Jeremy Bullock f15907
  bool loadJpg(TFilePath path, TRaster32P& image);
Jeremy Bullock f15907
  bool loadLineUpImage();
Jeremy Bullock f15907
Jeremy Bullock f15907
  // Webcam Commands
Jeremy Bullock f15907
  QList<qcamerainfo> getWebcams();</qcamerainfo>
Jeremy Bullock f15907
  QCamera* getWebcam() { return m_webcam; }
Jeremy Bullock f15907
  void setWebcam(QCamera* camera);
Jeremy Bullock f15907
  bool initWebcam(int index = 0);
Jeremy Bullock f15907
  void releaseWebcam();
Jeremy Bullock f15907
  void setWebcamResolution(QString resolution);
Jeremy Bullock f15907
  void getWebcamImage();
Jeremy Bullock f15907
  bool translateIndex(int index);
Jeremy Bullock f15907
  bool getUseDirectShow() { return m_useDirectShow; }
Jeremy Bullock f15907
  void setUseDirectShow(int state);
Jeremy Bullock f15907
  QList<qsize> getWebcamResolutions() { return m_webcamResolutions; }</qsize>
Jeremy Bullock f15907
  // void changeResolutions(int index);
Jeremy Bullock f15907
Jeremy Bullock f15907
  // Canon Commands
Jeremy Bullock f15907
  EdsError initializeCanonSDK();
Jeremy Bullock f15907
  void closeCanonSDK();
Jeremy Bullock f15907
  EdsCameraListRef getCameraList();
Jeremy Bullock f15907
  EdsError releaseCameraList();
Jeremy Bullock f15907
  int getCameraCount();
Jeremy Bullock f15907
  EdsError getCamera(int index);
Jeremy Bullock f15907
  EdsError releaseCamera();
Jeremy Bullock f15907
  void cameraAdded();
Jeremy Bullock f15907
  EdsError openCameraSession();
Jeremy Bullock f15907
  EdsError closeCameraSession();
Jeremy Bullock f15907
  std::string getCameraName();
Jeremy Bullock f15907
  EdsError downloadImage(EdsBaseRef object);
Jeremy Bullock f15907
  EdsError takePicture();
Jeremy Bullock f15907
  EdsError startLiveView();
Jeremy Bullock f15907
  EdsError endLiveView();
Jeremy Bullock f15907
  EdsError downloadEVFData();
Jeremy Bullock f15907
  QStringList getIsoOptions() { return m_isoOptions; }
Jeremy Bullock f15907
  QStringList getShutterSpeedOptions() { return m_shutterSpeedOptions; }
Jeremy Bullock f15907
  QStringList getApertureOptions() { return m_apertureOptions; }
Jeremy Bullock f15907
  QStringList getExposureOptions() { return m_exposureOptions; }
Jeremy Bullock f15907
  QStringList getWhiteBalanceOptions() { return m_whiteBalanceOptions; }
Jeremy Bullock f15907
  QStringList getColorTemperatureOptions() { return m_colorTempOptions; }
Jeremy Bullock f15907
  QStringList getImageQualityOptions() { return m_imageQualityOptions; }
Jeremy Bullock f15907
  QStringList getPictureStyleOptions() { return m_pictureStyleOptions; }
Jeremy Bullock f15907
  EdsError getAvailableShutterSpeeds();
Jeremy Bullock f15907
  EdsError getAvailableIso();
Jeremy Bullock f15907
  EdsError getAvailableApertures();
Jeremy Bullock f15907
  EdsError getAvailableExposureCompensations();
Jeremy Bullock f15907
  EdsError getAvailableWhiteBalances();
Jeremy Bullock f15907
  EdsError getAvailableImageQualities();
Jeremy Bullock f15907
  EdsError getAvailablePictureStyles();
Jeremy Bullock f15907
  void buildColorTemperatures();
Jeremy Bullock f15907
  QString getCurrentShutterSpeed();
Jeremy Bullock f15907
  QString getCurrentIso();
Jeremy Bullock f15907
  QString getCurrentAperture();
Jeremy Bullock f15907
  QString getCurrentExposureCompensation();
Jeremy Bullock f15907
  QString getCurrentWhiteBalance();
Jeremy Bullock f15907
  QString getCurrentColorTemperature();
Jeremy Bullock f15907
  QString getCurrentImageQuality();
Jeremy Bullock f15907
  QString getCurrentPictureStyle();
Jeremy Bullock f15907
  EdsError setShutterSpeed(QString shutterSpeed);
Jeremy Bullock f15907
  EdsError setIso(QString iso);
Jeremy Bullock f15907
  EdsError setAperture(QString aperture);
Jeremy Bullock f15907
  EdsError setExposureCompensation(QString exposure);
Jeremy Bullock f15907
  EdsError setWhiteBalance(QString whiteBalance);
Jeremy Bullock f15907
  EdsError setColorTemperature(QString temp);
Jeremy Bullock f15907
  EdsError setImageQuality(QString quality);
Jeremy Bullock f15907
  EdsError setPictureStyle(QString style);
Jeremy Bullock f15907
  QString getMode();
Jeremy Bullock f15907
  void refreshOptions();
Jeremy Bullock f15907
  EdsError zoomLiveView();
Jeremy Bullock f15907
  EdsError setZoomPoint();
Jeremy Bullock f15907
  void makeZoomPoint(TPointD pos);
Jeremy Bullock f15907
  EdsError focusNear();
Jeremy Bullock f15907
  EdsError focusFar();
Jeremy Bullock f15907
  EdsError focusNear2();
Jeremy Bullock f15907
  EdsError focusFar2();
Jeremy Bullock f15907
  EdsError focusNear3();
Jeremy Bullock f15907
  EdsError focusFar3();
Jeremy Bullock f15907
Jeremy Bullock f15907
#endif  // WITH_STOPMOTION
Jeremy Bullock f15907
public slots:
Jeremy Bullock f15907
  void onImageReady(const bool&);
Jeremy Bullock f15907
  void onFinished();
Jeremy Bullock f15907
  void onTimeout();
Jeremy Bullock f15907
  void onReviewTimeout();
Jeremy Bullock f15907
  void update();
Jeremy Bullock f15907
  bool importImage();
Jeremy Bullock f15907
  void onSceneSwitched();
Jeremy Bullock f15907
  void onPlaybackChanged();
Jeremy Bullock f15907
Jeremy Bullock f15907
signals:
Jeremy Bullock f15907
  void newLiveViewImageReady();
Jeremy Bullock f15907
  void liveViewStopped();
Jeremy Bullock f15907
  void newImageReady();
Jeremy Bullock f15907
  void cameraChanged();
Jeremy Bullock f15907
  void optionsChanged();
Jeremy Bullock f15907
  void liveViewChanged(bool);
Jeremy Bullock f15907
  void newCameraSelected(int, bool);
Jeremy Bullock f15907
  void webcamResolutionsChanged();
Jeremy Bullock f15907
  void newWebcamResolutionSelected(int);
Jeremy Bullock f15907
Jeremy Bullock f15907
  void apertureOptionsChanged();
Jeremy Bullock f15907
  void isoOptionsChanged();
Jeremy Bullock f15907
  void shutterSpeedOptionsChanged();
Jeremy Bullock f15907
  void exposureOptionsChanged();
Jeremy Bullock f15907
  void whiteBalanceOptionsChanged();
Jeremy Bullock f15907
  void colorTemperatureChanged();
Jeremy Bullock f15907
  void imageQualityOptionsChanged();
Jeremy Bullock f15907
  void pictureStyleOptionsChanged();
Jeremy Bullock f15907
  void apertureChangedSignal(QString);
Jeremy Bullock f15907
  void isoChangedSignal(QString);
Jeremy Bullock f15907
  void shutterSpeedChangedSignal(QString);
Jeremy Bullock f15907
  void exposureChangedSignal(QString);
Jeremy Bullock f15907
  void whiteBalanceChangedSignal(QString);
Jeremy Bullock f15907
  void colorTemperatureChangedSignal(QString);
Jeremy Bullock f15907
  void imageQualityChangedSignal(QString);
Jeremy Bullock f15907
  void pictureStyleChangedSignal(QString);
Jeremy Bullock f15907
  void modeChanged();
Jeremy Bullock f15907
Jeremy Bullock f15907
  void newDimensions();
Jeremy Bullock f15907
  void subsamplingChanged(int);
Jeremy Bullock f15907
  void filePathChanged(QString);
Jeremy Bullock f15907
  void levelNameChanged(QString);
Jeremy Bullock f15907
  void fileTypeChanged(QString);
Jeremy Bullock f15907
  void xSheetFrameNumberChanged(int);
Jeremy Bullock f15907
  void frameNumberChanged(int);
Jeremy Bullock f15907
  void frameInfoTextChanged(QString);
Jeremy Bullock f15907
  void opacityChanged(int);
Jeremy Bullock f15907
  void scaleFullSizeImagesSignal(bool);
Jeremy Bullock f15907
  void blackCaptureSignal(bool);
Jeremy Bullock f15907
  void liveViewOnAllFramesSignal(bool);
Jeremy Bullock f15907
  void placeOnXSheetSignal(bool);
Jeremy Bullock f15907
  void useMjpgSignal(bool);
Jeremy Bullock f15907
  void useNumpadSignal(bool);
Jeremy Bullock f15907
  void useDirectShowSignal(bool);
Jeremy Bullock f15907
  void reviewTimeChangedSignal(int);
Jeremy Bullock f15907
  void updateCameraList();
Jeremy Bullock f15907
};
Jeremy Bullock f15907
Jeremy Bullock f15907
#endif  // STOPMOTION_H