
.. _program_listing_file_src_python_cmd.h:

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

|exhale_lsh| :ref:`Return to documentation for file <file_src_python_cmd.h>` (``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 load(QString);
   
       void save(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 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();
   
       // 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);
   
       // Get a list of custom name=value attributes saved in the .peelcap file
       QMap<QString, QString> getMetaValues();
   
       // Set a name=value to save in the peelcap fiel.
       void setMetaValue(QString, QString);
   
       // Clear the custom attributes
       void clearMetaValues();
   
   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);
       void doChangeDataDirectory(QString);
       void doLoadFile(QString);
       void doSaveFile(QString);
   
   
   public:
       QList<QString> currentSelectedTakes;
   
       QMap <QString, QString> meta;
   
   };
   
   
   #endif // PEEL_PYTHON_CMD_H
