]> git.sesse.net Git - kdenlive/blobdiff - src/jogshuttle.h
jogshuttle: use call by reference
[kdenlive] / src / jogshuttle.h
index 1a337868fd2e7ab304da133d96e1dcecbedd41c7..b136639abf4727d37e9511fcf965dd61971b6c81 100644 (file)
 
 #include <QThread>
 #include <QObject>
+#include <QMap>
 
 #include <linux/input.h>
-
+#include <sys/time.h>
+#include <media_ctrl/mediactrl.h>
 
 typedef struct input_event EV;
 
@@ -45,12 +47,21 @@ public:
 
 private:
     bool m_isWorking;
+    void handle_event(const struct media_ctrl_event& ev);
+    void jog(const struct media_ctrl_event& ev);
+    void shuttle(const struct media_ctrl_event& ev);
+    void key(const struct media_ctrl_event& ev);
+
+#ifdef USE_DEPRECATED
     void handle_event(EV ev);
     void jog(unsigned int value);
     void shuttle(int value);
     void key(unsigned short code, unsigned int value);
+#endif
 };
 
+typedef QMap<QString, QString> DeviceMap;
+typedef QMap<QString, QString>::iterator DeviceMapIter;
 
 class JogShuttle: public QObject
 {
@@ -60,7 +71,9 @@ public:
     ~JogShuttle();
     void stopDevice();
     void initDevice(const QString &device);
-    static QString enumerateDevice(const QString &device);
+    static QString canonicalDevice(const QString& device);
+    static DeviceMap enumerateDevices(const QString& devPath);
+    static int keysCount(const QString& devPath);
 
 protected:
     virtual void customEvent(QEvent * e);