
.. _program_listing_file_D__BUILD_git_control_controller-app_src_python_cmd.h:

Program Listing for File python_cmd.h
=====================================

|exhale_lsh| :ref:`Return to documentation for file <file_D__BUILD_git_control_controller-app_src_python_cmd.h>` (``D:\BUILD\git\control\controller-app\src\python_cmd.h``)

.. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS

.. code-block:: cpp

   #ifndef PEEL_PYTHON_CMD_H
   #define PEEL_PYTHON_CMD_H
   
   #include <QString>
   #include <QObject>
   #include <QThread>
   #include <QMap>
   #include <QSettings>
   
   #include "taketreemodel.h"
   #include "shotlist.h"
   #include "slate.h"
   #include "pysideproperty.h"
   #include "python_device.h"
   #include "loadPlugins.h"
   
   
   class PeelPython : public QObject
   {
       Q_OBJECT
   
   public:
   
       PeelPython(QObject* parent = nullptr);
   
       ~PeelPython();
   
       // API CALLS
   
       QList<QString> selectedTakes();
   
   
       void write(const QString&);
   
       void flush();
   
       void load(QString);
   
       void save();
   
       void saveAs(QString);
   
       void setDevices(QList<Device*>);
   
       void updateDevice(Device*);
   
       void setDeviceData(QString);
   
       QString getDeviceData();
   
       void clearDevices();
   
       void addDevice(Device);
   
       Device* newDevice() { return new Device(); }
   
       void setSubjects(const QStringList& subjects);
   
       void setRigidbodies(const QStringList& rigidbodies);
   
       void setCharacters(const QStringList& characters);
   
       void setBinding(const QString& actor, const QString &binding, bool);
   
       void setPerformerVisibility(const QString& performer, bool value);
   
       void setCharacterVisibility(const QString& character, bool value);
   
       void setRigidbodyVisibility(const QString& rigidbody, bool value);
   
       void setPropVisibility(const QString& prop, bool value);
   
       void setProps(const QStringList& props);
   
       void clearShotList();
   
       void addShot(QStringList);
   
       void addShot(QString, QString);
   
       void setShotListHeaders(QStringList);   
   
   
       QMap<QString, QString> currentConfig;
   
       //QList<int> sampleRates();
       //QList<int> sampleSizes();
   
       void setAudioSettings(int sampleRate, int sampleSize);
   
       void startAudioRecording(QString deviceName, QString takeName);
   
       void stopAudioRecording();
   
       QString currentAudioDevice();
   
       void setCurrentAudioDevice(QString);
   
   
       const QObject* getMainWindow();
   
       // Set the value of mainWindow, used by getMainWindow (not exposed to python)
       void setMainWindowValue(const QObject*);
   
       QString getCurrentFile();
   
       // Set the current peelcap file (not exposed to python)
       void setCurrentFileValue(QString);
   
       QString getDataDirectory();
   
       void setDataDirectory(QString);
   
       // Set the value of dataDirectory, used by getDataDirectory (not exposed to python)
       void setDataDirectoryValue(QString);
   
       QMap<QString, QString> getMetaValues();
   
       void setMetaValue(QString, QString);
   
       void clearMetaValues();
   
       void showLightbulb(bool);
   
       void lightbulbOn(bool);
   
       void writeLog(QString);
   
       QStringList takes();
   
       void setTakes(const QStringList&);
   
       void setTakeModel(TakeTreeModel*);
   
       TakeTreeModel* getTakeModel();
   
       void setShotList(ShotList*);
   
       ShotList* getShotListUi();
   
   
       int createDevice(const QString& idenifier);
   
       bool configureDevice(int deviceId, const QString& settings);
   
       QString deviceCommand(int deviceId, const QString& cmd);
   
       void setDeviceEnabled(int deviceId, int state);
   
       int getDeviceEnabled(int deviceId);
   
       bool deleteDevice(int deviceId);
   
       QStringList getPluginDevices();
   
       void setUserData(QString take, QString data);
   
       int getTakeCount();
   
       void setShotListColumns(QStringList);
   
       QMap <QString, QString> getTakeData(int id);
   
       Plugins* plugins;
   
       TakeTreeModel* takeModel;
   
       ShotList* shotList;
   
       void record();
   
       void play();
   
       void stop();
   
       void createMark(QString);
   
       void prev();
   
       void next();
       
       void prevShot();
   
       void nextShot();
   
       void gotoShot(int);
   
       void setShot(QString);
   
       void setTakeNumber(int);
   
       void setTag(QString);
   
       QWidget* timecodeWidget(QWidget *parent, QString fontName, QString fontStyle);
   
       QString getTimecode();
   
       void notifySlateClosed();
   
       QStringList selectModes();
   
       QStringList takesForStatus(QString);
   
       QString selectStatusForTake(QString);
   
       int takeNumberForTake(QString);
   
       void setSettings(QSettings*);
   
   private:
   
       QString audioDevice;
   
       QString deviceData;
   
       QList <Device> devices;
       
       QString currentFile;
   
       QString dataDirectory;
   
       const QObject* mainWindow;
   
       QStringList takeList;
   
       QList<TimecodeWidget*> timecodeWidgets;
   
       QString currentTimecode;
   
       QSettings* settings;
   
    
   public Q_SLOTS:
       void setCurrentTakes(QStringList);
       void setTimecode(QString, QString);
       void setRecording(bool);
   
   Q_SIGNALS:
       void doWrite(QString);
       void doDeviceTypes(QStringList);
       void doSetDevices(QList<Device>);
       void doUpdateDevice(Device);
       void doSetSubjects(QStringList);
       void doSetBinding(QString, QString, bool);
       void doSetRigidbodies(QStringList);
       void doSetCharacters(QStringList);
       void doSetProps(QStringList);
       void doSetCharacterVisibility(QString, bool);
       void doSetPerformerVisibility(QString, bool);
       void doSetRigidbodyVisibility(QString, bool);
       void doSetPropVisibility(QString, bool);
       void doClearShotList();
       void doAddShot(QStringList);
       void doShotListHeaders(QStringList);
       void changeAudioSettings(int sampleRate, int sampleSize);
       void doStartAudioRecording(QString, QString);
       void doStopAudioRecording();
       void doChangeDataDirectory(QString);
       void doLoadFile(QString);
       void doSave();
       void doSaveFile(QString);
       void doShowLightbulb(bool);
       void doLightbulbOn(bool);
       void doWriteLog(QString);
       void devicesChanged();
       void doRecord();
       void doPlay();
       void doStop();
       void doCreateMark(QString);
       void doPrev();
       void doNext();
       void doPrevShot();
       void doNextShot();
       void doGotoShot(int);
       void doSetShot(QString);
       void doSetTakeNumber(int);
       void doSetTag(QString);
       void doSlateClosed();
   
   
   
   public:
       QList<QString> currentSelectedTakes;
   
       QMap <QString, QString> meta;
   
       QStringList selectModeValues;
   
   };
   
   
   #endif // PEEL_PYTHON_CMD_H
