diff options
author | Klaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de> | 2010-01-31 15:42:00 +0100 |
---|---|---|
committer | Klaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de> | 2010-01-31 15:42:00 +0100 |
commit | 09a17d56e2a3f975a0467e8da4ca26c946b6ccf7 (patch) | |
tree | 4ca95499f117bf8bf0a51149bb85493d93ee111e /config.h | |
parent | 939081e274d0a9868e5ba9a7951666ad508afb96 (diff) | |
download | vdr-patch-lnbsharing-09a17d56e2a3f975a0467e8da4ca26c946b6ccf7.tar.gz vdr-patch-lnbsharing-09a17d56e2a3f975a0467e8da4ca26c946b6ccf7.tar.bz2 |
Version 1.7.12vdr-1.7.12
- Changed the EVCONTENTMASK_* macros to enums and changed "mask" to "group".
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- The "Edit timer" menu can now set the folder for the recording from a list of
folders stored in "folders.conf".
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- If svdrphosts.conf contains only the address of the local host, the SVDRP port
is opened only for the local host (thanks to Manuel Reimer).
- Renamed 'runvdr' to 'runvdr.template' and no longer copying it to the BINDIR
in 'make install' (thanks to Martin Dauskardt).
- Added plain text error messages to log entries from cOsd::SetAreas() (suggested
by Rolf Ahrenberg).
- cPalette::ClosestColor() now treats fully transparent colors as "equal"; improved
cDvbSpuBitmap::getMinBpp() (thanks to Matthieu Castet and Johann Friedrichs).
- The new setup option "Miscellaneous/Channels wrap" controls whether the current
channel wraps around the beginning or end of the channel list when zapping (thanks
to Matti Lehtimäki).
- Fixed determining the frame duration on channels where the PTS deltas jitter by
+/-1 around 1800.
- The PCR pid in generated PMTs is now set to the channel's PCR pid again.
- Fixed determining the frame duration on channels where the PTS deltas jitter by
+/-1 around 3600.
- The PCR pid is now recorded for channels where this is different from the video
PID. To facilitate this, the interfaces of cTransfer, cTransferControl, cRecorder
and cReceiver have been modified, so that the PIDs are no longer given in separate
parameters, but rather the whole channel is handed down for processing. The old
constructor of cReceiver is still available, but it is recommended to plugin authors
that they switch to the new interface as soon as possible.
When replaying such a recording, the PCR packets are sent to PlayTsVideo()
- The files "commands.conf" and "reccmd.conf" can now contain nested lists of
commands. See vdr.5 for information about the new file format.
Diffstat (limited to 'config.h')
-rw-r--r-- | config.h | 61 |
1 files changed, 38 insertions, 23 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 2.16 2009/11/22 19:55:04 kls Exp $ + * $Id: config.h 2.21 2010/01/31 11:14:02 kls Exp $ */ #ifndef __CONFIG_H @@ -22,13 +22,13 @@ // VDR's own version number: -#define VDRVERSION "1.7.11" -#define VDRVERSNUM 10711 // Version * 10000 + Major * 100 + Minor +#define VDRVERSION "1.7.12" +#define VDRVERSNUM 10712 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: -#define APIVERSION "1.7.11" -#define APIVERSNUM 10711 // Version * 10000 + Major * 100 + Minor +#define APIVERSION "1.7.12" +#define APIVERSNUM 10712 // Version * 10000 + Major * 100 + Minor // When loading plugins, VDR searches them by their APIVERSION, which // may be smaller than VDRVERSION in case there have been no changes to @@ -48,21 +48,6 @@ #define MaxSkinName 16 #define MaxThemeName 16 -class cCommand : public cListObject { -private: - char *title; - char *command; - bool confirm; - static char *result; -public: - cCommand(void); - virtual ~cCommand(); - bool Parse(const char *s); - const char *Title(void) { return title; } - bool Confirm(void) { return confirm; } - const char *Execute(const char *Parameters = NULL); - }; - typedef uint32_t in_addr_t; //XXX from /usr/include/netinet/in.h (apparently this is not defined on systems with glibc < 2.2) class cSVDRPhost : public cListObject { @@ -72,6 +57,7 @@ private: public: cSVDRPhost(void); bool Parse(const char *s); + bool IsLocalhost(void); bool Accepts(in_addr_t Address); }; @@ -158,15 +144,43 @@ public: } }; -class cCommands : public cConfig<cCommand> {}; +class cNestedItem : public cListObject { +private: + char *text; + cList<cNestedItem> *subItems; +public: + cNestedItem(const char *Text, bool WithSubItems = false); + virtual ~cNestedItem(); + virtual int Compare(const cListObject &ListObject) const; + const char *Text(void) const { return text; } + cList<cNestedItem> *SubItems(void) { return subItems; } + void AddSubItem(cNestedItem *Item); + void SetText(const char *Text); + void SetSubItems(bool On); + }; + +class cNestedItemList : public cList<cNestedItem> { +private: + char *fileName; + bool Parse(FILE *f, cList<cNestedItem> *List, int &Line); + bool Write(FILE *f, cList<cNestedItem> *List, int Indent = 0); +public: + cNestedItemList(void); + virtual ~cNestedItemList(); + void Clear(void); + bool Load(const char *FileName); + bool Save(void); + }; class cSVDRPhosts : public cConfig<cSVDRPhost> { public: + bool LocalhostOnly(void); bool Acceptable(in_addr_t Address); }; -extern cCommands Commands; -extern cCommands RecordingCommands; +extern cNestedItemList Folders; +extern cNestedItemList Commands; +extern cNestedItemList RecordingCommands; extern cSVDRPhosts SVDRPhosts; class cSetupLine : public cListObject { @@ -272,6 +286,7 @@ public: int CurrentDolby; int InitialChannel; int InitialVolume; + int ChannelsWrap; int EmergencyExit; int __EndData__; cSetup(void); |