
.. _program_listing_file_controller-app_src_python_cmd.h:

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

|exhale_lsh| :ref:`Return to documentation for file <file_controller-app_src_python_cmd.h>` (``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 "pysideproperty.h"
   #include "python_device.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 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 clearShotList();
   
       void addShot(QString name, QString description);
   
   
       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);
   
       void motiveCommand(QString);
   
       const QObject* getMainWindow();
   
       void setMainWindow(const QObject*);
   
       QString getCurrentFile();
   
       // Set the current peelcap file (not exposed to python)
       void setCurrentFile(QString);
   
       QString getDataDirectory();
   
       // Set the current save data directory (not exposed to python)
       void setDataDirectory(QString);
   
   
   private:
       QString audioDevice;
       QString deviceData;
   
       QList <Device> devices;
       
       QString currentFile;
       QString dataDirectory;
       const QObject* mainWindow;
   
       
   public Q_SLOTS:
       void setCurrentTakes(QStringList);
   
   Q_SIGNALS:
       void doWrite(QString);
       void doDeviceTypes(QStringList);
       void doSetDevices(QList<Device>);
       void doUpdateDevice(Device);
       void doSetSubjects(QStringList);
       void doClearShotList();
       void doAddShot(QString, QString);
       void changeAudioSettings(int sampleRate, int sampleSize);
       void doStartAudioRecording(QString, QString);
       void doStopAudioRecording();
       void doMotiveCommand(QString);
   
   
   public:
       QList<QString> currentSelectedTakes;
   };
   
   
   #endif // PEEL_PYTHON_CMD_H
