Version 1.2.5pre3

- Fixed dropping out of replay mode while viewing a recording that is still
  going on (thanks to Oliver Endriss for reporting and helping to debug this
  one).
- Fixed handling ':' characters in channel names when reading channels.conf
  (thanks to Reinhard Nissl for reporting this one).
- Fixed the URL to the 'Doxygen' tool in INSTALL (thanks to Dirk Essl).
- Removed the obsolete chapter "Stopping a recording on the primary DVB interface"
  from MANUAL.
- Completed Dutch language texts (thanks to Hans Dingemans).
- Made 'diseqc.conf' a required file only if Setup.DiSEqC is activated (thanks to
  Thomas Schmidt).
- VDR now starts up even if 'keymacros.conf' references a plugin that is currently
  not loaded (suggested by Alexander Wetzel).
- Fixed checking for VIDEO_STREAM_S in cRemux::SetBrokenLink() (thanks to Oliver
  Endriss).
- Added 'repeat' function to keys '7' and '9' ("jump to mark") in replay mode
  (suggested by Oliver Endriss).
- Made cOsdMenu::Display() virtual, which allows plugins to do some additional
  processing after calling the base class function (suggested by Jan Rieger).
- Updated 'ca.conf' (thanks to Marco Franceschetti).
This commit is contained in:
Klaus Schmidinger 2003-09-14 18:00:00 +02:00
parent bff4529f01
commit 3feeb907f7
15 changed files with 107 additions and 72 deletions

View File

@ -491,6 +491,10 @@ Oliver Endriss <o.endriss@gmx.de>
for fixing I/O handling in case an explicit controlling terminal is given
for fixing displaying still pictures, now using the driver's VIDEO_STILLPICTURE call
directly
for reporting and helping to debug dropping out of replay mode while viewing a
recording that is still going on
for fixing checking for VIDEO_STREAM_S in cRemux::SetBrokenLink()
for suggesting to add 'repeat' function keys '7' and '9'
Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf'
@ -597,6 +601,8 @@ Sven Goethel <sgoethel@jausoft.com>
Jan Rieger <jan@ricomp.de>
for suggestions and testing raw keyboard input
for suggesting to make cOsdMenu::Display() virtual, which allows plugins to do some
additional processing after calling the base class function
Walter Stroebel <walter.stroebel@lifeline.nl>
for introducing "Doxygen" to document the VDR source code
@ -745,6 +751,7 @@ Jon Burgess <mplayer@jburgess.uklinux.net>
Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
for reporting a crash when cancelling a newly created timer
for making 'diseqc.conf' a required file only if Setup.DiSEqC is activated
Michael Walle <michael.walle@web.de>
for reporting a bug in channel switching after Left/Right has been pressed
@ -766,6 +773,8 @@ Ernst F
Reinhard Nissl <rnissl@gmx.de>
for reporting a name clash because of function crc32() in libdtv/libsi/si_parser.c
when using other libraries that also implement a function by that name
for reporting a bug in handling ':' characters in channel names when reading
channels.conf
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
@ -799,3 +808,16 @@ Christoph Hermanns <christoph.hermanns@gmx.de>
Oskar Signell <oskar@signell.net>
for pointing out a problem with setting an editing mark while in "Pause" mode,
where replay was not immediately positioned to the marked frame
Dirk Essl <de@floydworld.de>
for reporting a wrong URL to the 'Doxygen' tool in INSTALL
Hans Dingemans <hans.dingemans@tacticalops.nl>
for translating OSD texts to the Dutch language
Alexander Wetzel <alexander.wetzel@web.de>
for suggesting to let VDR start up even if 'keymacros.conf' references a plugin
that is currently not loaded
Marco Franceschetti <ordaz@quipo.it>
for updating 'ca.conf'

23
HISTORY
View File

@ -2375,3 +2375,26 @@ Video Disk Recorder Revision History
- The DVB devices no longer send CA descriptors to the CAM while the EPG scanner
is active (sometimes the CAMs got irritated when the device tuned to channels
they couldn't handle).
2003-09-14: Version 1.2.5pre3
- Fixed dropping out of replay mode while viewing a recording that is still
going on (thanks to Oliver Endriss for reporting and helping to debug this
one).
- Fixed handling ':' characters in channel names when reading channels.conf
(thanks to Reinhard Nissl for reporting this one).
- Fixed the URL to the 'Doxygen' tool in INSTALL (thanks to Dirk Essl).
- Removed the obsolete chapter "Stopping a recording on the primary DVB interface"
from MANUAL.
- Completed dutch language texts (thanks to Hans Dingemans).
- Made 'diseqc.conf' a required file only if Setup.DiSEqC is activated (thanks to
Thomas Schmidt).
- VDR now starts up even if 'keymacros.conf' references a plugin that is currently
not loaded (suggested by Alexander Wetzel).
- Fixed checking for VIDEO_STREAM_S in cRemux::SetBrokenLink() (thanks to Oliver
Endriss).
- Added 'repeat' function keys '7' and '9' ("jump to mark") in replay mode
(suggested by Oliver Endriss).
- Made cOsdMenu::Display() virtual, which allows plugins to do some additional
processing after calling the base class function (suggested by Jan Rieger).
- Updated 'ca.conf' (thanks to Marco Franceschetti).

View File

@ -382,7 +382,7 @@ Generating source code documentation:
-------------------------------------
You can do a 'make srcdoc' to generate source code documentation using the
Doxygen tool. To do so you need the Doxygen package from http://www.doxygen.src
Doxygen tool. To do so you need the Doxygen package from http://www.doxygen.org
and the Graphviz package from http://www.research.att.com/sw/tools/graphviz.
After installing these two packages you can do 'make srcdoc' and then use your
HTML browser to read srcdoc/html/index.html.

14
MANUAL
View File

@ -393,20 +393,6 @@ Version 1.2
A timer can also be programmed by pressing the "Red" button on the "Schedule",
"Now", "Next" or "Event" menus.
* Stopping a recording on the primary DVB interface
If the primary DVB interface is currently recording, the user can't switch
the channel or replay another recording on that interface. However, if there
is an other DVB interface that is currently not recording and provides the
necessary conditional access facilities to continue the recording that is
currently being performed on the primary DVB interface, the "VDR" menu will
contain an option that allows you to stop recording on the primary DVB
interface. Select that option to stop the ongoing recording and thus free the
primary DVB interface to allow channel switching or replaying. The interrupted
recording will be continued on an other free DVB interface. There may be a
short discontinuity at that point when replaying that recording later, so you
may want to place such an action for instance in a commercial break.
* Parameters in the "Setup" menu
Select "Setup" from the "VDR" menu to enter the setup menu. From there you can

14
ca.conf
View File

@ -31,6 +31,7 @@
404 Parabole Reunion
405 Hrvatska radiotelevizija
406 RTV Slovenija
407 Visat
# Viaccess 2
@ -52,6 +53,7 @@
# Nagravision
901 PolSat Cyfrowy
902 TV Cabo
# Irdeto 2
@ -68,13 +70,9 @@
10001 AB Sat France
10002 TPS France
# Videoguard, Mediaguard 2, Irdeto 1
# Videoguard, Mediaguard 2, Irdeto 2
11001 Stream TV Italy
# Videoguard, Mediaguard 2, Cryptoworks
12001 Tele+ Digitale
12001 Sky Italia
# Mediaguard 1, Irdeto 1
@ -84,9 +82,9 @@
14001 Canal Satellite France
# Mediaguard 1, Mediaguard 2, Viaccess 1, Cryptoworks
# Mediaguard 2, Nagravision
15001 Canal Satelite Digital Espana
15001 Digital+ Espana
# Mediaguard 2, Cryptoworks

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: channels.c 1.13 2003/08/16 09:12:26 kls Exp $
* $Id: channels.c 1.14 2003/09/09 18:55:26 kls Exp $
*/
#include "channels.h"
@ -315,6 +315,7 @@ const char *cChannel::ToText(void)
bool cChannel::Parse(const char *s, bool AllowNonUniqueID)
{
bool ok = true;
if (*s == ':') {
groupSep = true;
if (*++s == '@' && *++s) {
@ -346,7 +347,7 @@ bool cChannel::Parse(const char *s, bool AllowNonUniqueID)
vpid = ppid = 0;
apid1 = apid2 = 0;
dpid1 = dpid2 = 0;
bool ok = false;
ok = false;
if (parambuf && sourcebuf && vpidbuf && apidbuf) {
ok = StringToParameters(parambuf) && (source = cSource::FromString(sourcebuf)) >= 0;
char *p = strchr(vpidbuf, '+');
@ -372,13 +373,12 @@ bool cChannel::Parse(const char *s, bool AllowNonUniqueID)
esyslog("ERROR: channel data not unique!");
return false;
}
return ok;
}
else
return false;
}
strreplace(name, '|', ':');
return true;
return ok;
}
bool cChannel::Save(FILE *f)

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 1.171 2003/09/05 13:18:38 kls Exp $
* $Id: config.h 1.173 2003/09/14 10:37:49 kls Exp $
*/
#ifndef __CONFIG_H
@ -19,7 +19,7 @@
#include "device.h"
#include "tools.h"
#define VDRVERSION "1.2.5pre2"
#define VDRVERSION "1.2.5pre3"
#define VDRVERSNUM 10205 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99

64
i18n.c
View File

@ -4,13 +4,13 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: i18n.c 1.133 2003/08/26 15:27:25 kls Exp $
* $Id: i18n.c 1.134 2003/09/11 13:51:56 kls Exp $
*
* Translations provided by:
*
* Slovenian Miha Setina <mihasetina@softhome.net> and Matjaz Thaler <matjaz.thaler@guest.arnes.si>
* Italian Alberto Carraro <bertocar@tin.it> and Antonio Ospite <ospite@studenti.unina.it>
* Dutch Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>
* Dutch Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com> and Hans Dingemans <hans.dingemans@tacticalops.nl>
* Portuguese Paulo Lopes <pmml@netvita.pt>
* French Jean-Claude Repetto <jc@repetto.org>, Olivier Jacques <jacquesolivier@hotmail.com> and Gregoire Favre <greg@magma.unil.ch>
* Norwegian Jørgen Tvedt <pjtvedt@online.no> and Truls Slevigen <truls@slevigen.no>
@ -212,7 +212,7 @@ const tI18nPhrase Phrases[] = {
"Befehle für Aufzeichnungen",
"Ukazi za snemanje",
"Comandi di Registrazione",
"",// TODO
"Opname commando's",
"",// TODO
"Commandes d'enregistrement",
"",// TODO
@ -672,7 +672,7 @@ const tI18nPhrase Phrases[] = {
"Einfügen",
"Vstavi",
"Inserisci",
"",// TODO
"Invoegen",
"",// TODO
"Insért",
"",// TODO
@ -689,7 +689,7 @@ const tI18nPhrase Phrases[] = {
"Überschreiben",
"Prepisi",
"Sovrascrivi",
"",// TODO
"Overschrijven",
"",// TODO
"Écraser",
"",// TODO
@ -723,7 +723,7 @@ const tI18nPhrase Phrases[] = {
"Reset",
"Reset",
"Reset",
"",//TODO
"Herstart",
"",//TODO
"Réinitialisation",
"",//TODO
@ -997,7 +997,7 @@ const tI18nPhrase Phrases[] = {
"Quelle",
"Pozicija",
"Sorgente",
"",//TODO
"Bron",
"",//TODO
"Source",
"",//TODO
@ -1594,7 +1594,7 @@ const tI18nPhrase Phrases[] = {
"Kanal nicht verfügbar!",
"Kanal ni razpolozljiv!",
"Canale non disponibile!",
"",//TODO
"Kanaal niet beschikbaar",
"",//TODO
"Chaîne non disponible!",
"",//TODO
@ -1611,7 +1611,7 @@ const tI18nPhrase Phrases[] = {
"Kanaleinstellungen sind nicht eindeutig!",
"Nastavitve kanala niso edinstvene!",
"Paramentri Canale non unici!",
"",//TODO
"Kanaalinstellingen zijn niet uniek!",
"",//TODO
"Caractéristiques des chaînes ne sont pas uniques",
"",//TODO
@ -1662,7 +1662,7 @@ const tI18nPhrase Phrases[] = {
"Keine Schnittmarken gesetzt!",
"Nobena tocka ni definirana!",
"Nessun marcatore di modifica definito!",
"",//TODO
"Geen bewerkingsmarkeringen gedefinieerd!",
"",//TODO
"Pas de marques d'édition définies!",
"",//TODO
@ -1747,7 +1747,7 @@ const tI18nPhrase Phrases[] = {
"CAM-Menü kann nicht geöffnet werden!",
"Ne morem odpreti CAM menija!",
"Impossibile aprire il menu CAM!",
"",//TODO
"Kan CAM-menu niet openen!",
"",//TODO
"Impossible d'ouvrir le menu CAM!",
"",//TODO
@ -1764,7 +1764,7 @@ const tI18nPhrase Phrases[] = {
"CAM-Reset fehlgeschlagen!",
"Ne morem resetirati CAM-a",
"Impossibile reimpostare il modulo CAM!",
"",//TODO
"Kan CAM niet herstarten!",
"",//TODO
"Impossible de réinitialiser la CAM!",
"",//TODO
@ -1781,7 +1781,7 @@ const tI18nPhrase Phrases[] = {
"CAM wurde zurückgesetzt!",
"CAM je resetiran!",
"Modulo CAM reimpostato!",
"",//TODO
"CAM is herstart!",
"",//TODO
"La CAM a été réinitialisée",
"",//TODO
@ -2412,7 +2412,7 @@ const tI18nPhrase Phrases[] = {
"Pause Priorität",
"Prioriteta pavze",
"Priorita' di pausa",
"",// TODO
"Pauze prioriteit",
"",// TODO
"Priorité des pauses",
"",// TODO
@ -2429,7 +2429,7 @@ const tI18nPhrase Phrases[] = {
"Pause Lebensdauer (d)",
"Cas pavze (d)",
"Durata pausa (gg)",
"",// TODO
"Pauze levensduur (d)",
"",// TODO
"Durée de vie des pauses (j)",
"",// TODO
@ -2497,7 +2497,7 @@ const tI18nPhrase Phrases[] = {
"Dauer der Direktaufzeichnung (min)",
"Cas direktnega snemanja (min)",
"Tempo registrazione istantanea (min)",
"",//TODO
"Duur van de directe opname (min)",
"",//TODO
"Durée enregistr. immédiat (min)",
"",//TODO
@ -2599,7 +2599,7 @@ const tI18nPhrase Phrases[] = {
"Wiedergabe ID",
"Predvajalni ID",
"Resume ID",// TODO
"Resume ID",// TODO
"Hervattings ID",
"Resume ID",// TODO
"ID de reprise",
"Resume ID",// TODO
@ -2667,7 +2667,7 @@ const tI18nPhrase Phrases[] = {
"Zap Timeout (s)",
"",// TODO
"",// TODO
"",// TODO
"Zap timeout (s)",
"",// TODO
"",// TODO
"",// TODO
@ -2925,7 +2925,7 @@ const tI18nPhrase Phrases[] = {
"('Menü' drücken zum Überspringen)",
"pritisnite 'Meni' za preskok te tipke",
"(premere 'Menu' per saltare questo tasto)",
"",// TODO
"Druk 'Menu' om deze toets over te slaan",
"",// TODO
"('Menu' pour passer cette touche)",
"",// TODO
@ -3164,7 +3164,7 @@ const tI18nPhrase Phrases[] = {
"Wiedergabe",
"Predvajaj",
"Riproduci",
"",// TODO
"Weergeven",
"",// TODO
"Lecture",
"",// TODO
@ -3181,7 +3181,7 @@ const tI18nPhrase Phrases[] = {
"Pause",
"Pavza",
"Pausa",
"",// TODO
"Pauze",
"",// TODO
"Pause",
"",// TODO
@ -3198,7 +3198,7 @@ const tI18nPhrase Phrases[] = {
"Stop",
"Ustavi",
"Stop",
"",// TODO
"Stop",
"Stop",
"Stop",
"",// TODO
@ -3215,7 +3215,7 @@ const tI18nPhrase Phrases[] = {
"Aufnehmen",
"Snemaj",
"Registra",
"",// TODO
"Opnemen",
"",// TODO
"Enregistrement",
"",// TODO
@ -3232,7 +3232,7 @@ const tI18nPhrase Phrases[] = {
"Vorlauf",
"Hitro naprej",
"Avanti Veloce",
"",// TODO
"Vooruitspoelen",
"",// TODO
"Avance rapide",
"",// TODO
@ -3249,7 +3249,7 @@ const tI18nPhrase Phrases[] = {
"Rücklauf",
"Hitro nazaj",
"Indietro Veloce",
"",// TODO
"Terugspoelen",
"",// TODO
"Retour rapide",
"",// TODO
@ -3283,7 +3283,7 @@ const tI18nPhrase Phrases[] = {
"Kanal+",
"Kanal+",
"Canale +",
"",// TODO
"Kanaal+",
"",// TODO
"Chaîne+",
"",// TODO
@ -3300,7 +3300,7 @@ const tI18nPhrase Phrases[] = {
"Kanal-",
"Kanal-",
"Canale -",
"",// TODO
"Kanaal-",
"",// TODO
"Chaîne-",
"",// TODO
@ -3403,7 +3403,7 @@ const tI18nPhrase Phrases[] = {
"aus",
"izklop",
"off",
"",// TODO
"uit",
"off",
"",// TODO
"",// TODO
@ -3420,7 +3420,7 @@ const tI18nPhrase Phrases[] = {
"keine",
"nobeden",
"nessuno",
"",// TODO
"geen",
"",// TODO
"aucun",
"",// TODO
@ -3437,7 +3437,7 @@ const tI18nPhrase Phrases[] = {
"auto",
"avtomatsko",
"auto",
"",// TODO
"auto",
"",// TODO
"auto",
"",// TODO
@ -3709,7 +3709,7 @@ const tI18nPhrase Phrases[] = {
"Live-Signal wird angehalten...",
"Ustavljanje predvajanja v zivo...",
"Pausa del canale in visione...",
"",// TODO
"Pauzeren live uitzending...",
"",// TODO
"Pause de l'émission en direct...",
"",// TODO
@ -3726,7 +3726,7 @@ const tI18nPhrase Phrases[] = {
"Dieses Plugin hat keine Setup-Parameter!",
"Ta plugin nima nastavitvenih parametrov!",
"Questo plugin non ha parametri di setup!",
"",// TODO
"Deze plugin heeft geen instelparameters",
"",// TODO
"Ce plugin n'a pas de paramètres!",
"",// TODO

5
keys.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: keys.c 1.4 2002/11/30 16:01:37 kls Exp $
* $Id: keys.c 1.5 2003/09/14 10:07:47 kls Exp $
*/
#include "keys.h"
@ -212,7 +212,8 @@ bool cKeyMacro::Parse(char *s)
plugin = strdup(p + 1);
if (!cPluginManager::GetPlugin(plugin)) {
esyslog("ERROR: unknown plugin '%s'", plugin);
return false;
// this is not a fatal error - plugins may or may not be loaded
macro[--n] = kNone; // makes sure the key doesn't cause any side effects
}
}
else {

4
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 1.271 2003/09/06 10:26:45 kls Exp $
* $Id: menu.c 1.272 2003/09/14 10:49:28 kls Exp $
*/
#include "menu.h"
@ -3664,7 +3664,9 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
switch (Key) {
// Editing:
case kMarkToggle: MarkToggle(); break;
case kMarkJumpBack|k_Repeat:
case kMarkJumpBack: MarkJump(false); break;
case kMarkJumpForward|k_Repeat:
case kMarkJumpForward: MarkJump(true); break;
case kMarkMoveBack|k_Repeat:
case kMarkMoveBack: MarkMove(false); break;

4
osd.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osd.h 1.39 2003/04/21 10:27:41 kls Exp $
* $Id: osd.h 1.40 2003/09/14 10:59:22 kls Exp $
*/
#ifndef __OSD_H
@ -165,7 +165,7 @@ public:
int Current(void) { return current; }
void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL);
void Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL);
void Display(void);
virtual void Display(void);
virtual eOSState ProcessKey(eKeys Key);
};

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.c 1.82 2003/08/17 09:10:46 kls Exp $
* $Id: recording.c 1.83 2003/09/09 16:02:55 kls Exp $
*/
#include "recording.h"
@ -859,6 +859,7 @@ bool cIndexFile::CatchUp(int Index)
{
// returns true unless something really goes wrong, so that 'index' becomes NULL
if (index && f >= 0) {
cMutexLock MutexLock(&mutex);
for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index >= last); i++) {
struct stat buf;
if (fstat(f, &buf) == 0) {

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.h 1.26 2003/08/17 09:03:46 kls Exp $
* $Id: recording.h 1.27 2003/09/09 16:00:56 kls Exp $
*/
#ifndef __RECORDING_H
@ -12,6 +12,7 @@
#include <time.h>
#include "config.h"
#include "thread.h"
#include "timers.h"
#include "tools.h"
@ -130,6 +131,7 @@ private:
int size, last;
tIndex *index;
cResumeFile resumeFile;
cMutex mutex;
bool CatchUp(int Index = -1);
public:
cIndexFile(const char *FileName, bool Record);

View File

@ -8,7 +8,7 @@
* the Linux DVB driver's 'tuxplayer' example and were rewritten to suit
* VDR's needs.
*
* $Id: remux.c 1.16 2003/08/06 14:44:03 kls Exp $
* $Id: remux.c 1.17 2003/09/14 10:34:39 kls Exp $
*/
/* The calling interface of the 'cRemux::Process()' function is defined
@ -672,7 +672,7 @@ XXX*/
void cRemux::SetBrokenLink(uchar *Data, int Length)
{
if (Length > 9 && Data[0] == 0 && Data[1] == 0 && Data[2] == 1 && (Data[3] & VIDEO_STREAM_S) == VIDEO_STREAM_S) {
if (Length > 9 && Data[0] == 0 && Data[1] == 0 && Data[2] == 1 && (Data[3] & 0xF0) == VIDEO_STREAM_S) {
for (int i = Data[8] + 9; i < Length - 7; i++) { // +9 to skip video packet header
if (Data[i] == 0 && Data[i + 1] == 0 && Data[i + 2] == 1 && Data[i + 3] == 0xB8) {
if (!(Data[i + 7] & 0x40)) // set flag only if GOP is not closed

4
vdr.c
View File

@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
* $Id: vdr.c 1.168 2003/09/05 13:14:16 kls Exp $
* $Id: vdr.c 1.169 2003/09/14 09:36:54 kls Exp $
*/
#include <getopt.h>
@ -346,7 +346,7 @@ int main(int argc, char *argv[])
Setup.Load(AddDirectory(ConfigDirectory, "setup.conf"));
if (!(Sources.Load(AddDirectory(ConfigDirectory, "sources.conf"), true, true) &&
Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true, true) &&
Diseqcs.Load(AddDirectory(ConfigDirectory, "diseqc.conf"), true, Setup.DiSEqC) &&
Channels.Load(AddDirectory(ConfigDirectory, "channels.conf"), false, true) &&
Timers.Load(AddDirectory(ConfigDirectory, "timers.conf")) &&
Commands.Load(AddDirectory(ConfigDirectory, "commands.conf"), true) &&