X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5ff227c657e02ebe2bc719faf4bd2231a04850c8..4cdb4528bbff583dc193f24508157e96a0d95c59:/lib/service/iservice.h diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 1f55fe49..f3183187 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -271,9 +271,12 @@ public: enum { bitErrorRate, signalPower, - signalQuality + signalQuality, + LockState, + SyncState }; virtual int getFrontendInfo(int w)=0; + virtual PyObject *getFrontendTransponderData()=0; }; TEMPLATE_TYPEDEF(ePtr, iFrontendStatusInformationPtr); @@ -310,6 +313,7 @@ public: /* if you want to do several seeks in a row, you can enable the trickmode. audio will be switched off, sync will be disabled etc. */ virtual RESULT setTrickmode(int trick=0)=0; + virtual RESULT isCurrentlySeekable()=0; }; TEMPLATE_TYPEDEF(ePtr, iSeekableServicePtr); @@ -376,6 +380,23 @@ public: TEMPLATE_TYPEDEF(ePtr, 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(PyObject *list) = 0; + virtual void setCutListEnable(int enable) = 0; + enum { cutIn = 0, cutOut = 1, cutMark = 2 }; +}; + +TEMPLATE_TYPEDEF(ePtr, iCueSheetPtr); + class iPlayableService: public iObject { #ifdef SWIG @@ -386,6 +407,8 @@ class iPlayableService: public iObject public: enum { + /* these first two events are magical, and should only + be generated if you know what you're doing. */ evStart, evEnd, @@ -397,7 +420,11 @@ public: /* when seek() is implemented: */ evSeekableStatusChanged, /* for example when timeshifting */ - evEOF + evEOF, + evSOF, /* bounced against start of file (when seeking backwards) */ + + /* only when cueSheet is implemented */ + evCuesheetChanged, }; virtual RESULT connectEvent(const Slot2 &event, ePtr &connection)=0; virtual RESULT start()=0; @@ -409,6 +436,7 @@ public: virtual SWIG_VOID(RESULT) subServices(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) frontendStatusInfo(ePtr &SWIG_OUTPUT)=0; virtual SWIG_VOID(RESULT) timeshift(ePtr &SWIG_OUTPUT)=0; + virtual SWIG_VOID(RESULT) cueSheet(ePtr &SWIG_OUTPUT)=0; }; TEMPLATE_TYPEDEF(ePtr, iPlayableServicePtr); @@ -420,7 +448,7 @@ class iRecordableService: public iObject ~iRecordableService(); #endif public: - virtual RESULT prepare(const char *filename)=0; + virtual RESULT prepare(const char *filename, time_t begTime=-1, time_t endTime=-1, int eit_event_id=-1)=0; virtual RESULT start()=0; virtual RESULT stop()=0; };