diff options
-rw-r--r-- | conflictcheck.c | 34 | ||||
-rw-r--r-- | conflictcheck.h | 100 | ||||
-rw-r--r-- | doc-src/de/epgsearch.1.txt | 15 | ||||
-rw-r--r-- | doc-src/en/epgsearch.1.txt | 13 | ||||
-rw-r--r-- | doc-src/en/epgsearch.4.txt | 2 | ||||
-rw-r--r-- | doc-src/en/epgsearchmenu.conf.5.txt | 2 | ||||
-rw-r--r-- | doc-src/en/epgsearchuservars.conf.5.txt | 2 | ||||
-rw-r--r-- | epgsearchsvdrp.c | 4 | ||||
-rw-r--r-- | epgsearchtools.c | 6 | ||||
-rw-r--r-- | epgsearchtools.h | 4 | ||||
-rw-r--r-- | mainmenushortcut.h | 4 | ||||
-rw-r--r-- | menu_commands.c | 4 | ||||
-rw-r--r-- | menu_myedittimer.c | 4 | ||||
-rw-r--r-- | searchtimer_thread.c | 8 | ||||
-rw-r--r-- | templatefile.c | 2 |
15 files changed, 10 insertions, 194 deletions
diff --git a/conflictcheck.c b/conflictcheck.c index 7b30326..671907c 100644 --- a/conflictcheck.c +++ b/conflictcheck.c @@ -510,8 +510,6 @@ int cConflictCheck::ProcessCheckTime(cConflictCheckTime* checkTime) return Conflicts; } -#if APIVERSNUM >= 10500 - eModuleStatus cConflictCheck::CamSlotModuleStatus(cCamSlot *CamSlot) { if (!CamSlot) return msNone; @@ -591,9 +589,7 @@ int cConflictCheck::GetDevice(cConflictCheckTimerObj* TimerObj, bool* NeedsDetac // avoid the primary device imp <<= 1; imp |= devices[i].IsPrimaryDevice(); // avoid cards with Common Interface for FTA channels -#if APIVERSNUM >= 10501 imp <<= 1; imp |= NumUsableSlots ? 0 : devices[i].HasCi(); -#endif // avoid full featured cards imp <<= 1; imp |= devices[i].HasDecoder(); // prefer CAMs that are known to decrypt this channel @@ -612,36 +608,6 @@ int cConflictCheck::GetDevice(cConflictCheckTimerObj* TimerObj, bool* NeedsDetac } return selDevice; } -#else -// retrieves a free device (nearly a copy of the original cDevice::GetDevice) -int cConflictCheck::GetDevice(cConflictCheckTimerObj* TimerObj, bool *NeedsDetachReceivers) -{ - int selDevice = -1; - int Priority = TimerObj->timer->Priority(); - const cChannel* Channel = TimerObj->timer->Channel(); - uint Impact = 0xFFFFFFFF; - for (int i = 0; i < numDevices; i++) { - bool ndr; - if (devices[i].ProvidesChannel(Channel, Priority, &ndr)) { // this device is basicly able to do the job - uint imp = 0; - imp <<= 1; imp |= !devices[i].Receiving() || ndr; - imp <<= 1; imp |= devices[i].Receiving(); - imp <<= 1; //imp |= devices[i] == ActualDevice(); // cannot be handled - imp <<= 8; imp |= min(max(devices[i].Priority() + MAXPRIORITY, 0), 0xFF); - imp <<= 8; imp |= min(max(devices[i].ProvidesCa(Channel), 0), 0xFF); - imp <<= 1; imp |= devices[i].IsPrimaryDevice(); - imp <<= 1; imp |= devices[i].HasDecoder(); - if (imp < Impact) { - Impact = imp; - selDevice = i; - if (NeedsDetachReceivers) - *NeedsDetachReceivers = ndr; - } - } - } - return selDevice; -} -#endif void cConflictCheck::AddConflict(cConflictCheckTimerObj* TimerObj, cConflictCheckTime* CheckTime, std::set<cConflictCheckTimerObj*>& pendingTimers) { diff --git a/conflictcheck.h b/conflictcheck.h index 58df933..18e7eb5 100644 --- a/conflictcheck.h +++ b/conflictcheck.h @@ -90,102 +90,6 @@ class cConflictCheckTime : public cListObject } }; -#if APIVERSNUM < 10500 -// --- cConflictCheckDevice -------------------------------------------------------- -// This class tries to emulate the behaviour of a DVB device -// NOTE: The case device == NULL is only for debugging purposes -class cConflictCheckDevice -{ - public: - std::set<cConflictCheckTimerObj*,TimerObjSort> recTimers; - cDevice* device; - int devicenr; - - cConflictCheckDevice() {} - int Priority() const - { - int prio = -1; - for(std::set<cConflictCheckTimerObj*,TimerObjSort>::iterator it = recTimers.begin(); it != recTimers.end(); it++) - prio = max(prio, (*it)->timer->Priority()); - return prio; - }; - bool Receiving() const { return (recTimers.size() > 0); } - bool IsTunedTo (const cChannel* Channel) const - { - for(std::set<cConflictCheckTimerObj*,TimerObjSort>::iterator it = recTimers.begin(); it != recTimers.end(); it++) - if ((*it)->timer->Channel()->Source() == Channel->Source() && - (*it)->timer->Channel()->Transponder() == Channel->Transponder()) - return true; - return false; - } - bool HasDecoder() const { if (device) return device->HasDecoder(); else return (devicenr == 3); } - bool IsPrimaryDevice() const { if (device) return device->IsPrimaryDevice(); else return (devicenr == 3); } - bool ProvidesSource(int Source) const - { - if (device) return device->ProvidesSource(Source); - else - { -// int type = Source & cSource::st_Mask; -// if (devicenr == 0) return type == cSource::stCable; -// if (devicenr > 0) return type == cSource::stTerr; -// return false; - return true; - } - } - int ProvidesCa(const cChannel* Channel) const { if (device) return device->ProvidesCa(Channel); else return true; } - int Ca() const - { - for(std::set<cConflictCheckTimerObj*,TimerObjSort>::iterator it = recTimers.begin(); it != recTimers.end(); it++) - return (*it)->timer->Channel()->Ca(); - return 0; - } - bool HasPid(int Pid) const { return true; } - bool ProvidesChannel(const cChannel *Channel, int Priority = -1, bool *NeedsDetachReceivers = NULL) const - { - bool result = false; - bool hasPriority = Priority < 0 || Priority > this->Priority(); - bool needsDetachReceivers = false; - -#ifdef CFLC - if (ProvidesSource(Channel->Source())) -#else - if (ProvidesSource(Channel->Source()) && ProvidesCa(Channel)) -#endif - { - result = hasPriority; - if (Priority >= 0 && Receiving()) - { - if (IsTunedTo(Channel)) - { - if ((Channel->Vpid() && !HasPid(Channel->Vpid())) || (Channel->Apid(0) && ! HasPid(Channel->Apid(0)))) - { -#ifdef DO_MULTIPLE_RECORDINGS -#ifndef DO_MULTIPLE_CA_CHANNELS - if (Ca() >= CA_ENCRYPTED_MIN || Channel->Ca() >= CA_ENCRYPTED_MIN) - needsDetachReceivers = Ca() != Channel->Ca(); - else -#endif - if (!IsPrimaryDevice()) - result = true; -#ifdef DO_REC_AND_PLAY_ON_PRIMARY_DEVICE - else - result = Priority >= Setup.PrimaryLimit; -#endif -#endif - } - else - result = !IsPrimaryDevice() || Priority >= Setup.PrimaryLimit; - } - else - needsDetachReceivers = true; - } - } - if (NeedsDetachReceivers) - *NeedsDetachReceivers = needsDetachReceivers; - return result; - } -}; -#else // --- cConflictCheckDevice -------------------------------------------------------- // This class tries to emulate the behaviour of a DVB device // NOTE: The case device == NULL is only for debugging purposes @@ -276,8 +180,6 @@ class cConflictCheckDevice } }; -#endif - // --- cConflictCheck -------------------------------------------------------- class cConflictCheck { @@ -309,9 +211,7 @@ class cConflictCheck int ProcessCheckTime(cConflictCheckTime* checkTime); bool TimerInConflict(cTimer*); void EvaluateConflCheckCmd(); -#if APIVERSNUM >= 10500 eModuleStatus CamSlotModuleStatus(cCamSlot *CamSlot); -#endif }; #endif diff --git a/doc-src/de/epgsearch.1.txt b/doc-src/de/epgsearch.1.txt index 7a1e6b6..57eb01a 100644 --- a/doc-src/de/epgsearch.1.txt +++ b/doc-src/de/epgsearch.1.txt @@ -52,8 +52,6 @@ sorgen, dass Timer automatisch programmiert werden. - Email-Benachrichtigungen über Suchtimer-Updates und Timer-Konflikte -Funktioniert nur mit >= vdr-1.3.46. - Teile der Quelltexte basieren auf dem repeating-epg-patch von Gerhard Steiner, der mir die Erlaubnis gab, diese zu verwenden. Danke für seine Arbeit! =head1 OPTIONEN @@ -503,8 +501,8 @@ wird das Limit ignoriert und wieder alle Kanäle angezeigt. =item - B<Timer mit 'Aufnehmen' sofort anlegen:> -Falls 'Ja' wird ein Timer sofort erzeugt, sobald man 'Aufnehmen' drückt, wie -in vdr-1.3.38 eingeführt, sonst wird das Timer-Edit-Menü angezeigt. +Falls 'Ja' wird ein Timer sofort erzeugt, sobald man 'Aufnehmen' drückt, +sonst wird das Timer-Edit-Menü angezeigt. =item - B<Zeige Kanäle ohne EPG:> @@ -513,8 +511,8 @@ können oder einen Timer zu programmieren =item - B<Timer mit 'Aufnehmen' sofort anlegen:> -Falls 'Ja' wird nach Drücken von 'Aufnahme' sofort ein Timer angelegt, wie -in vdr-1.3.38 eingeführt, falls 'Nein' erscheint das Timer-Edit-Menü. +Falls 'Ja' wird nach Drücken von 'Aufnahme' sofort ein Timer angelegt, +falls 'Nein' erscheint das Timer-Edit-Menü. =item - B<Zeitintervall für FR/FF [min]:> @@ -1082,11 +1080,6 @@ die Zeile in die keymacros.conf schreiben, wobei x die Position von epgsearch innerhalb des launcher listings ist. -Achtung: Versteckt man das Plugin ohne die Verwendung des launcher -plugins oder anderer Patches, die das Aufrufen versteckter Plugins -erlauben, erhält man das VDR-Standard-Menü beim Drücken von Grün. Ab -VDR 1.3.32 sind dazu keine Patches oder Plugins mehr notwendig. - Ein weiterer Ansatz ist ein Patch gegen VDR, der das Standardmenü 'Programm' gegen epgsearch austauscht. Hierzu VDR mit dem Patch vdr-replace-schedulemenu.diff.gz aus dem diff --git a/doc-src/en/epgsearch.1.txt b/doc-src/en/epgsearch.1.txt index f35b1a4..ff00f39 100644 --- a/doc-src/en/epgsearch.1.txt +++ b/doc-src/en/epgsearch.1.txt @@ -50,8 +50,6 @@ additional functions: - Email notifications about search timer updates and timer conflicts -Works only with >= vdr-1.3.46 or newer. - Parts of the sources are based on the repeating-ECG patch from Gerhard Steiner, who gave me the permission to use them. Thanks for his work! =head1 OPTIONS @@ -499,8 +497,8 @@ be displayed again. =item - B<'One press' timer creation:> -If set to 'yes' a timer is immediately created when pressing 'Record' as -introduced in vdr-1.3.38, else the timer edit menu is displayed. +If set to 'yes' a timer is immediately created when pressing 'Record', +else the timer edit menu is displayed. =item - B<Show channels without EPG:> @@ -1022,17 +1020,12 @@ launcher-plugin and put the line in your keymacros.conf, where x is the position of the Epgsearch plugin within launchers menu listing. -Attention: Hiding the plugin without using the launcher plugin or -other patches that enable calling hidden plugins will show the standard -schedules menu when you press the green key. This is not needed -anymore after VDR >= 1.3.32. - Another approach is using a patch to VDR that replaces vdr's standard schedule menu with epgsearch (vdr-replace-schedulemenu.diff.gz in the patches subdir, thanks to the author Uwe/egal@vdrportal). When using this patch the entry should look like - Gree Schedule + Green Schedule This patch is already included in some patch collections, like the Bigpatch. diff --git a/doc-src/en/epgsearch.4.txt b/doc-src/en/epgsearch.4.txt index 6ed5f88..5fc60a5 100644 --- a/doc-src/en/epgsearch.4.txt +++ b/doc-src/en/epgsearch.4.txt @@ -559,7 +559,7 @@ The following variables exist: for the 'Whats on...' and 'Search results' menu there are also: %chnr% - channel number - %chsh% - the short channel name (>=vdr-1.3.15) + %chsh% - the short channel name %chlng% - the 'normal' channel name %chdata% - VDR's internal channel representation (e.g. 'S19.2E-1-1101-28106') %progr% - graphical progress bar (not for menu 'Search results'), diff --git a/doc-src/en/epgsearchmenu.conf.5.txt b/doc-src/en/epgsearchmenu.conf.5.txt index 7debf28..f200c6a 100644 --- a/doc-src/en/epgsearchmenu.conf.5.txt +++ b/doc-src/en/epgsearchmenu.conf.5.txt @@ -66,7 +66,7 @@ The following variables exist: for the 'Whats on...' and 'Search results' menu there is also: %chnr% - channel number - %chsh% - the short channel name (>=vdr-1.3.15) + %chsh% - the short channel name %chlng% - the 'normal' channel name %chdata% - VDR's internal channel representation (e.g. 'S19.2E-1-1101-28106') %progr% - graphical progress bar (not for menu 'Search results') diff --git a/doc-src/en/epgsearchuservars.conf.5.txt b/doc-src/en/epgsearchuservars.conf.5.txt index a1a658e..ce0827d 100644 --- a/doc-src/en/epgsearchuservars.conf.5.txt +++ b/doc-src/en/epgsearchuservars.conf.5.txt @@ -109,7 +109,7 @@ The following variables exist: F<epgsearchcats.conf>, like %genre% or %category% %chnr% - channel number - %chsh% - the short channel name (>=vdr-1.3.15) + %chsh% - the short channel name %chlng% - the 'normal' channel name %chdata% - VDR's internal channel representation (e.g. 'S19.2E-1-1101-28106') diff --git a/epgsearchsvdrp.c b/epgsearchsvdrp.c index 930f6fb..c3deeb7 100644 --- a/epgsearchsvdrp.c +++ b/epgsearchsvdrp.c @@ -446,11 +446,7 @@ cString cPluginEpgsearch::SVDRPCommand(const char *Command, const char *Option, cString cmdbuf = cString::sprintf("NEWT %d:%d:%s:%s:%s:%d:%d:%s:%s", Flags, Timer->Channel()->Number(), -#if VDRVERSNUM < 10503 - *Timer->PrintDay(start, Timer->WeekDays()), -#else *Timer->PrintDay(start, Timer->WeekDays(), true), -#endif bufStart, bufEnd, search->Priority, diff --git a/epgsearchtools.c b/epgsearchtools.c index 6a58b51..cdf2404 100644 --- a/epgsearchtools.c +++ b/epgsearchtools.c @@ -41,9 +41,7 @@ The project's page is at http://winni.vdr-developer.org/epgsearch #include "md5.h" #include "afuzzy.h" #include "timerstatus.h" -#if APIVERSNUM >= 10503 #include <langinfo.h> -#endif #ifdef HAVE_PCREPOSIX #include <pcreposix.h> @@ -854,7 +852,6 @@ int msprintf(char **strp, const char *fmt, ...) std::string GetCodeset() { -#if APIVERSNUM >= 10503 // Taken from VDR's vdr.c char *CodeSet = NULL; if (setlocale(LC_CTYPE, "")) @@ -871,9 +868,6 @@ std::string GetCodeset() return std::string(CodeSet); else return "ISO-8859-15"; -#else - return "ISO-8859-15"; -#endif } /* Read a line from a socket */ diff --git a/epgsearchtools.h b/epgsearchtools.h index c2528bd..e870027 100644 --- a/epgsearchtools.h +++ b/epgsearchtools.h @@ -99,10 +99,6 @@ using std::string; #define ICON_RUNNING_UTF8 "\uE012" #define ICON_VPS_UTF8 "\uE013" -#if APIVERSNUM < 10503 -#define Utf8BufSize(s) ((s) * 4) -#endif - #define CONTENT_DESCRIPTOR_MAX 255 extern const char AllowedChars[]; diff --git a/mainmenushortcut.h b/mainmenushortcut.h index 4be8839..a3c0e6f 100644 --- a/mainmenushortcut.h +++ b/mainmenushortcut.h @@ -26,11 +26,7 @@ The project's page is at http://winni.vdr-developer.org/epgsearch #include <vdr/plugin.h> -#if APIVERSNUM < 10508 -static const char I18nEpgsearch[] = "epgsearch"; -#else static const char I18nEpgsearch[] = "vdr-epgsearch"; -#endif class cMainMenuShortcutSetupPage : public cMenuSetupPage { diff --git a/menu_commands.c b/menu_commands.c index ab0ef99..a732f09 100644 --- a/menu_commands.c +++ b/menu_commands.c @@ -74,11 +74,7 @@ cMenuSearchCommands::~cMenuSearchCommands() void cMenuSearchCommands::LoadCommands() { -#if APIVERSNUM >= 10507 const char* szLanguageCode = I18nLanguageCode(I18nCurrentLanguage()); -#else - const char* szLanguageCode = I18nLanguageCode(Setup.OSDLanguage); -#endif char *pstrSearchToken, *pptr; char *pstrSearch=strdup(szLanguageCode); diff --git a/menu_myedittimer.c b/menu_myedittimer.c index b704b06..f2312bb 100644 --- a/menu_myedittimer.c +++ b/menu_myedittimer.c @@ -384,11 +384,7 @@ eOSState cMenuMyEditTimer::ProcessKey(eKeys Key) cmdbuf = cString::sprintf("%d:%d:%s:%04d:%04d:%d:%d:%s%s%s:%s", flags, ch->Number(), -#if VDRVERSNUM < 10503 - PRINTDAY(day, weekdays), -#else PRINTDAY(day, weekdays, true), -#endif start, stop, priority, diff --git a/searchtimer_thread.c b/searchtimer_thread.c index 833b2cd..91be7b7 100644 --- a/searchtimer_thread.c +++ b/searchtimer_thread.c @@ -693,11 +693,7 @@ bool cSearchTimerThread::AddModTimer(cTimer* Timer, int index, cSearchExt* searc msprintf(&cmdbuf, "NEWT %d:%d:%s:%s:%s:%d:%d:%s:%s", Flags, Timer->Channel()->Number(), -#if VDRVERSNUM < 10503 - *Timer->PrintDay(start, Timer->WeekDays()), -#else *Timer->PrintDay(start, Timer->WeekDays(), true), -#endif bufStart, bufEnd, Prio, @@ -709,11 +705,7 @@ bool cSearchTimerThread::AddModTimer(cTimer* Timer, int index, cSearchExt* searc index, Flags, Timer->Channel()->Number(), -#if VDRVERSNUM < 10503 - *Timer->PrintDay(start, Timer->WeekDays()), -#else *Timer->PrintDay(start, Timer->WeekDays(), true), -#endif bufStart, bufEnd, Prio, diff --git a/templatefile.c b/templatefile.c index 02bcbd1..8a4b2a6 100644 --- a/templatefile.c +++ b/templatefile.c @@ -145,11 +145,9 @@ cMenuTemplate* cTemplFile::GetTemplateByName(const char* Name) bool cTemplFile::Load(const char *FileName) { -#if APIVERSNUM >= 10503 // auto-enable WarEagle-Icons if VDRSymbols font is used if (strstr(Setup.FontOsd, "VDRSymbols") == Setup.FontOsd) EPGSearchConfig.WarEagle = 1; -#endif if (cConfig<cTemplLine>::Load(FileName, true)) { |