+ virtual int getCurrentChannel()=0;
+ virtual RESULT selectChannel(int i)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iAudioChannelSelection>, iAudioChannelSelectionPtr);
+
+SWIG_IGNORE(iAudioDelay);
+class iAudioDelay: public iObject
+{
+#ifdef SWIG
+ iAudioDelay();
+ ~iAudioDelay();
+#endif
+public:
+ virtual int getAC3Delay()=0;
+ virtual int getPCMDelay()=0;
+ virtual void setAC3Delay(int)=0;
+ virtual void setPCMDelay(int)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iAudioDelay>, iAudioDelayPtr);
+
+class iRdsDecoder_ENUMS
+{
+#ifdef SWIG
+ iRdsDecoder_ENUMS();
+ ~iRdsDecoder_ENUMS();
+#endif
+public:
+ enum { RadioText, RtpText };
+};
+
+SWIG_IGNORE(iRdsDecoder);
+class iRdsDecoder: public iObject, public iRdsDecoder_ENUMS
+{
+#ifdef SWIG
+ iRdsDecoder();
+ ~iRdsDecoder();
+#endif
+public:
+ virtual std::string getText(int x=RadioText)=0;
+ virtual void showRassSlidePicture()=0;
+ virtual void showRassInteractivePic(int page, int subpage)=0;
+ virtual SWIG_PYOBJECT(ePyObject) getRassInteractiveMask()=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iRdsDecoder>, iRdsDecoderPtr);
+
+SWIG_IGNORE(iSubserviceList);
+class iSubserviceList: public iObject
+{
+#ifdef SWIG
+ iSubserviceList();
+ ~iSubserviceList();
+#endif
+public:
+ virtual int getNumberOfSubservices()=0;
+ virtual SWIG_VOID(RESULT) getSubservice(eServiceReference &SWIG_OUTPUT, unsigned int n)=0;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iSubserviceList>, iSubserviceListPtr);
+
+SWIG_IGNORE(iTimeshiftService);
+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;
+};
+SWIG_TEMPLATE_TYPEDEF(ePtr<iTimeshiftService>, iTimeshiftServicePtr);
+
+ /* not related to eCueSheet */
+
+class iCueSheet_ENUMS
+{
+#ifdef SWIG
+ iCueSheet_ENUMS();
+ ~iCueSheet_ENUMS();
+#endif
+public:
+ enum { cutIn = 0, cutOut = 1, cutMark = 2 };
+};
+
+SWIG_IGNORE(iCueSheet);
+class iCueSheet: public iCueSheet_ENUMS, 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;