+class iTimeshiftService: public iObject
+{
+#ifdef SWIG
+ iTimeshiftService();
+ ~iTimeshiftService();
+#endif
+public:
+ virtual RESULT startTimeshift()=0;
+ virtual RESULT stopTimeshift()=0;
+
+ virtual int isTimeshiftActive()=0;
+ /* this essentially seeks to the relative end of the timeshift buffer */
+ virtual RESULT activateTimeshift()=0;
+};
+
+TEMPLATE_TYPEDEF(ePtr<iTimeshiftService>, iTimeshiftServicePtr);
+
+ /* not related to eCueSheet */
+class iCueSheet: public iObject
+{
+#ifdef SWIG
+ iCueSheet();
+ ~iCueSheet();
+#endif
+public:
+ /* returns a list of (pts, what)-tuples */
+ virtual PyObject *getCutList() = 0;
+ virtual void setCutList(SWIG_PYOBJECT(ePyObject) list) = 0;
+ virtual void setCutListEnable(int enable) = 0;
+ enum { cutIn = 0, cutOut = 1, cutMark = 2 };
+};
+
+TEMPLATE_TYPEDEF(ePtr<iCueSheet>, iCueSheetPtr);
+
+class eWidget;
+class PyList;
+
+class iSubtitleOutput: public iObject
+{
+public:
+ virtual RESULT enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) entry)=0;
+ virtual RESULT disableSubtitles(eWidget *parent)=0;
+ virtual PyObject *getSubtitleList()=0;
+ virtual PyObject *getCachedSubtitle()=0;
+};
+
+TEMPLATE_TYPEDEF(ePtr<iSubtitleOutput>, iSubtitleOutputPtr);
+