X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/f7ff87f985d26835958bb2404265f3029e35c72a..57e05465c68a8154f0bace3dfe36db98bb85c3be:/lib/service/servicedvb.h diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index 2929397a..39318b22 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -58,7 +58,8 @@ private: class eDVBServicePlay: public iPlayableService, public iPauseableService, public iSeekableService, public Object, public iServiceInformation, public iAudioTrackSelection, public iFrontendStatusInformation, - public iSubserviceList, public iTimeshiftService + public iSubserviceList, public iTimeshiftService, + public iCueSheet { DECLARE_REF(eDVBServicePlay); public: @@ -75,6 +76,7 @@ public: RESULT frontendStatusInfo(ePtr &ptr); RESULT subServices(ePtr &ptr); RESULT timeshift(ePtr &ptr); + RESULT cueSheet(ePtr &ptr); // iPauseableService RESULT pause(); @@ -88,6 +90,7 @@ public: RESULT seekRelative(int direction, pts_t to); RESULT getPlayPosition(pts_t &pos); RESULT setTrickmode(int trick=0); + RESULT isCurrentlySeekable(); // iServiceInformation RESULT getName(std::string &name); @@ -102,6 +105,7 @@ public: // iFrontendStatusInformation int getFrontendInfo(int w); + PyObject *getFrontendData(bool); // iSubserviceList int getNumberOfSubservices(); @@ -113,6 +117,11 @@ public: int isTimeshiftActive(); RESULT activateTimeshift(); + // iCueSheet + PyObject *getCutList(); + void setCutList(PyObject *); + void setCutListEnable(int enable); + private: friend class eServiceFactoryDVB; eServiceReference m_reference; @@ -134,6 +143,7 @@ private: Signal2 m_event; int m_is_pvr, m_is_paused, m_timeshift_enabled, m_timeshift_active; + int m_first_program_info; std::string m_timeshift_file; int m_timeshift_fd; @@ -155,6 +165,29 @@ private: int m_skipmode; ePtr m_cue; + + struct cueEntry + { + pts_t where; + unsigned int what; + + bool operator < (const struct cueEntry &o) const + { + return where < o.where; + } + cueEntry(const pts_t &where, unsigned int what) : + where(where), what(what) + { + } + }; + + std::multiset m_cue_entries; + int m_cuesheet_changed, m_cutlist_enabled; + + void loadCuesheet(); + void saveCuesheet(); + + void cutlistToCuesheet(); }; #endif