summaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2000-09-10 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2000-09-10 18:00:00 +0200
commit76c331181a23f97d5e3f2b55c4741ef4e521242d (patch)
tree2653e97d41826894c9950c8a0ee798667aca9c9c /config.h
parent48fea259ae5ed3ac19bcc4152341252b9df39128 (diff)
downloadvdr-patch-lnbsharing-76c331181a23f97d5e3f2b55c4741ef4e521242d.tar.gz
vdr-patch-lnbsharing-76c331181a23f97d5e3f2b55c4741ef4e521242d.tar.bz2
Version 0.63vdr-0.63
- The new "Setup" menu allows the user to configure several parameters to his/her personal taste (see MANUAL for details). - Workaround for a driver timing problem in cDvbApi::Cmd(), which sometimes caused the OSD to no longer be displayed (thanks to Niels de Carpentier). - Added the '-m486' option to the compiler call. - If a channel name contains a colon (':') it is now replaced with a '|' in channels.conf. - Not everybody appears to like the "page scrolling" mechanism introduced by Heino Goldenstein in version 0.61, so this is now configurable via the "Setup" menu. - The new 'dvbrc2vdr' tool (thanks to Plamen Ganev!) can be used to convert 'dvbrc' channel files into 'vdr' format. - Channels can now be "grouped" (thanks to Plamen Ganev!). See MANUAL for details. There is currently no mechanism to define and maintain "Channel groups" via the menu, so you'll have to insert "Channel group" control lines into your 'channels.conf' file manually (for example with a text editor). - Started a new file named FORMATS with a description of the various file formats used by VDR. - The "Primary DVB interface" can now be chosen via the "Setup" menu. - Display of the "current/next" information when switching channels can now be disabled via the "Setup" menu. - The "current/next" display now only shows those lines that actually contain information. - When directly selecting a channel by entering the channel number, the digits entered so far together with the name of that channel are displayed on the OSD (suggested by Martin Hammerschmid).
Diffstat (limited to 'config.h')
-rw-r--r--config.h52
1 files changed, 43 insertions, 9 deletions
diff --git a/config.h b/config.h
index 15e9050..30dd9ba 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.15 2000/09/03 09:37:30 kls Exp $
+ * $Id: config.h 1.19 2000/09/10 15:05:08 kls Exp $
*/
#ifndef __CONFIG_H
@@ -17,7 +17,7 @@
#include "dvbapi.h"
#include "tools.h"
-#define VDRVERSION "0.62"
+#define VDRVERSION "0.63"
#define MaxBuffer 10000
@@ -75,14 +75,14 @@ public:
int apid;
int ca;
int pnr;
+ int number; // Sequence number assigned on load
+ bool groupSep;
cChannel(void);
cChannel(const cChannel *Channel);
const char *ToText(void);
bool Parse(const char *s);
bool Save(FILE *f);
bool Switch(cDvbApi *DvbApi = NULL);
- static bool SwitchTo(int i, cDvbApi *DvbApi = NULL);
- static const char *GetChannelName(int i);
};
class cTimer : public cListObject {
@@ -130,7 +130,7 @@ private:
cList<T>::Clear();
}
public:
- bool Load(const char *FileName)
+ virtual bool Load(const char *FileName)
{
isyslog(LOG_INFO, "loading %s", FileName);
bool result = true;
@@ -155,7 +155,7 @@ public:
fclose(f);
}
else {
- esyslog(LOG_ERR, "can't open '%s'\n", fileName);
+ LOG_ERROR_STR(fileName);
result = false;
}
return result;
@@ -176,23 +176,57 @@ public:
}
fclose(f);
}
- else
+ else {
+ LOG_ERROR_STR(fileName);
result = false;
+ }
return result;
}
};
-class cChannels : public cConfig<cChannel> {};
-
+class cChannels : public cConfig<cChannel> {
+protected:
+ int maxNumber;
+public:
+ cChannels(void) { maxNumber = 0; }
+ virtual bool Load(const char *FileName);
+ int GetNextGroup(int Idx); // Get next channel group
+ int GetPrevGroup(int Idx); // Get previous channel group
+ int GetNextNormal(int Idx); // Get next normal channel (not group)
+ void ReNumber(void); // Recalculate 'number' based on channel type
+ cChannel *GetByNumber(int Number);
+ const char *GetChannelNameByNumber(int Number);
+ bool SwitchTo(int Number, cDvbApi *DvbApi = NULL);
+ int MaxNumber(void) { return maxNumber; }
+ eKeys ShowChannel(int Number, bool Switched, bool Group = false);
+ };
+
class cTimers : public cConfig<cTimer> {
public:
cTimer *GetTimer(cTimer *Timer);
};
extern int CurrentChannel;
+extern int CurrentGroup;
extern cChannels Channels;
extern cTimers Timers;
extern cKeys Keys;
+class cSetup {
+private:
+ static char *fileName;
+ bool Parse(char *s);
+public:
+ // Also adjust cMenuSetup (menu.c) when adding parameters here!
+ int PrimaryDVB;
+ int ShowInfoOnChSwitch;
+ int MenuScrollPage;
+ cSetup(void);
+ bool Load(const char *FileName);
+ bool Save(const char *FileName = NULL);
+ };
+
+extern cSetup Setup;
+
#endif //__CONFIG_H