summaryrefslogtreecommitdiff
path: root/doc/en
diff options
context:
space:
mode:
authorChristian Wieninger <winni@debian.(none)>2007-11-11 15:40:28 +0100
committerChristian Wieninger <winni@debian.(none)>2007-11-11 15:40:28 +0100
commit8d4f8607dc1558ce73eb4c376bdbf78ddb65da83 (patch)
treed0c5dde81a36ab2e8a2edc7c1e6922556518b312 /doc/en
downloadvdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.gz
vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.bz2
Initial commit
Diffstat (limited to 'doc/en')
-rw-r--r--doc/en/createcats.1.txt115
-rw-r--r--doc/en/epgsearch.1.txt999
-rw-r--r--doc/en/epgsearch.4.txt856
-rw-r--r--doc/en/epgsearch.conf.5.txt145
-rw-r--r--doc/en/epgsearchblacklists.conf.5.txt75
-rw-r--r--doc/en/epgsearchcats.conf.5.txt134
-rw-r--r--doc/en/epgsearchchangrps.conf.5.txt67
-rw-r--r--doc/en/epgsearchcmds.conf.5.txt74
-rw-r--r--doc/en/epgsearchdirs.conf.5.txt104
-rw-r--r--doc/en/epgsearchmenu.conf.5.txt148
-rw-r--r--doc/en/epgsearchswitchtimers.conf.5.txt72
-rw-r--r--doc/en/epgsearchtemplates.conf.5.txt61
-rw-r--r--doc/en/epgsearchuservars.conf.5.txt182
-rw-r--r--doc/en/noannounce.conf.5.txt73
-rw-r--r--doc/en/timersdone.conf.5.txt56
15 files changed, 3161 insertions, 0 deletions
diff --git a/doc/en/createcats.1.txt b/doc/en/createcats.1.txt
new file mode 100644
index 0000000..22c11a2
--- /dev/null
+++ b/doc/en/createcats.1.txt
@@ -0,0 +1,115 @@
+createcats(5) Epgsearch Version 0.9.24.beta9 createcats(5)
+
+
+
+NAME
+ createcats - helps you creating your own epgsearchcats.conf
+
+SYNOPSIS
+ createcats [OPTIONS] /path_to/epg.data
+
+DESCRIPTION
+ This tool is deliverd with the plugin and should exist in the plugins
+ source directory after compilation. It helps you in creating your own
+ epgsearchcats.conf, if the samples in directory ’conf’ don’t fit your
+ needs.
+
+ createcats takes your epg.data as argument and scans it for suitable
+ EPG infos. Such an info is a set of a category name and a coresponding
+ value at the beginning of a line (represented with ’|’) and has the
+ form ’|category: value’, e.g.
+
+ |Genre: Action
+
+ So simply call it with
+
+ createcats /path_to/epg.data
+
+ The output is a file epgsearchcats.conf, that should be copied to your
+ plugins config dir. Before using it, you should do some customizing,
+ since not all things in the file will be suitable to be used as
+ extended EPG info.
+
+OPTIONS
+ The full set of arguments is:
+
+ usage: createcats [OPTIONS] /path_to/epg.data
+
+ -m N, --minappearance=N the minimum number a category has to appear
+ to be used
+ -v N, --maxvalues=N values of a category are omitted if they exceed
+ this number
+ -l N, --maxlength=N the maximum length of a text to be accepted
+ as a category value
+ -h, --help this help
+
+ Some notes:
+
+ -m N, --minappearance=N
+ createcats counts how often a category is used in your current
+ epg.data. If this is less than N, then this category will not be
+ part of the resulting epgsearchcats.conf.
+
+ -v N, --maxvalues=N
+ if the number of values for a category is more than N then create‐
+ cats will not output a value list for this category. As a conse‐
+ quence in epgsearch the menu item gets an edit item, that can be
+ filled with every text. Else, the item gets a selection item, that
+ lets you select from a list of values.
+
+ -l N, --maxlength=N
+ if the text length of a value is more than N, this value is not
+ part of the value list.
+
+ Hint: Results are best, if your current EPG is as big as possible. So
+ update it, if you are using an external EPG provider, before calling
+ createcats.
+
+ Please edit this file now, since it will contain also things not suit‐
+ able.
+
+ After that copy it to your plugins config directory.
+
+SEE ALSO
+ epgsearch(1), epgsearch(4), "epgsearchcats.conf(5)"
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bugreports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailinglist:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 createcats(5)
diff --git a/doc/en/epgsearch.1.txt b/doc/en/epgsearch.1.txt
new file mode 100644
index 0000000..4d4b9d3
--- /dev/null
+++ b/doc/en/epgsearch.1.txt
@@ -0,0 +1,999 @@
+epgsearch(5) Epgsearch Version 0.9.24.beta9 epgsearch(5)
+
+
+
+NAME
+ epgsearch - Searchtimer and replacement of the VDR program menu
+
+OVERVIEW
+ EPG-Search can be used as a replacement for the default schedules menu
+ entry. It looks like the standard schedules menu, but adds some addi‐
+ tional functions:
+
+ - Commands for EPG entries with 5 built-in commands like ’show repeats’,
+ ’create search’. One can add own commands for other needs, like adding a
+ VDRAdmin auto-timer.
+
+ - Add up to 4 user-defined times to ’now’ and ’next’ and an optional
+ favorites menu
+
+ - Searching the EPG: Create reusable queries, which can also be used
+ as ’search timers’.
+
+ - Search timers: Search for broadcasts in the background and add a
+ timer if one matches (similar to VDRAdmin’s auto-timers) or simply
+ make an announcement about it via OSD
+
+ - Avoid double recordings of the same event
+ * timer preview
+ * recognition of broken recordings
+ * fuzzy event comparison
+
+ - Progress bar in ’What’s on now’ and ’What’s on next’
+
+ - Shift the time displayed by key press, e.g. ’What’s on now’ + 30 minutes
+
+ - Start menu can be setup between ’Schedule’ or ’What’s on now’
+
+ - background check for timer conflicts with a timer conflict manager
+
+ - detailed EPG menu (summary) allows jumping to the next/previous
+ event
+
+ - support for extended EPG info for search timers
+
+ - extension of the timer edit menu with a directory item, user
+ defined weekday selection and a subtitle completion.
+
+ - Timer conflict check, informs you over the OSD about conflicts
+
+ - Timer conflict menu, show detailed information about the conflicts
+ and let you resolve them
+
+ - 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!
+
+OPTIONS
+ -f file, --svdrpsendcmd=file
+ the path to svdrpsend.pl for external SVDRP communication (default
+ is internal communication, so this is usually not needed anymore)
+
+ -c path, --config=path
+ to specify a specific config directory for all epgsearch config
+ files, default is ’<plugins configuration directory>/epgsearch’
+
+ -l file, --logfile=file
+ to specify a specific log file for epgsearch (default log file is
+ epgsearch.log in the epgsearchs config directory)
+
+ -v n, --verbose=n
+ verbose level for log file. Value 0 means no logging. Other values
+ are 1 (general messages), 2 (detailed messages), 3 (planned for
+ extra detailed info for debugging purposes)
+
+ -r, --reloadmenuconf
+ reload epgsearchmenu.conf with plugin call. This can be useful when
+ testing customized menu layouts.
+
+ -m file, --mailcmd=file
+ the external command to be used for mail delivery. The default uses
+ ’sendEmail.pl’. If you are using a different command or script make
+ sure that it has the same parameter interface as sendEmail.pl.
+
+CONTENT
+ 1. Description
+ 1.1 Menu commands
+ 1.2 Menu search
+ 1.2.1 Menu edit search
+ 1.2.2 Menu search results
+ 1.3 Extended ’now’ and ’next’
+ 1.4 Menu setup
+ 2. Search timers
+ 2.1 ’Avoid repeats’ - internals
+ 2.2 How do we compare two events?
+ 2.3 How and when do we compare?
+ 3. Usage from other plugins or scripts
+ 4. Using extended EPG info
+ 5. Replacing the standard schedule menu
+ 6. Add-ons
+
+1. Description
+ At first glance EPG-Search looks like the schedules menu entry of VDR.
+ By pressing the key ’0’, one can toggle the bottom color keys to access
+ additional functions (the default assignment of the color keys can be
+ adjusted by setup):
+
+ 1.1 Menu Commands
+
+ This menu displays commands that can be executed on the current item.
+ There are 8 built-in commands:
+
+ - Repeats: Searches for repeats
+
+ - Record
+
+ - Switch
+
+ - Create search
+ Switches to search menu and adds a new search with the name of the current
+ item (to avoid editing the name manually)
+
+ - Search in recordings:
+ Search the recordings for a broadcast with the same name
+
+ - Mark as ’already recorded’:
+ This puts the selected event in the file epgsearchdone.data and instructs
+ epgsearch to avoid recording this event if an according search timer is set
+ to "avoid repeats". An already created timer will be automatically removed
+ with the next search timer update.
+
+ - Add/Remove to/from switch list?:
+ Controls the switch list. If there is an event in the switch list, epgsearch
+ will announce it and switch to the event before it starts. To access the
+ complete switch list, call ’Search/Actions/Switch list’.
+
+ - Create blacklist:
+ A blacklist is used to ignore events when using search timers. A search
+ timer can be setup to ignore events from arbitrary blacklists.
+
+ You can add your own commands to this menu by editing the file
+ epgsearchcmds.conf in epgsearchs config directory. There’s a sample
+ conf file with some sample commands (see directory ’scripts’, taken
+ from vdr-wiki.de, thanks to the authors).
+
+ The format of the file is the same as VDR’s commands.conf or rec‐
+ cmds.conf. When a command is executed the following parameters are
+ passed to it:
+
+ $1: the title of the EPG entry
+ $2: the start time of the EPG entry as time_t value (like in the
+ shutdown script)
+ $3: the end time
+ $4: the channel number of the EPG entry
+ $5: the long channel name of the EPG entry
+ $6: the subtitle of the EPG entry, "" if not present
+
+ To execute a command from the main menu you can also press its associ‐
+ ated number without opening the commands menu.
+
+ 1.2 Menu search
+
+ Here you can add, edit, delete and execute your own queries on the EPG.
+ The usage and behavior of this menu is similar to VDR’s timer menu.
+
+ 1.2.1 Menu edit search
+
+ Most things in this menu are quite clear, so only some notes on:
+
+ - Search term:
+ The term to search for. If you like to search for more words, sepa‐
+ rate them by blanks. Leaving this empty (combined with search mode
+ ’Phrase’) will match anything. This is useful, if you search e.g.
+ for anything that starts between some times on a specific channel.
+
+ With ’blue’ you can also select a template for the new search. If
+ one of the templates is set to default, new searches will automati‐
+ cally get the settings of the default template.
+
+ Note: fuzzy searching is limited to 32 chars!
+
+ - Search mode:
+ ’Phrase’ searches for the expression within the EPG. ’All words’
+ requires, that each word of the expression occurs in the EPG item.
+ ’at least one word’ requires, that only one word occurs in the EPG
+ item. ’Match exactly’ requires, that your search term matches
+ exactly the found title, subtitle or description.
+
+ With ’Regular expression’ you can setup a regular expression as
+ search term. You don’t need a leading and trailing ’/’ in the
+ expression. By default these are POSIX extended regular expres‐
+ sions. If you like to have Herl compatible regular expression,
+ simply edit the plugins Makefile and uncomment #HAVE_PCREPOSIX=1 to
+ HAVE_PCREPOSIX=1 (you will need pcreposix installed, comes with
+ libpcre from www.pcre.org, but it’s already part of most distribu‐
+ tions).
+
+ See also epgsearch(4) ’Description of the search process’.
+
+ - Use extended EPG info:
+ Only available if configured, see below ’Using extended EPG info’.
+
+ - Ignore missing categories:
+ If set to ’Yes’ this tells epgsearch that a missing EPG category
+ should not exclude an event from the results. Caution: Using this
+ without any other criterions could flood your timers.
+
+ - Use channel:
+ Search only for events in the given channels interval, channel
+ groups or FTA channels only.
+
+ Channel groups (e.g. sport channels or Pay-TV channels) can be man‐
+ aged with a sub-menu called with ’blue’.
+
+ ATTENTION: After changing the channels order please check the set‐
+ tings of your search timers!
+
+ - Use day of week:
+ Besides the weekdays you can also set up a user-defined selection,
+ e.g. search only on Monday and Friday.
+
+ You’ll find the user-defined selection in the list after Friday.
+
+ - Use blacklists:
+ You can select one or more or all blacklists here. If any search
+ result is also contained in one of the selected blacklists it will
+ be skipped.
+
+ - Use in favorites menu:
+ Only available if turned on in setup. With this option you can mark
+ a search to be used in the favorites menu. The search results of
+ all these searches are listed in the favorites menu.
+
+ - Result menu layout:
+ Only available if you have defined more than one menu template for
+ search results in epgsearchmenu.conf. This option is used to assign
+ a different menu layout for the search results of this search.
+
+ - Use as Search Timer:
+ If set to yes, the plugin will do a background scan of the EPG in
+ certain intervals and add a timer, if there is a match. You have to
+ activate the ’search timers’ in the setup. If set to "user defined"
+ one can specify time margins with key ’blue’ where the search timer
+ is active or not.
+
+ - Action:
+ Default action is creating a timer for the search results. But you
+ can also choose to simply announce the found event via OSD or to
+ switch to the event one minute before it starts.
+
+ - Serial recording:
+ If set to yes, the recordings will be stored in a folder with the
+ name of the broadcasting and the recordings itself will have the
+ name of the episode. If there is no episode name, the date and time
+ of the recording will be used.
+
+ - Directory:
+ Here you can assign a directory, where the recording should be
+ stored, e.g. ’SciFi’. Use the key ’blue’ to select directory
+ entries already used in other search entries or given by entries in
+ the file epgsearchdirs.conf (simply place your directories here one
+ at each line without the leading video directory, also see MANUAL).
+ If your provider delivers extended EPG infos you can also use vari‐
+ ables like "%Genre%" or "%Category%" in your directory entry. These
+ are replaced with the current EPG info, when a timer is created.
+
+ See also epgsearch(4) ’Using variables in the directory entry of a
+ search timer’.
+
+ - Delete recordings after ... days:
+ Some recordings should only be kept for a few days, like news. With
+ this feature you can tell epgsearch to delete them automatically
+ after ... days.
+
+ - Pause if ... recordings exist:
+ If the given numbers of recordings currently exists, then epgsearch
+ will not create further timers. After deleting one or more record‐
+ ings it will go on generating new timers.
+
+ - Avoid repeats:
+ If you don’t want to record repeats, this feature tries to check if
+ an event was already recorded/programmed and skips it. Please refer
+ to the section ’Avoid repeats - internals’ below before using it.
+
+ - Allowed repeats:
+ If you like to accept a certain amount of repeats you can give here
+ their number.
+
+ - Only repeats within ... days:
+ Give here the number of days a repeat has to follow its first
+ broadcast. 0 is equal to no restriction.
+
+ - Compare title:
+ When comparing to events then specify here if the title should be
+ compared.
+
+ - Compare subtitle:
+ When comparing to events then specify here if the subtitle should
+ be compared. If there is no subtitle than this event is always dif‐
+ ferent to an event with/without a subtitle.
+
+ - Compare description:
+ When comparing to events then specify here if the description
+ should be compared.
+
+ For comparison all parts of the description, that look like a cate‐
+ gory value, are removed first. The remaining text will be compared.
+ If this is similar at 90% (regarding the Levinshtein-Distance algo‐
+ rithm) then it will be accepted as equal.
+
+ - Compare categories:
+ With the button ’setup’ you can also specify which categories
+ should be compared. As with subtitles an event is different if it
+ has no according category value.
+
+ - Priority, lifetime, margins for start and stop:
+ Each search timer can have its own settings for these parameters.
+ Defaults can be adjusted in the plugins setup.
+
+ - VPS:
+ If set to yes, VPS is used, but only, if activated in VDR’s setup
+ menu and if the broadcasting has VPS information.
+
+ - Auto delete:
+ to automatically delete a search timer if the following is true:
+
+ * after x recordings, or
+ * after x days after the first recording
+
+ Only complete recordings are counted. The deletion is executed
+ directly after the correspondig recording
+
+ To toggle the flag ’Use as search timer’ without editing the search
+ entry you can use the key ’2’. This will call directly the second com‐
+ mand of the command menu.
+
+ 1.2.2 Menu search results
+
+ This menu displays the search results. A ’T’ lets you know, that there
+ is already a timer for the event. A ’t’ means that there’s only a par‐
+ tial timer for it, as in standard schedules menu.
+
+ 1.3 Extended ’now’ and ’next’ and favorites
+
+ By setup, one can add up to 4 additional times to extend the green but‐
+ ton, e.g. ’afternoon’, ’prime time’, ’late night’. Times, that are
+ already passed, are skipped (you will not get ’afternoon’ at evening)
+ with the exception that a time will be displayed for the next day, if
+ it is less then 20h in the future. In these menus you can shift the
+ currently displayed time by pressing FastRew or FastFwd to move back
+ and forward in time. If you don’t have these keys on your remote, you
+ can access this function by pressing ’0’ to toggle the green and yellow
+ button to ’<<’ and ’>>’. This toggling can be adjusted by setup.
+
+ You can display a progress bar in ’now’ and ’next’. When using
+ text2skin you should use the setup option "text2skin" in the setup
+ option "Show progress in ’Now’"/Show progress in ’Next’" (the setting
+ ’graphical’ may also work with text2skin, but this depends on the
+ selected skin).
+
+ Furthermore you can enable in the setup an favorites list. You can con‐
+ figure your searchtimers ("Use in favorite list") to display their
+ results in you favorite list. This list display event in the next 24
+ hours ordered by time.
+
+ 1.4 Menu setup
+
+ 1.4.1 General
+
+ - Hide main menu entry:
+ This hides the main menu entry ’search’. Attention: when the plugin
+ is assigned to key ’green’ then hiding the plugin will give you
+ VDR’s standard schedule menu (see below to avoid this).
+
+ - Main menu entry:
+ If not hidden, the name of main menu entry can be set here. Default
+ is ’Program guide’. Note: If you set it to something different from
+ the default then the main menu entry is no longer dependent on the
+ OSD language. Setting it back to default or empty restores this
+ behavior again.
+
+ - Start menu:
+ Select the starting menu ’Schedules’ or ’Now’
+
+ 1.4.2 EPG menus
+
+ - Ok key:
+ Choose here the behavior of key ’Ok’. You can use it to display the
+ summary or to switch to the corresponding channel. Note: the func‐
+ tionality of key ’blue’ (Switch/Info/Search) depends on this set‐
+ ting.
+
+ - Red key:
+ Select if you like to have Standard (’Record’) or ’Commands’ as
+ assignment for key ’red’.
+
+ - Blue key:
+ select if you like to have Standard (’Switch’) or ’Search’ as
+ assignment for key ’blue’.
+
+ - Show progress in ’Now’:
+ In the menu ’what’s on now’ you can display a progress bar, that
+ displays the progress of the current item. When using text2skin you
+ should use the setup option "text2skin" (the setting ’graphical’
+ may also work with text2skin, but this depends on the selected
+ skin).
+
+ - Show channel numbers:
+ Select this if you like to have a leading channel number before
+ each item in the EPG menus.
+
+ - Show channel separators:
+ Display channel group separators between channel in the menus
+ ’Overview now’,...
+
+ - Show day separators:
+ Display a day separator between events on different days in the
+ schedule menu.
+
+ - Show radio channels:
+ Also list radio channels.
+
+ - Limit channels from 1 to:
+ If you have a large channel set you can speed up things when you
+ limit the displayed channels with this setting. Use ’0’ to disable
+ the limit. If the current channel is above the limit, the limit is
+ ignored and all channels will be displayed again.
+
+ - ’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.
+
+ - Show channels without EPG:
+ Display channels without EPG to allow switching or create a timer.
+
+ - Time interval for FR/FF [min]:
+ In the menus ’now’, ’next’, ’user def 1’, ... you can shift the
+ displayed time by pressing FastRew, FastFwd on your remote control.
+ Adjust the amount of minutes to jump here.
+
+ - Toggle Green/Yellow:
+ If you don’t have FastRew, FastFwd on your remote control, set this
+ to yes. When pressing ’0’ in the menus, this toggles the assignment
+ of the color keys and assigns e.g. ’<<’ and ’>>’ to ’green’ and
+ ’yellow’.
+
+ - Show favorites menu:
+ A favorites menu can display a list of your favorite broadcasts.
+ Enable this if you want an additional menu besides ’Now’ and
+ ’Next’. You can choose between displaying this menu before or after
+ the menus with user-defined times. Any search can be used as a
+ favorite. You only have to set the option ’Use in favorites menu’
+ when editing a search.
+
+ - for the next ... hours:
+ This value lets you adjust the timespan used to display the
+ favorites.
+
+ 1.4.3 User-defined EPG times
+
+ - Use user time 1..4:
+ Add up to 4 user-defined times besides ’now’ and ’next’.
+
+ - Description:
+ Name of the user-defined time, e.g. ’Afternoon’, ’Prime time’,
+ ’Late night’.
+
+ - Time:
+ The associated time of the user-defined time.
+
+ 1.4.4 Timer programming
+
+ - Use VDR’s timer edit menu:
+ When programming a standard timer epgsearch uses an extended menu,
+ that also supports a directory item, user defined weekday selection
+ and subtitle completion. If you are using a patched version of VDR,
+ that also has an extended timer edit menu and like to use this menu
+ rather than epgsearch’s then set this option to ’Yes’.
+
+ - Default recording directory:
+ This entry will be used in standard timer programming as default
+ directory. You can also use EPG category variables (e.g. ’My
+ Movies~%Category%~%Genre%’). When the timer edit menu is launched
+ epgsearch tries to replace all variables with the values found in
+ the description of the event. If not all variables could be
+ replaced then the directory item is left blank.
+
+ - Add episode to manual timers:
+ When manually adding a timer epgsearch can automatically add the
+ episode name to the timer file resulting in a sub-folder for the
+ later recording, that is named with the episode name. Choose here
+ how this should be done. ’smart’ tries to recognize if this makes
+ sense. Therefore it checks the length of the event and skips the
+ subtitle if the event has more than 80min.
+
+ - Default timer check method:
+ Manual timers can be checked for EPG changes. Here you can setup
+ the default check method for each channel. The following methods
+ exist:
+ * no check
+ * by event ID: checks by an event ID supplied by the channel
+ provider.
+ * by channel and time: check by the duration match.
+
+ Not all channels provide a proper event ID, so you can setup the
+ default for each channel here. When programming a manual timer,
+ this default use used in epgsearch’s own timer edit menu.
+
+ 1.4.5 Search and search timers
+
+ - Use search timers:
+ If yes, the plugin makes a background scan of the EPG and adds
+ timers if it finds matching entries. This applies only to searches
+ that are marked with ’use as search timer’.
+
+ - Update interval:
+ The update interval of the background scan for search timers in
+ minutes.
+
+ - SVDRP port:
+ If you are using a SVDRP port other than 2001 then enter this here
+ to get the search timers working.
+
+ - Default Priority:
+ Default priority of generated timers.
+
+ - Default Lifetime:
+ Default lifetime of generated timers.
+
+ - Margin at start/stop:
+ Default margins of generated timers.
+
+ - No announcements when replaying:
+ suppress event announcements while any replay is active.
+
+ - Recreate timers after deletion:
+ epgsearch remembers by default which timers where already created
+ by search timers and will not recreate them if they were removed.
+ To disable this behaviour set this to ’Yes’.
+
+ Default margins of generated timers.
+
+ - Ignore Pay-TV channels:
+ Set this to ’Yes’ if you don’t want to have events from Pay-TV
+ channels when searching for a repeat.
+
+ - Search templates:
+ Here you can manage search templates which can be used when creat‐
+ ing a search.
+
+ - Blacklists:
+ Here you can manage blacklists which can be used to suppress
+ unwanted events within a search.
+
+ - Channel groups:
+ Here you can setup channel groups (e.g. Sport channels, Pay-TV
+ channels) that can be used as criterion in searches. The same can
+ be done in the search edit menu.
+
+ Important: if you get your EPG from external sources make sure that
+ search timer updates are disabled while your EPG is updated. The reason
+ for this is that epgsearch will remove timers without events assigned
+ to them. This situation can exist while the new EPG is feeded to VDR. A
+ simple way to disable search timer updates is to use the SVDRP command
+ SETS in your EPG update script:
+
+ svdrpsend.pl plug epgsearch SETS off
+
+ <your EPG update script>
+
+ svdrpsend.pl plug epgsearch SETS on
+
+ 1.4.6 Timer conflict checking
+
+ - Ignore below priority:
+ If a timer will fail with a priority below the given value, you
+ won’t get an OSD message about this and the conflict will be clas‐
+ sified as ’not relevant’ in the conflicts overview.
+
+ - Ignore conflict duration less ... min.:
+ If a conflict will last only the given minutes it will not produce
+ an OSD message and the conflict will be classified as ’not rele‐
+ vant’ in the conflicts overview.
+
+ - Only check within next ... days:
+ Here you can specify the day range that should be used for the con‐
+ flict check.
+
+ - After each timer programming:
+ This performs a conflict check after each manual timer programming
+ and - if the new/modified timer is involved in a conflict - pops up
+ an OSD message about it.
+
+ - "When a recording starts:
+ Set this to ’yes’ if the conflict check should be performed when a
+ recording starts. In the case of a conlfict you get immediately a
+ message that informs you about it. The message is only displayed
+ if the conflict is within the next 2 hours.
+
+ - After each search timer update:
+ Specify here if you want to have a conflict check after each search
+ timer update. If set to ’No’:
+
+ - every ... minutes:
+ performs a conflict check in the background every ... minutes and
+ informs about relevant conflicts via OSD. Set this to ’0’ to
+ disable this feature.
+
+ - if conflicts within next ... minutes:
+ - every ... minutes:
+ if you like to have a more frequent check and OSD notification
+ when a conflict appears within the given time, use this fea‐
+ ture.
+
+ - Avoid notification when replaying:
+ Set this to ’yes’ if the don’t want to get OSD messages about con‐
+ flicts if you currently replay something. Nevertheless messages
+ will be displayed if
+ the first upcoming conflict is within the next 2 hours.
+
+ Also have a look at epgsearch(4), section ’Working with the timer con‐
+ flict menu’.
+
+ 1.4.7 Email notification
+
+ Please make sure, that ’sendEmail.pl’ is in the path of your executa‐
+ bles and that the ’epgsearchupdmail.templ’ and ’epgsearchcon‐
+ flmail.templ’ exists in epgsearch’s configurations directory!
+
+ - Search timer notification:
+ Enable this, if you want to get an email notification, when the
+ search timer background thread has
+
+ - created a new timer
+ - modified an existing timer
+ - deleted a timer, that was void because of EPG changes or other user
+ actions.
+
+ (Also requires ’Use search timers’ in the search timer setup to be
+ activated.)
+
+ - Timer conflict notification:
+ Enable this, if you want to get an email notification about timer
+ conflicts. The notification will only include ’relevant’ conflicts
+ as specified in the timer conflict setup. epgsearch will always
+ send a new notification if there is any change in the current con‐
+ flicts.
+
+ (Also requires ’After each search timer update’ or ’every ... min‐
+ utes’ in the conflict check setup to be activated.)
+
+ - Send to:
+ The mail adress of the recipient. Note: Some providers (like Arcor)
+ don’t allow the same adresse for sender and recipient.
+
+ - Mail method:
+ You can choose between:
+
+ - sendEmail.pl: this is a simply script shipped with epgsearch, that allows
+ mail delivery also on systems without a configured mail server. Please
+ copy it to your $PATH
+ - sendmail: requires a properly configured mail system
+
+ - Email address:
+ Your full(!) email account address to be used for sending the mail.
+
+ - SMTP server:
+ The name of your SMTP server to be used for sending the mails.
+
+ - Use SMTP authentication:
+ Select ’yes’ if your account needs authentication to send mails.
+
+ - AUTH user:
+ Specify the accounts username if your account needs authentication.
+
+ - AUTH password:
+ Specify the accounts password if your account needs authentication.
+ Note: The password is saved as plain text. You have to make sure on
+ your own that your system is safe and no VDR configurations files
+ are visible to non authorized persons.
+
+ After the account setup, check if it works with ’Test’. If you are
+ using ’sendEmail.pl’ for mail delivery, there should be something like
+ ’Email sent successfully’ at the end of the test output. The test func‐
+ tion is not available for method ’sendmail’.
+
+ Also have a look at epgsearch(4), section ’Email notifications’.
+
+2. Search timers
+ This is quite the same as VDRAdmin’s auto-timers, but needs no external
+ software. When you create a search, you can give it an option to use it
+ as search timer. Now the plugin scans EPG entries in certain update
+ intervals (->setup) in the background and creates timers if there are
+ matching entries. If you don’t like to get a new timer, but only want
+ to be informed about the event set ’Announce only (no timer)’ to yes.
+ Since these search timers are quite useful for serials, you can set the
+ option ’serial recording’ in a search, which creates timers whose
+ recordings are stored in a folder with the serials name and whose
+ entries are named with the episode name. If there is no episode name,
+ the plugin names the recording with a date/time string.
+
+ To use search timers, you also have to activate them in the plugins
+ setup. Also edit the SVDRP port, if you are not using the default
+ 2001.
+
+ If you want to trigger a background scan manually simply
+
+ touch /etc/vdr/plugins/epgsearch/.epgsearchupdate
+
+ This can also be part of your shutdown script. (Add here a sleep after‐
+ wards to give the plugin the time to finish the scan.)
+
+ For more info about searchtimers please refer to epgsearch(4),
+ ’Description of the search process’ and ’How do Search Timers work?’
+
+ 2.1 ’Avoid repeats’ - internals
+
+ This section explains the feature ’Avoid repeats’ for a search timer.
+ Sometimes one cannot avoid double recordings of an event only by set‐
+ ting the corresponding search criterions.
+
+ Therefore the feature ’avoid repeats’ tries to check before creating a
+ timer, if the same event was already recorded in the past or if there
+ is a timer that records the same event. If so, there will be no new
+ timer for the event.
+
+ 2.2 How do we compare two events?
+
+ To check if two events are the same there are many possible settings
+ for a search timer. You can choose the title, subtitle, description or
+ extended EPG categories within the description of an event to be com‐
+ pared with the elements of another event.
+
+ This comparison is always done case-sensitive and for the whole term.
+ But the description of an event makes an exception of this. First all
+ text within the description will be truncated that looks like an
+ extended category entry, e.g. ’Rating: tip’. An extended category entry
+ is a line of text beginning with max. 40 signs, followed by ’:’ and
+ ending with max. 60 further signs. The reason for this cutting is that
+ some categories like the rating of an event are not part of the
+ description of the repeat of the same event.
+
+ The remaining text will now be compared by length. If the difference is
+ bigger then 90%, then we rate the description of the two events as dif‐
+ ferent. If not, we apply the Levinsthein-Distance-Algorithm (LD), which
+ makes a fuzzy text comparison. We accept the description of the events
+ as equal, if LD returns a match of more then 90%. Since LD is quite
+ runtime intensive (O(mn)), you should not choose ’compare description’
+ as the only comparison criterion, but combine it always with other cri‐
+ terions.
+
+ 2.3 How and when do we compare?
+
+ As already mentioned each search timer update checks search timers with
+ this feature for recordings in the past or an already existing timer
+ for the same event.
+
+ To remember past recordings epgsearch stores their info in the file
+ epgsearchdone.data. You can have a look at the contents of this file
+ calling ’show recordings done’ in the ’actions’ of the searches menu.
+ This file only stores info about recordings that are complete, i.e.
+ that started and stopped just in time. So a broken recording will not
+ be stored in this file and epgsearch will automatically try to record
+ the next repeat, if there is any.
+
+ How to use it?
+
+ As you see, the whole feature depends on the quality of the EPG. After
+ creating such a search timer, you should first check if it does what is
+ intended. Therefore the menu of search results has an additional mode
+ for the key ’blue’ named ’Timer preview’. Here you can see, what timers
+ the next update would create. Existing timers are labeled with ’T’,
+ future timers with ’P’.
+
+ Hint: If the programming results in a conflict simply disable the con‐
+ flicting timer in the timers menu. The next search timer update, will
+ try to program a different timer for the same event, if it exists.
+
+ When it works not correctly :-)
+
+ To get a better control of the programming or not-programming of the
+ timers when using this feature a log file was introduced. When starting
+ epgsearch with the command line option ’-v n’ where n is the log level
+ than you get additional info in the file epgsearch.log. Available log
+ levels are 0 (no logging) to 3 (extended logging). See also the manual
+ for the command line options.
+
+3. Usage from other plugins or scripts
+ See epgsearch(4).
+
+4. Using extended EPG info
+ Some EPG providers deliver additional EPG information like the type of
+ event, the video and audio format, cast,...
+
+ Using tvm2vdr or epg4vdr you can import this into vdr. To use this
+ information with search timers one has to configure it with the file
+ epgsearchcats.conf in epgsearchs config directory. The format of the
+ file is as follows:
+
+ ID|category name|name in menu|values separated by ’,’(option)|search mode(option)
+
+ - ’ID’ should be a unique positive integer
+ (changing the id later on will force you to re-edit your search timers!)
+ - ’category name’ is the name as delivered by the EPG provider, e.g. ’Genre’
+ - ’name in menu’ is the name displayed in epgsearch.
+ - ’values’ is an optional list of possible values
+ - ’search mode’ specifies the search mode:
+ text comparison:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are ’,’, ’;’, ’|’ or ’~’)
+ must exist as substrings. This is the default search mode.
+ 2 - at least one term (delimiters are ’,’, ’;’, ’|’ or ’~’)
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ numerical comparison:
+ 10 - less
+ 11 - less or equal
+ 12 - greater
+ 13 - greater or equal
+ 14 - equal
+ 15 - not equal
+
+ Sample files for epgsearchcats.conf are delivered with the plugin in
+ the directory ’conf’.
+
+ Simply copy the one that fits for you to epgsearchs configurations
+ directory filename epgsearchcats.conf and then have a look to the
+ search timers edit menu (after a restart of VDR).
+
+ Since setting up a new epgsearchcats.conf is a lot of work, I’ve added
+ a small tool ’createcats’, that makes the biggest part of the job. It
+ should have been compiled with the plugin and exists in the sources
+ directory.
+
+ See createcats(1) for information about how to use it.
+
+ Internals: epgsearch scans the summary of an event for the category
+ name followed by ’: ’ for all categories that have a corresponding
+ value set in the search timer. The search is case sensitive regarding
+ the category name as also the value.
+
+5. Replacing the standard schedule menu
+ To use this plugin as a replacement for the default green key, simply
+ put the line
+
+ Green @epgsearch
+
+ in your keymacros.conf. If you don’t like to get another plugin entry
+ in your main menu, first hide it by setup. Then you could use my
+ launcher-plugin and put the line
+
+ Green @launcher x
+
+ 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
+
+ This patch is already included in some patch collections, like the Big‐
+ patch.
+
+6. Add-ons
+ epgsearch delivers 2 ’mini’-plugins. Both require an installed
+ epgsearch (but epgsearch can be hided in the main menu):
+
+ - epgsearchonly:
+ For those who only want to use the search feature and/or search
+ timers or simply want to have a separate main menu entry for the
+ search feature. This plugin creates a main menu entry ’Search’
+ which calls epgsearch search menu. Activation in VDR start script
+ with "-Pepgsearchonly".
+
+ - conflictcheckonly:
+ The timer conflict check can also have its own main menu entry
+ which displays epgsearch conflict overview menu. It has a setup
+ option to display an information about the last check directly in
+ its main menu entry. Activation in VDR start script with "-Pcon‐
+ flictcheckonly".
+
+ Have fun!
+
+ Christian Wieninger
+
+Advanced description
+ See epgsearch(4) or read online
+
+ <http://winni.vdr-developer.org/epgsearch/README.DE>
+
+ <http://winni.vdr-developer.org/epgsearch/README>
+
+ <http://winni.vdr-developer.org/epgsearch/MANUAL>
+
+SEE ALSO
+ "epgsearch.conf(5)", "epgsearchcats.conf(5)", "epgsearchcmds.conf(5)",
+ "epgsearchdirs.conf(5)", "epgsearchmenu.conf(5)", "epgsearchuser‐
+ vars.conf(5)", "epgsearchdone.data(5)", "epgsearchswitchtimer.conf(5)",
+ "epgsearchblacklists.conf(5)", "epgsearchchangrps.conf(5)"
+
+FILES
+ epgsearch.conf
+
+ Searchtimers. See "epgsearch.conf(5)".
+
+ epgsearchcats.conf
+
+ Categories, advanced epg. See "epgsearchcats.conf(5)".
+
+ epgsearchcmds.conf
+
+ EPG-commands, like the commands in commands.conf. See
+ "epgsearchcmds.conf(5)".
+
+ epgsearchdirs.conf
+
+ Pre-defined patches which can be selected while editing an searchtimer.
+ See "epgsearchdirs.conf(5)".
+
+ epgsearchmenu.conf
+
+ Configuration of the OSD menu layout. See "epgsearchmenu.conf(5)".
+
+ epgsearchuservars.conf
+
+ User defined variables. See "epgsearchuservars.conf(5)".
+
+ epgsearchdone.data
+
+ The done-data. See "epgsearchdone.data(5)".
+
+ epgsearchswitchtimers.conf
+
+ The switchtimers. See "epgsearchswitchtimer.conf(5)".
+
+ epgsearchblacklists.conf
+
+ The blacklist. See "epgsearchblacklists.conf(5)".
+
+ epgsearchchangrps.conf
+
+ The channelgroups. See "epgsearchchangrps.conf(5)".
+
+ epgsearchtemplates.conf
+
+ Templates for searchtimers. See "epgsearchtemplates.conf(5)".
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bugreports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailinglist:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearch(5)
diff --git a/doc/en/epgsearch.4.txt b/doc/en/epgsearch.4.txt
new file mode 100644
index 0000000..13b5dd6
--- /dev/null
+++ b/doc/en/epgsearch.4.txt
@@ -0,0 +1,856 @@
+epgsearch(5) Epgsearch Version 0.9.24.beta9 epgsearch(5)
+
+
+
+NAME
+ epgsearch - Searchtimer and replacement of the VDR program menu
+
+OVERVIEW
+ Since the README get bigger and bigger this man page shall be used to
+ explain some things in detail. So it’s not really a manual, but an
+ extended README.
+
+CONTENT
+ 1. Using variables in the directory entry of a search timer
+ 2. The format of epgsearch.conf
+ 3. Description of the search process
+ 4. How do Search Timers work?
+ 5. How to trigger a search timer update?
+ 6. The sources of the ’Select directory’ menu
+ 7. Language dependent commands for EPG
+ 8. Usage from other plugins or scripts
+ 9. SVDRP interface
+ 10. Customizing the EPG menus
+ 11. Working with the timer conflict menu
+ 12. User defined variables
+ 13. Email notifications
+
+1. Using variables in the directory entry of a search timer
+ If you are using extended EPG information, you can use variables as
+ part of a directory entry of a search timer. These variables always
+ have the form ’%variable%’. The name of a variable corresponds with the
+ internal name of an extended EPG info, as specified in the file
+ epgsearchcats.conf (samples can be found in subdirectory ’conf’).
+ Example:
+
+ 1|Category|Kategorie|Information,Kinder,Musik,Serie,Show,Spielfilm,Sport|3
+
+ The category with ID 1 has the internal name ’Category’. So you could
+ use it with ’%Category%’. The names are not case sensitive. Sample
+ directory entries could look like this:
+
+ My Movies~%Category%
+ Childrens Movies~%category%
+ %CATEGORY%~%genre%
+
+ There are also three other variables: %Title%, %Subtitle% and %Chan‐
+ nel%. If you don’t use %Title%, the title is always automatically
+ appended to the directory entry, when a timer will be created. If you
+ set ’serial recording’ to ’yes’ in your search timer then also the sub‐
+ title will be automatically appended. So the directory entry
+
+ %Category%~%Genre%~%Title%~%Subtitle%
+
+ is the same as
+
+ %Category%~%Genre%
+ (with ’serial recording’ set to ’yes’).
+
+ The %Channel% variable gets replaced with the name of the channel.
+
+ Attention: Automatically appending title and subtitle will not be done,
+ if you use the variables %Title% or %Subtitle% in the directory entry.
+ This allows to form directory entries like this one:
+
+ %Category%~%Genre%~%Title%~%Episode%~%Subtitle%
+
+ There is also another variable %search.query% that will be replaced
+ with the query of the search timer.
+
+ See also "epgsearchuservars.conf(5)".
+
+2. The format of epgsearch.conf
+ Due to some new features there was a change in the format. The format
+ is now signed with a comment in the first line. The field delimiter is
+ ’:’:
+
+ 1 - unique search timer id
+ 2 - the search term
+ 3 - use time? 0/1
+ 4 - start time in HHMM
+ 5 - stop time in HHMM
+ 6 - use channel? 0 = no, 1 = Interval, 2 = Channel group, 3 = FTA only
+ 7 - if ’use channel’ = 1 then channel id[|channel id] in vdr format,
+ one entry or min/max entry separated with |, if ’use channel’ = 2
+ then the channel group name
+ 8 - match case? 0/1
+ 9 - search mode:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are blank,’,’, ’;’, ’|’ or ’~’)
+ must exist as substrings.
+ 2 - at least one term (delimiters are blank, ’,’, ’;’, ’|’ or ’~’)
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ 5 - fuzzy searching (specify tolerance in parameter 42, not available
+ for EPG categories)
+ 10 - use title? 0/1
+ 11 - use subtitle? 0/1
+ 12 - use description? 0/1
+ 13 - use duration? 0/1
+ 14 - min duration in minutes
+ 15 - max duration in minutes
+ 16 - use as search timer? 0/1/2 (with 2 one can specify time margins in
+ parameter 48/49 where the search timer is active)
+ 17 - use day of week? 0/1
+ 18 - day of week (0 = Sunday, 1 = Monday...;
+ -1 Sunday, -2 Monday, -4 Tuesday, ...; -7 Sun, Mon, Tue)
+ 19 - use series recording? 0/1
+ 20 - directory for recording
+ 21 - priority of recording
+ 22 - lifetime of recording
+ 23 - time margin for start in minutes
+ 24 - time margin for stop in minutes
+ 25 - use VPS? 0/1
+ 26 - action:
+ 0 = create a timer
+ 1 = announce only via OSD (no timer)
+ 2 = switch only (no timer)
+ 27 - use extended EPG info? 0/1
+ 28 - extended EPG info values. This entry has the following format
+ (delimiter is ’|’ for each category, ’#’ separates id and value):
+ 1 - the id of the extended EPG info category as specified in
+ epgsearchcats.conf
+ 2 - the value of the extended EPG info category
+ (a ’:’ will be translated to "!^colon^!", e.g. in "16:9")
+ 29 - avoid repeats? 0/1
+ 30 - allowed repeats
+ 31 - compare title when testing for a repeat? 0/1
+ 32 - compare subtitle when testing for a repeat? 0/1
+ 33 - compare description when testing for a repeat? 0/1
+ 34 - compare extended EPG info when testing for a repeat?
+ This entry is a bit field of the category IDs.
+ 35 - accepts repeats only within x days
+ 36 - delete a recording automatically after x days
+ 37 - but keep this number of recordings anyway
+ 38 - minutes before switch (if action = 2)
+ 39 - pause if x recordings already exist
+ 40 - blacklist usage mode (0 none, 1 selection, 2 all)
+ 41 - selected blacklist IDs separated with ’|’
+ 42 - fuzzy tolerance value for fuzzy searching
+ 43 - use this search in favorites menu (0 no, 1 yes)
+ 44 - number of the search menu template to use (only available if multiple
+ search result templates are defined in epgsearchmenu.conf)
+ 45 - auto deletion mode (0 don’t delete search timer, 1 delete after given
+ count of recordings, 2 delete after given days after first recording)
+ 46 - count of recordings after which to delete the search timer
+ 47 - count of days after the first recording after which to delete the search
+ timer
+ 48 - first day where the search timer is active (see parameter 16)
+ 49 - last day where the search timer is active (see parameter 16)
+ 50 - ignore missing EPG categories? 0/1
+ 51 - unmute sound if off when used as switch timer
+
+ A ’:’ in the search term or the directory entry will be translated in a
+ ’|’. If a ’|’ exists in the search term, e.g. when using regular
+ expressions, it will be translated to "!^pipe^!" (I know it’s ugly ;-))
+
+ See also "epgsearch.conf(5)".
+
+3. Description of the search process
+ First, for each broadcasting a search text divided by ’~’ is created,
+ depending on the settings of ’Use title’, ’Use subtitle’ and ’Use
+ description’:
+
+ title~subtitle~description
+
+ If "Match case" is not set, the search text and the search term are
+ transformed to lower case. Now depending on the search mode, the
+ search term will be looked up in the search text:
+
+ - ’Phrase’ matches
+ if the search term is found anywhere in the search text.
+
+ - ’at least one word’, ’all words’
+ first the search term will be split in single words. Delimiters are
+ a blank and the characters ’,’ ’;’ ’|’ ’~’.
+
+ Then we check if at least one or all words appear in the search
+ text.
+
+ - ’match exactly’
+ matches if search term and search text are identical.
+
+ - ’regular expression’
+ the search is done with a regular expression. You don’t need a
+ leading and trailing ’/’ in your search term. Two standards of
+ regular expression are supported: extended POSIX and Perl compati‐
+ ble regular expressions (PCRE) (see INSTALL).
+
+ If the search was successful until now, the other criterions (start
+ time, duration, week day) are checked.
+
+4. How do Search Timers work?
+ With each update, the plugin searches for new matches of your search
+ timers. If a new match is found then a new timer is created. For serial
+ recordings, the subtitle is appended to the recording directory. Many
+ providers deliver the subtitle just 1-2 days before the event. The plu‐
+ gin uses then a date/time string for the subtitle, but replaces this
+ one later if the subtitle is present.
+
+ Start and end times of a broadcasting often vary a little bit. To avoid
+ getting many different timers for the same event, the plugin checks
+ before adding a new timer, if there is one, that has start and end
+ times which only differ by a maximum of 10 minutes (or the events dura‐
+ tion if this is less then 10 minutes). If so, the present timer is mod‐
+ ified, else a new timer is created. If the timer was set to inactive
+ there will be no update. Also manually corrected priority or lifetime
+ will not be changed when updating.
+
+ If you have set ’Announce only (no timer)’ to yes, no timer is created.
+ Instead you get an OSD message about the event. This message is dis‐
+ played at each scan, but only if there is no timer for the event.
+
+5. How to trigger a search timer update?
+ the update of search timers runs in its own thread. There are several
+ ways to trigger it:
+
+ - automatically
+ after VDR starts there is always an update (after a few seconds).
+ After this, the setup option ’Update interval’ tells epgsearch when
+ the next update should be done repeatedly (in minutes).
+
+ - manually extern
+ the thread observes the file ’.epgsearchupdate’ in the plugins con‐
+ fig directory. When you
+
+ touch /path_to_file/.epgsearchupdate
+
+ this will also trigger an update. So this is a simple solution to
+ make an update e.g. by a script.
+
+ - manually intern
+ calling actions or pressing ’3’ in the menu of searches asks also
+ for an update.
+
+ - from other plugins
+
+ there’s a service ’Epgsearch-updatesearchtimers-v1.0’ that can be used
+ with the service interface of VDR from other plugins with the option to
+ inform via OSD when the update has finished
+
+6. The sources of the ’Select directory’ menu
+ This menu displays directories, that can be used for search timers or
+ ordinary timers. The items displayed are read from the following
+ sources:
+
+ * current recording directories
+ * current timer directories
+ * directories used in search timers
+ * directories specified in F<epgsearchdirs.conf>,
+ see C<epgsearchdirs.con(5)>
+
+ The menu merges theses directories and displays only distinct directo‐
+ ries. With key ’yellow’ one can change the depth of the directories
+ shown. If there are items, that contain category variables like
+ ’%genre%’, these entries are always shown before any other directories.
+ They are also not level dependent, but are always shown with their full
+ directory.
+
+ If this menu is called from the timer edit menu and an item is selected
+ that contains the variables "%title%" or "%subtitle" then the ’file’
+ item of the timer gets cleared, since title or subtitle already exist
+ in the ’directory’ item. This list can also be accessed via the SVDRP
+ command ’LSRD’.
+
+7. Language dependent commands for EPG
+ If you like to have a language dependent list of commands simply trans‐
+ late your present epgsearchcmds.conf to your preferred OSD language and
+ store it with the filename epgsearchcmds-XXX.conf, where XXX is the
+ language code from i18n.c:
+
+ { "eng,dos",
+ "deu,ger",
+ "slv",
+ "ita",
+ "dut,nla,nld",
+ "por",
+ "fra,fre",
+ "nor",
+ "fin,smi",
+ "pol",
+ "esl,spa",
+ "ell,gre",
+ "sve,swe",
+ "rom,rum",
+ "hun",
+ "cat,cln",
+ "rus",
+ "hrv",
+ "est",
+ "dan",
+ }
+
+ If there are more codes for one language (e.g. "deu,ger") choose one of
+ them. If there is no language dependent file, epgsearch loads the file
+ epgsearchcmds.conf.
+
+ See also "epgsearchcmds.conf(5)".
+
+8. Usage from other plugins or scripts
+ Searching the EPG and other functionality can be used by other plugins
+ or scripts. There are two approaches:
+
+ 8.1. File-based (intended for use in scripts)
+
+ Therefore simply create the file ’.epgsearchrc’ in the plugins config
+ directory with the following lines in it:
+
+ Search=your search term
+ Searchmode=x // 0=phrase, 1=and, 2=or, 3=regular expression
+ ChannelNr=x // add this line, to search on a specific channel
+ UseTitle=x // 1(default) or 0
+ UseSubtitle=x // 1(default) or 0
+ UseDescr=x // 1(default) or 0
+
+ Then call Epgsearch via svdrpsend.pl (you must have assigned a key to
+ it), e.g.
+
+ svdrpsend.pl HITK green
+
+ At startup Epgsearch will look for this file and give you the search
+ results for your search, if it exists. After that the file is removed.
+
+ A sample script recrep.sh, that searches for the repeats of a recording
+ exists in the scripts subdirectory of Epgsearch.
+
+ 8.2. via Plugin-Interface (intended for use in plugins)
+
+ A plugin can directly call two functions of epgsearch with only some
+ lines of source code:
+
+ - searching the EPG for some criteria and display the result list
+ - extended timer edit menu
+
+ I have added a quick and dirty dummy plugin (source/vdr-epgsearch‐
+ client-0.0.1.tgz), that demonstrates the usage.
+
+9. SVDRP interface
+ epgsearch implements a SVDRP interface, that can be accessed for exam‐
+ ple like this
+
+ svdrpsend.pl PLUG epgsearch LSTS
+
+ the following commands are available:
+
+ search management:
+
+ * ’LSTS [ID]’ to list all searches, or the one with the passed ID
+ (format is the same as epgsearch.conf)
+ * ’NEWS <settings>’ to add a new search
+ REMARK: the value of element ID is ignored. epgsearch will always
+ assign the next free ID
+ * ’DELS <ID>’ to delete the search with ID
+ * ’EDIS <settings>’ to modify an existing search
+ * ’UPDS [OSD]’ to update the search timers. Passing the optional keyword
+ ’OSD’ pops up an OSD message after the update has finished.
+ * ’MODS ID ON|OFF’ turns on/off the option ’Use as search timer’.
+ * ’UPDD’ to reload the file epgsearchdone.data, e.g. after an
+ external tool has modified it.
+ * ’SETS <ON|OFF>’ to temporarily activate or cancel the search timer background
+ thread.
+ * ’FIND <settings>’ for searching the EPG
+ input is the same as with ’NEWS’. output is a list of found events formatted
+ as ’NEWT’ lines. So they can be immediately used to create a new timer for
+ an event.
+ * ’QRYS < ID(s) >’ to get the results for a search with the given
+ ID. Multiple IDs can also be passed and have to be separated with ’|’.
+ The results are formatted like this:
+
+ search ID : // the ID of the corresponding search timer
+ event ID : // VDR event ID
+ title : // event title, any ’:’ will be converted to ’|’
+ episode name : // event short text, any ’:’ will be converted to ’|’
+ event start : // event start in seconds since 1970-01-01
+ event stop : // event stop in seconds since 1970-01-01
+ channel : // channel ID in VDR’s internal representation (e.g. ’S19.2E-1-1101-28106’)
+ timer start : // timer start in seconds since 1970-01-01 (only valid if timer flag is > 0)
+ timer stop : // timer stop in seconds since 1970-01-01 (only valid if timer flag is > 0)
+ timer file : // timer file (only valid if timer flag is > 0)
+ timer flag : // 0 = no timer needed, 1 = has timer, 2 timer planned for next update)
+ * ’QRYS <settings>’ to get the results for a search with the given search
+ settings.
+ * ’QRYF [hours]’ to get the results for the favorites menu, see QRYS for
+ result format. The optional parameter specifies the number of hours to
+ evaluate and defaults to 24h.
+
+ channel group management:
+
+ * ’LSTC [channel group name]’
+ list all channel groups or if given the one with name ’group name’
+ * ’NEWC <channel group settings>’
+ create a new channel group, format as in epgsearchchangrps.conf
+ * ’EDIC <channel group settings>’
+ modify an existing channel group, format as in epgsearchchangrps.conf
+ * ’DELC <channel group name>’
+ delete an existing channel group
+ * ’RENC <old channel group name|new channel group name>’
+ rename an existing channel group
+
+ blacklist management:
+
+ * ’LSTB [ID]’ to list all blacklists, or the one with the passed ID
+ (format is the same as epgsearchblacklists.conf)
+ * ’NEWB <settings>’ to add a new blacklist
+ REMARK: the value of element ID is ignored. epgsearch will always
+ assign the next free ID
+ * ’DELB <ID>’ to delete the blacklist with ID
+ * ’EDIB <settings>’ to modify an existing blacklist
+
+ search template management:
+
+ * ’LSTT [ID]’ to list all search templates, or the one with the passed ID
+ (format is the same as epgsearch.conf)
+ * ’NEWT <settings>’ to add a new search template
+ REMARK: the value of element ID is ignored. epgsearch will always
+ assign the next free ID
+ * ’DELT <ID>’ to delete the search template with ID
+ * ’EDIT <settings>’ to modify an existing search template
+ * ’DEFT [ID]’ returns the ID of the default search template. When passing an
+ ID it activates the corresponding template as default.
+
+ extended EPG categories:
+
+ * ’LSTE [ID] to get the extended EPG categories defined in epgsearchcats.conf
+ or the one with the given ID. (format is the same as epgsearchcats.conf)
+
+ misc:
+
+ * ’SETP [option]’ returns the current value of the given setup option or a
+ list of all options with their current values.
+ The following options can be accessed:
+ - ShowFavoritesMenu
+ - UseSearchTimers
+
+ timer conflicts:
+
+ * ’LSCC [REL]’ returns the current timer conflicts. With the option ’REL’ only
+ relevant conflicts are listed. The result list looks like this for example
+ when we have 2 timer conflicts at one time:
+
+ 1190232780:152|30|50#152#45:45|10|50#152#45
+
+ ’1190232780’ is the time of the conflict in seconds since 1970-01-01. It’s
+ followed by list of timers that have a conflict at this time:
+
+ ’152|30|50#152#45’ is the description of the first conflicting timer. Here:
+
+ ’152’ is VDR’s timer id of this timer as returned from VDR’s LSTT command
+ ’30’ is the percentage of recording that would be done (0...100)
+ ’50#152#45’ is the list of concurrent timers at this conflict
+
+ ’45|10|50#152#45’ describes the next conflict
+
+10. Customizing the EPG menus
+ The file epgsearchmenu.conf in your plugins config directory is used to
+ store the entries for customizing the EPG menus. You specify the look
+ of each menu (What’s on now, What’s on next, What’s on at ..., Sched‐
+ ule, Search results, Favorites) with a separate line. Here’s a sample:
+
+ MenuWhatsOnNow=%chnr%:3|%progrt2s%:5| %time% %t_status%:8|%category%:6| %title% ~ %subtitle%:35
+ MenuWhatsOnNext=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuWhatsOnElse=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuSchedule=%time% %t_status%:8|%genre%:14| %title% ~ %subtitle%:35
+ MenuSearchResults=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon% %subtitle%:35
+ MenuFavorites=%chnr%:3|%time%:6|%timespan%:7|%t_status%:14|%genre%:8| %title%%colon%%subtitle%:35
+
+ E.g. the entry ’MenuWhatsOnNow’ tells epgsearch how you would like to
+ build a line for the menu ’What’s on now’. This would create a menu
+ line starting with the channel number, followed by a progress bar in
+ text2skin style, a space of one char, the start time, the timer status,
+ the EPG category (like "movie") and finally the title and subtitle.
+
+ The values for MenuWhatsOnNext, MenuWhatsOnElse, MenuSchedule, MenuSe‐
+ archResults, MenuFavorites specify the menu ’What’s on next’, ’What’s
+ on at ...’, ’Schedule’, ’Search results’ and ’Favorites’ respectively.
+ If you do not specify one entry, epgsearch uses it’s default menu look.
+
+ ’MenuSearchResults’ has something special: If you want to have differ‐
+ ent layouts for your search results depending on the search, you can
+ use more then one menu template. Simply define e.g. an additional
+
+ MenuSearchResultsTip of the Day=%chnr%:3|%time_w%:4|%t_status%:3|%genre%:10|%title%%colon% %subtitle%:35
+
+ This will produce an additional menu item "Result menu layout" in the
+ edit menu of a search where you can choose between the default menu
+ template and your own templates. In the example above you will get "Tip
+ of the Day" as selection entry, since epgsearch simply cuts the leading
+ "MenuSearchResults". When you display the search results the chosen
+ template will be used instead of the default one.
+
+ The following variables exist:
+
+ %time% - start time in format HH:MM
+ %timeend% - end time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %timespan% - timespan from now to the beginning of an event, e.g. ’in 15m’
+ or the time an event is already running, e.g. ’10m’.
+ %length% - length in seconds
+ %title% - title
+ %subtitle% - subtitle
+ %summary% - summary
+ %htmlsummary% - summary, where all CR are replaced with ’<br />’
+ %eventid% - numeric event ID
+ %t_status% - timer status (’T’, ’t’, ’R’)
+ %v_status% - VPS status
+ %r_status% - running status
+ %status% - complete status, the same as
+ ’%t_status%%v_status%%r_status%’
+
+ %<epg-category>% - a value from the extended EPG categories, specified in
+ epgsearchcats.conf, like %genre% or %category%
+
+ for the ’Whats on...’ and ’Search results’ menu there are also:
+
+ %chnr% - channel number
+ %chsh% - the short channel name (>=vdr-1.3.15)
+ %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’)
+ %progrT2S% - progress bar in text2skin style (not for menu ’Search results’)
+
+ some indepent variables:
+
+ %colon% - the sign ’:’
+ %datenow% - current date in format TT.MM.YY
+ %dateshnow% - current date in format TT.MM.
+ %timenow% - current time in format HH:MM
+ %videodir% - VDR video directory (e.g. /video)
+ %plugconfdir% - VDR plugin config directory (e.g. /etc/vdr/plugins)
+ %epgsearchdir% - epgsearchs config directory (e.g. /etc/vdr/plugins/epgsearch)
+
+ The variables are not case sensitive. You can also use variables for
+ extended EPG categories defined in epgsearchcats.conf or use your own
+ user defined variables defined in epgsearchuservars.conf
+
+ An entry consists of up to 6 tables separated with ’|’. The last entry
+ of each table should declare the table width in chars, separated with
+ ’:’.
+
+ If you use a separator like ’~’, ’-’ or ’#’ to separate items like
+ title or subtitle, e.g. %title% ~ %subtitle%, and the subtitle is
+ empty, then epgsearch will try to fix this automatically to avoid a
+ trailing separator.
+
+ You should vary the tab width values to fit your needs, since the look
+ often depends on the selected skin. epgsearchmenu.conf is not reloaded
+ with every plugin call, since this is only useful when testing the conf
+ file. To activate the permanent reload for testing your conf, pass the
+ new start parameter ’-r’ or ’--reloadmenuconf’ in your runvdr.
+
+ There’s a sample epgsearchmenu.conf in the subdirectory "conf". For a
+ quick try copy it to your plugins config directory (e.g. /etc/vdr/plug‐
+ ins).
+
+ To enable icons from WarEagleIcon-Patch simply put the line
+
+ WarEagleIcons=1
+
+ to epgsearchmenu.conf.
+
+ NOTE: As long as there is a file epgsearchmenu.conf with an entry for a
+ special menu, all setup settings regarding the look of this menu are
+ ignored.
+
+ See also "epgsearchmenu.con(5)".
+
+11. Working with the timer conflict menu
+ If a conflict is detected within the periodic conflict background check
+ you get an OSD message which informs you about it. Pressing ’Ok’ you
+ will get a menu that displays all relevant conflicts. You can manually
+ call this menu in epgsearch in the menu ’Search/Actions’.
+
+ Besides the relevant conflicts (relevance is controlled via the setup
+ options of epgsearch) there may also be conflicts which are not classi‐
+ fied as important. If so, you can press ’Show all’ to get the complete
+ list. The menu title always displays the number of relevant conflicts
+ and the total number.
+
+ The list displays first the time when a conflict appears and then all
+ timers that will fail here. A timer entry consists of the channel num‐
+ ber and its name followed by the timer priority and the percentage
+ value that shows how much of the timer will be recorded. Finally the
+ timer’s file entry is displayed.
+
+ When you select a timer entry and press ’Ok’ or ’Details’ you get a new
+ menu which displays all concurrent timers. This menu allows you to
+ resolve the conflict by
+
+ - searching a repeat for an event
+ - disabling a timer
+ - deleting a timer
+ - changing the timers start- or stop-time or its priority
+ - executing any other commands on this timer
+
+ An entry of this menu consists of the sign ’>’ to indicate an active
+ timer, the channel number, the start and stop time, the priority, the
+ number of the device that will do the recording (or ’C’ for conflict)
+ and the timer’s file entry. Pressing ’Ok’ on a timer entry will show
+ you its event description if present.
+
+ If one returns from this menu to the conflict overview menu there will
+ be an automatic update to see if a conflict was really resolved. Some
+ changes to a timer (like modifying start/stop or deleting a timer) in
+ the conflict details menu also cause an immediate return to the
+ overview menu and produce an update.
+
+12. User defined variables
+ You can create your own variables to be used in any place that supports
+ variables, like the default recording directory for manually created
+ timers, the recording directory of a search timer or in your customized
+ EPG menus. Put them in the file epgsearchuservars.conf.
+
+ Variables looks like %Variablename%.
+
+ "Variablename" can be consist of any alphanumerical character. Space
+ and special characters are not allowed.
+
+ The variable names are case-insensitive.
+
+ Examples for possible names:
+
+ %Series% %DocuVar1% %ThemesSubtitleDate1%
+
+ Assignment
+
+ %Series%=New series~Thriller
+
+ The variable %Series% will be assigned with the string "New
+ series~Thriller".
+
+ Assignments are always strings. Spaces stay spaces.
+
+ %Path%=%Series%
+
+ The variable %Path% gets the content of the variable %Series%.
+
+ You can do nearly everything:
+
+ %Path%=%Serie%~Lost
+
+ The variable %Path% contains now the string "New series~Thriller~Lost".
+
+ Control structures
+
+ You can use simple "if then else" constructions.
+
+ These constructions cannot contain strings, only variables. Spaces are
+ ignored.
+
+ %Foo%=Other
+
+ %Variable%=%Path% ? %Path% : %Foo%
+
+ If %Path% is not empty, assign the content of %Path% to %Variable%,
+ otherwise the content of %Foo%.
+
+ "%Path% ?" means "not empty?". You can use other checks.
+
+ %Variable%=%Path%!=5 ? %Path% : %Foo%
+
+ "%Path%!=5 ?" means "is %Path% equal 5?"
+
+ You can also compare variables.
+
+ %Five%=5
+
+ %Variable%=%Path%!=%Five% ? %Path% : %Foo%
+
+ Other possible checks:
+
+ == equal
+ != not equal
+
+ Calling a system command
+
+ You can call external commands. The returned string will be assigned to
+ a variable
+
+ %uservar%=system(scriptname[, parameters])
+
+ Calls the script "scriptname" with the parameters defined in the
+ optional list of ’parameters’. This can be an arbitrary expression con‐
+ taining other user variables, but not again a system call or a condi‐
+ tional expression.
+
+ Sample:
+
+ %myVar%=system(/usr/local/bin/myscript.sh, -t %title% -s %subtitle% -u %myOtherVar%)
+
+ The script must return a string without line break!
+
+ If the script returns nothing, an empty string will be assigned to the
+ Variable %Result%.
+
+ Possible variables
+
+ for a list of already builtin variables refer to the section "Customiz‐
+ ing the EPG menus" Furthermore you can use every variable defined in
+ epgsearchcats.conf.
+
+ See "epgsearchcats.conf(5)".
+
+ EXAMPLES
+
+ # Weekday, Date, Time
+ %DateStr%=%time_w% %date% %time%
+
+ # Themes or Subtitle or Date
+ %ThemesSubtitleDate1%=%Subtitle% ? %Subtitle% : %DateStr%
+ %ThemesSubtitleDate%=%Themes% ? %Themes% : %ThemesSubtitleDate1%
+
+ # Calls this script to get a recording path
+ %DocuScript%=system(doku.pl, -t %Title% -s %Subtitle% -e %Episode% -th %Themes% -c %Category% -g %Genre%)
+ %Docu%=%DocuScript%
+
+13. Email notification
+ If you want to get email notifications about timers added/modi‐
+ fied/removed by the search timer thread or about timer conflicts, first
+ copy the script ’sendEmail.pl’ to the place where your executables are
+ (e.g. /usr/local/bin) and then configure your email account in the
+ setup. Press ’Test’ to check if it works. There should be something
+ like ’Email successfully sent’ at the end of the output. The content
+ of the mails is defined by the files
+
+ - epgsearchupdmail.templ (for search timer update notifications)
+ - epgsearchconflmail.templ (for timer conflict notifications)
+
+ You can find sample files in the ’conf’ directory. Copy them to
+ epgsearchs config directory (e.g. /etc/vdr/plugins/epgsearch).
+
+ Customizing the notifications mails
+
+ The content of the mails can be customized in many ways. You can use
+ plain text or HTML (see the sample conf/epgsearchupdmail-html.templ).
+ For an update mail you have to define the following sections:
+
+ - "subject" to be used as mail subject
+ - "mailbody" the body of the mail:
+ put ’%update.newtimers%’ in the place where the list of new timers should
+ appear. The same for %update.modtimers% and %update.deltimers% for the
+ list of changed or deleted timers.
+ - "timer" the description of one timer. This section is used to display one
+ timer within a timer list, e.g. in %update.newtimers%
+
+ each section is enclosed in a pseudo XML tag.
+
+ The following variables can be used in the section <mailbody>:
+
+ - %update.newtimers% - will be replaced with the list of new timers
+ created with this update. The timers are
+ displayed as defined in the section ’<timer>’
+ - %update.countnewtimers% - the number of new timers
+ - %update.modtimers% - same as %update.newtimers% but for modified
+ timers.
+ - %update.countmodtimers% - the number of modified timers
+ - %update.deltimers% - same as %update.newtimers% but for deleted
+ timers. (Note: a deleted timer has eventually
+ no event assigned to it. So all event variables
+ within the timer section will be substituted to
+ an empty string.)
+ - %update.countdeltimers% - the number of deleted timers
+ - %colon% - the sign ’:’
+ - %datenow% - current date in format TT.MM.YY
+ - %dateshnow% - current date in format TT.MM.
+ - %timenow% - current time in format HH:MM
+
+ The following variables can be used in the section <timer>:
+
+ - %timer.date% - date of the timer
+ - %timer.start% - start time of the timer
+ - %timer.stop% - stop time of the timer
+ - %timer.file% - recording directory of the timer
+ - %timer.chnr% - channel number
+ - %timer.chsh% - short channel name
+ - %timer.chlng% - channel name
+ - %timer.search% - name of the search timer, that created the timer
+ - %timer.searchid% - id of the search timer, that created the timer
+ - any event variable (as in ’10. Customizing the EPG menus’)
+ - any extended EPG variable as defined in epgsearchcats.conf
+ - any user variable (as in ’12. User defined variables’)
+
+ For a conflict notification mail the following sections exist:
+
+ - "subject" to be used as mail subject
+ - "mailbody" the body of the mail. Put %conflict.conflicts% in the place
+ where the list of conflict times should appear (Note: there can be more
+ than one timer conflict at the same time!). A conflict time uses the
+ section ’conflictsat’ to display its content.
+ - "conflictsat" the description of one time where one or more conflicts
+ exists. Put %conflict.confltimers% in the place where the list of conflict
+ timers should appear.
+ - "confltimer" the description of one conflicting timer
+
+ The following variables can be used in the section <mailbody>:
+
+ - %conflict.count% - complete number of timer conflicts
+ - %conflict.conflicts% - list of times with conflicting timers
+
+ The following variables can be used in the section <conflictsat>:
+
+ - %conflict.date% - date of the conflict
+ - %conflict.time% - time of the conflict
+ - %conflict.confltimers% - list of conflicting timers for this time
+
+ The section <conflicttimer> can use the same variables as the section
+ <timer> in an update mail (see above).
+
+SEE ALSO
+ epgsearch(1), "epgsearch.conf(5)", "epgsearchuservars.con(5)",
+ "epgsearchdirs.conf(5)", "epgsearchmenu.conf(5)",
+ "epgsearchcmds.conf(5)"
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-07 epgsearch(5)
diff --git a/doc/en/epgsearch.conf.5.txt b/doc/en/epgsearch.conf.5.txt
new file mode 100644
index 0000000..f00d07d
--- /dev/null
+++ b/doc/en/epgsearch.conf.5.txt
@@ -0,0 +1,145 @@
+epgsearch.conf(5) Epgsearch Version 0.9.24.beta9 epgsearch.conf(5)
+
+
+
+NAME
+ epgsearch.conf - The searchtimers
+
+DESCRIPTION
+ This file contains the searchtimers.
+
+ Do not edit it manually, you should use SVDRP.
+
+SYNTAX
+ Due to some new features there was a change in the format. The format
+ is now signed with a comment in the first line. The field delimiter is
+ ’:’:
+
+ 1 - unique search timer id
+ 2 - the search term
+ 3 - use time? 0/1
+ 4 - start time in HHMM
+ 5 - stop time in HHMM
+ 6 - use channel? 0 = no, 1 = Interval, 2 = Channel group, 3 = FTA only
+ 7 - if ’use channel’ = 1 then channel id[|channel id] in VDR format,
+ one entry or min/max entry separated with |, if ’use channel’ = 2
+ then the channel group name
+ 8 - match case? 0/1
+ 9 - search mode:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are blank,’,’, ’;’, ’|’ or ’~’)
+ must exist as substrings.
+ 2 - at least one term (delimiters are blank, ’,’, ’;’, ’|’ or ’~’)
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ 10 - use title? 0/1
+ 11 - use subtitle? 0/1
+ 12 - use description? 0/1
+ 13 - use duration? 0/1
+ 14 - min duration in minutes
+ 15 - max duration in minutes
+ 16 - use as search timer? 0/1
+ 17 - use day of week? 0/1
+ 18 - day of week (0 = Sunday, 1 = Monday...;
+ -1 Sunday, -2 Monday, -4 Tuesday, ...; -7 Sun, Mon, Tue)
+ 19 - use series recording? 0/1
+ 20 - directory for recording
+ 21 - priority of recording
+ 22 - lifetime of recording
+ 23 - time margin for start in minutes
+ 24 - time margin for stop in minutes
+ 25 - use VPS? 0/1
+ 26 - action:
+ 0 = create a timer
+ 1 = announce only via OSD (no timer)
+ 2 = switch only (no timer)
+ 27 - use extended EPG info? 0/1
+ 28 - extended EPG info values. This entry has the following format
+ (delimiter is ’|’ for each category, ’#’ separates id and value):
+ 1 - the id of the extended EPG info category as specified in
+ epgsearchcats.conf
+ 2 - the value of the extended EPG info category
+ (a ’:’ will be translated to "!^colon^!", e.g. in "16:9")
+ 29 - avoid repeats? 0/1
+ 30 - allowed repeats
+ 31 - compare title when testing for a repeat? 0/1
+ 32 - compare subtitle when testing for a repeat? 0/1
+ 33 - compare description when testing for a repeat? 0/1
+ 34 - compare extended EPG info when testing for a repeat?
+ This entry is a bit field of the category IDs.
+ 35 - accepts repeats only within x days
+ 36 - delete a recording automatically after x days
+ 37 - but keep this number of recordings anyway
+ 38 - minutes before switch (if action = 2)
+ 39 - pause if x recordings already exist
+ 40 - blacklist usage mode (0 none, 1 selection, 2 all)
+ 41 - selected blacklist IDs separated with ’|’
+ 42 - fuzzy tolerance value for fuzzy searching
+ 43 - use this search in favorites menu (0 no, 1 yes)
+ 44 - id of a menu search template
+ 45 - auto deletion mode (0 don’t delete search timer, 1 delete after given
+ count of recordings, 2 delete after given days after first recording)
+ 46 - count of recordings after which to delete the search timer
+ 47 - count of days after the first recording after which to delete the search
+ timer
+ 48 - first day where the search timer is active (see parameter 16)
+ 49 - last day where the search timer is active (see parameter 16)
+ 50 - ignore missing EPG categories? 0/1
+ 51 - unmute sound if off when used as switch timer
+
+ A ’:’ in the search term or the directory entry will be translated in a
+ ’|’. If a ’|’ exists in the search term, e.g. when using regular
+ expressions, it will be translated to "!^pipe^!" (I know it’s ugly ;-))
+
+ There’s no need to fill all fields, only the first 11 fields must
+ exist.
+
+EXAMPLE
+ #version 2 - DON’T TOUCH THIS!
+ 1:Kommissar Beck:0:::2:ÖffRecht:0:0:1:0:0:0:::1:0:0:1:%Category%~%Genre%:50:99:10:60:0:0:0::1:0:1:1:0:0:0:0:0
+ 2:* Sägebrecht:0:::2:Hauptsender:0:0:0:0:0:0:::0:0:0:0:%Category%~%Genre%:50:99:10:10:0:0:1:1#|2#|3#|4#|5#|6#Marianne Sägebrecht|7#|8#|9#|10#|11#|12#|13#:1:0:1:0:0:0:0:0:0
+
+SEE ALSO
+ epgsearch(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-07 epgsearch.conf(5)
diff --git a/doc/en/epgsearchblacklists.conf.5.txt b/doc/en/epgsearchblacklists.conf.5.txt
new file mode 100644
index 0000000..5bcace6
--- /dev/null
+++ b/doc/en/epgsearchblacklists.conf.5.txt
@@ -0,0 +1,75 @@
+epgsearchblacklists.confEpgsearch Version 0.9.24.beepgsearchblacklists.conf(5)
+
+
+
+NAME
+ epgsearchblacklists.conf - Blacklist
+
+DESCRIPTION
+ You can create blacklists in epgsearch and use them in searchtimers.
+
+ A blacklist entry is like a normal searchtimer which is saved in the
+ file epgsearchblacklists.conf.
+
+ While editing an searchtimer you can select one ore more blacklist
+ entries.
+
+ USAGE
+
+ Searchtimer "Action" use blacklist "Damme".
+
+ Blacklist entry "Damme" searches "Damme"
+
+ First the searchtimer searches all films with "Action".
+
+ Then for each search result epgsearch will test if the result matches
+ against "Damme". If so, the result will be dismissed.
+
+SYNTAX
+ This file uses the same syntax as epgsearch.conf except that theres no
+ <use as searchtimer> field. So there’s a shift by one field from this
+ position. Because that, see "epgsearch.conf(5)".
+
+SEE ALSO
+ epgsearch(1), "epgsearch.conf(5)"
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchblacklists.conf(5)
diff --git a/doc/en/epgsearchcats.conf.5.txt b/doc/en/epgsearchcats.conf.5.txt
new file mode 100644
index 0000000..123e18c
--- /dev/null
+++ b/doc/en/epgsearchcats.conf.5.txt
@@ -0,0 +1,134 @@
+epgsearchcats.conf(5) Epgsearch Version 0.9.24.beta9 epgsearchcats.conf(5)
+
+
+
+NAME
+ epgsearchcats.conf - Configuration of the additional EPG information
+
+DESCRIPTION
+ Some EPG providers deliver additional EPG information like the type of
+ event, the video and audio format, cast,...
+
+ Using tvm2vdr or epg4vdr you can import this into vdr. To use this
+ information with search timers one has to configure it with the file
+ epgsearchcats.conf in your plugins config directory.
+
+ Sample files for epgsearchcats.conf are delivered with the plugin in
+ the directory ’conf’.
+
+ Simply copy the one that fits for you to your plugins config directory
+ with filename epgsearchcats.conf and then have a look to the search
+ timers edit menu (after a restart of VDR).
+
+ Since setting up a new epgsearchcats.conf is a lot of work, I’ve added
+ a small tool ’createcats’, that makes the biggest part of the job. It
+ should have been compiled with the plugin and exists in the sources
+ directory.
+
+ See createcats(1) for information about how to use it.
+
+ Internals: epgsearch scans the summary of an event for the category
+ name followed by ’: ’ for all categories that have a corresponding
+ value set in the search timer. The search is case sensitive regarding
+ the category name as also the value.
+
+SYNTAX
+ ID|category name|name in menu|values separated by ’,’(option)|searchmode(option)
+
+ - ’ID’ should be a unique positive integer
+ (changing the id later on will force you to re-edit your search timers!)
+ - ’category name’ is the name as delivered by the EPG provider, e.g. ’Genre’
+ - ’name in menu’ is the name displayed in epgsearch.
+ - ’values’ is an optional list of possible values
+ - ’searchmode’ specifies the search mode:
+ text comparison:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are ’,’, ’;’, ’|’ or ’~’)
+ must exist as substrings. This is the default search mode.
+ 2 - at least one term (delimiters are ’,’, ’;’, ’|’ or ’~’)
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ numerical comparison:
+ 10 - less
+ 11 - less or equal
+ 12 - greater
+ 13 - greater or equal
+ 14 - equal
+ 15 - not equal
+
+EXAMPLE
+ (Lines are shortened for correct displaying)
+
+ Example for EPG from Hörzu, downloaded from epgdata.com with
+ tvmovie2vdr.
+
+ 1|Category|Kategorie|Information,Kinder,Musik,Serie,Show,Spielfilm,Sport|2
+
+ 2|Genre|Genre|Abenteuer,Action,Wirtschaft,Wissen,Zeichentrick|2
+
+ 3|Format|Video-Format|16:9,4:3|2
+
+ 4|Audio|Audio|Dolby Surround,Dolby,Hoerfilm,Stereo|2
+
+ 5|Year|Jahr||2
+
+ 6|Cast|Besetzung||2
+
+ 7|Director|Regisseur||2
+
+ 8|Moderator|Moderation||2
+
+ 9|Rating|Bewertung|Großartig besonders wertvoll,Annehmbar,Schwach|2
+
+ 10|FSK|FSK|6,12,16,18|2
+
+ 11|Country|Land||2
+
+ 12|Episode|Episode||4
+
+ 13|Themes|Thema||4
+
+SEE ALSO
+ epgsearch(1), "epgsearchcats.conf(5)", createcats(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchcats.conf(5)
diff --git a/doc/en/epgsearchchangrps.conf.5.txt b/doc/en/epgsearchchangrps.conf.5.txt
new file mode 100644
index 0000000..e7e638f
--- /dev/null
+++ b/doc/en/epgsearchchangrps.conf.5.txt
@@ -0,0 +1,67 @@
+epgsearchchangrps.conf(5Epgsearch Version 0.9.24.betaepgsearchchangrps.conf(5)
+
+
+
+NAME
+ epgsearchchangrps.conf - Channel groups
+
+DESCRIPTION
+ You can define channel groups in epgsearch which can be used in
+ searchtimers.
+
+ In this file the groups will be saved.
+
+SYNTAX
+ Each line contains one channel group. The line begins with the group
+ name, after the name, split by ’|’, the list of channels.
+
+EXAMPLE
+ (Lines are shortened for clean displaying)
+
+ Private|S19.2E-133-33-46|S19.2E-133-33-51
+ ProsiebenSat.1|S19.2E-133-33-46|S19.2E-133-33-47
+ RTL World|S19.2E-1-1089-12003||S19.2E-1-1089-12090
+
+SEE ALSO
+ epgsearch(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchchangrps.conf(5)
diff --git a/doc/en/epgsearchcmds.conf.5.txt b/doc/en/epgsearchcmds.conf.5.txt
new file mode 100644
index 0000000..70980c0
--- /dev/null
+++ b/doc/en/epgsearchcmds.conf.5.txt
@@ -0,0 +1,74 @@
+epgsearchcmds.conf(5) Epgsearch Version 0.9.24.beta9 epgsearchcmds.conf(5)
+
+
+
+NAME
+ epgsearchcmds.conf - EPG Commands
+
+DESCRIPTION
+ This file contains, like the file commands.conf or reccmds.conf, com‐
+ mands, which can be applied to the in the program menu selected event.
+
+ Internal epgsearch has 8 not changeable commands.
+
+ If there is a epgsearchcmds.conf, the commands in it will be appended
+ to the list of the internal commands, starting with 9.
+
+ Language
+
+ You can use different files for each language. For example
+ epgsearchcmds-eng.conf will be loaded if the, in VDR selected, language
+ is english.
+
+ If there is no file for the selected language, epgsearch tries to load
+ epgsearchcmds.conf.
+
+SYNTAX
+ Description : Command
+
+EXAMPLE
+ epg2taste (de): /usr/local/vdr/epg2taste.sh
+
+SEE ALSO
+ epgsearch(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchcmds.conf(5)
diff --git a/doc/en/epgsearchdirs.conf.5.txt b/doc/en/epgsearchdirs.conf.5.txt
new file mode 100644
index 0000000..494ca6d
--- /dev/null
+++ b/doc/en/epgsearchdirs.conf.5.txt
@@ -0,0 +1,104 @@
+epgsearchdirs.conf(5) Epgsearch Version 0.9.24.beta9 epgsearchdirs.conf(5)
+
+
+
+NAME
+ epgsearchdirs.conf - List of directories for selecting in epgsearch
+
+DESCRIPTION
+ This is one source of the ’Select directory’ menu.
+
+ This file contain directories which can be used for search timers or
+ ordinary timers.
+
+ The items displayed are read from the following sources:
+
+ * current recording directories
+ * current timer directories
+ * directories used in search timers
+ * directories specified in F<epgsearchdirs.conf>
+
+ The menu merges theses directories and displays only distinct directo‐
+ ries. With key ’yellow’ one can change the depth of the directories
+ shown. If there are items, that contain category variables like
+ ’%genre%’, these entries are always shown before any other directories.
+ They are also not level dependent, but are always shown with their full
+ directory.
+
+ If this menu is called from the timer edit menu and an item is selected
+ that contains the variables "%title%" or "%subtitle" then the ’file’
+ item of the timer gets cleared, since title or subtitle already exist
+ in the ’directory’ item.
+
+SYNTAX
+ Each line contains a directory. You can use every variable, internal
+ ones those defined in epgsearchuservars.conf and the variables of the
+ extended EPG.
+
+ See "epgsearchcats.conf(5)" and "epgsearchuservars.conf(5)".
+
+ Internal ones:
+
+ %time% - start time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %title% - title
+ %subtitle% - subtitle
+
+EXAMPLE
+ %Category%~%Genre%
+ %Category%~%Genre%~%Title%~%Episode%: %Subtitle%
+ Information~Nature~%Title%~%Episode%: %Subtitle%
+ %Series%
+ Movie~Action
+ Movie~Docu
+ Movie~Thriller
+ Music
+ Sports
+
+SEE ALSO
+ epgsearch(1), "epgsearchcats.conf(5)", "epgsearchuservars.conf(5)"
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchdirs.conf(5)
diff --git a/doc/en/epgsearchmenu.conf.5.txt b/doc/en/epgsearchmenu.conf.5.txt
new file mode 100644
index 0000000..c3db6a5
--- /dev/null
+++ b/doc/en/epgsearchmenu.conf.5.txt
@@ -0,0 +1,148 @@
+epgsearchmenu.conf(5) Epgsearch Version 0.9.24.beta9 epgsearchmenu.conf(5)
+
+
+
+NAME
+ epgsearchmenu.conf - Customizing the EPG menus
+
+DESCRIPTION
+ The file epgsearchmenu.conf in your plugins config directory is used to
+ store the entries for customizing the EPG menus. You specify the look
+ of each menu (What’s on now, What’s on next, What’s on at ..., Sched‐
+ ule, Search results, Favorites) with a separate line.
+
+EXAMPLE
+ MenuWhatsOnNow=%chnr%:3|%progrt2s%:5| %time% %t_status%:8|%category%:6| %title% ~ %subtitle%:35
+ MenuWhatsOnNext=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuWhatsOnElse=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuSchedule=%time% %t_status%:8|%genre%:14| %title% ~ %subtitle%:35
+ MenuSearchResults=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon% %subtitle%:35
+ MenuFavorites=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon%%subtitle%:35
+
+SYNTAX
+ E.g. the entry ’MenuWhatsOnNow’ tells epgsearch how you would like to
+ build a line for the menu ’What’s on now’. This would create a menu
+ line starting with the channel number, followed by a progress bar in
+ text2skin style, a space of one char, the start time, the timer status,
+ the EPG category (like "movie") and finally the title and subtitle.
+
+ The values for MenuWhatsOnNext, MenuWhatsOnElse, MenuSchedule, MenuSe‐
+ archResults, MenuFavorites specify the menu ’What’s on next’, ’What’s
+ on at ...’, ’Schedule’, ’Search results’ and ’Favorites’ respectively.
+ If you do not specify one entry, epgsearch uses it’s default menu look.
+
+ ’MenuSearchResults’ has something special: If you want to have differ‐
+ ent layouts for your search results depending on the search, you can
+ use more then one menu template. Simply define e.g. an additional
+
+ MenuSearchResultsTip of the Day=%chnr%:3|%time_w%:4|%t_status%:3|%genre%:10|%title%%colon% %subtitle%:35
+
+ This will produce an additional menu item "Result menu layout" in the
+ edit menu of a search where you can choose between the default menu
+ template and your own templates. In the example above you will get "Tip
+ of the Day" as selection entry, since epgsearch simply cuts the leading
+ "MenuSearchResults". When you display the search results the chosen
+ template will be used instead of the default one.
+
+ The following variables exist:
+
+ %time% - start time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %title% - title
+ %subtitle% - subtitle
+ %t_status% - timer status (’T’, ’t’, ’R’)
+ %v_status% - VPS status
+ %r_status% - running status
+ %status% - complete status, the same as
+ ’%t_status%%v_status%%r_status%’
+ %colon% - the sign ’:’
+ %<epg-category>% - a value from the extended EPG categories, specified in
+ epgsearchcats.conf, like %genre% or %category%
+
+ for the ’Whats on...’ and ’Search results’ menu there is also:
+
+ %chnr% - channel number
+ %chsh% - the short channel name (>=vdr-1.3.15)
+ %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’)
+ %progrT2S% - progress bar in text2skin style (not for menu ’Search results’)
+
+ the variables are not case sensitive.
+
+ An entry consists of up to 6 tables separated with ’|’. The last entry
+ of each table should declare the table width in chars, separated with
+ ’:’.
+
+ If you use a separator like ’~’, ’-’ or ’#’ to separate items like
+ title or subtitle, e.g. %title% ~ %subtitle%, and the subtitle is
+ empty, then epgsearch will try to fix this automatically to avoid a
+ trailing separator.
+
+ You should vary the tab width values to fit your needs, since the look
+ often depends on the selected skin. epgsearchmenu.conf is not reloaded
+ with every plugin call, since this is only useful when testing the conf
+ file. To activate the permanent reload for testing your conf, pass the
+ new start parameter ’-r’ or ’--reloadmenuconf’ in your runvdr.
+
+ There’s a sample epgsearchmenu.conf in the subdirectory "conf". For a
+ quick try copy it to your plugins config directory (e.g. /etc/vdr/plug‐
+ ins).
+
+ To enable icons from WarEagleIcon-Patch simply put the line
+
+ WarEagleIcons=1
+
+ to epgsearchmenu.conf.
+
+ NOTE: As long as there is a file epgsearchmenu.conf with an entry for a
+ special menu, all setup settings regarding the look of this menu are
+ ignored.
+
+SEE ALSO
+ epgsearch(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchmenu.conf(5)
diff --git a/doc/en/epgsearchswitchtimers.conf.5.txt b/doc/en/epgsearchswitchtimers.conf.5.txt
new file mode 100644
index 0000000..abb1de0
--- /dev/null
+++ b/doc/en/epgsearchswitchtimers.conf.5.txt
@@ -0,0 +1,72 @@
+epgsearchswitchtimers.coEpgsearch Version 0.9.24.epgsearchswitchtimers.conf(5)
+
+
+
+NAME
+ epgsearchswitchtimer.conf - The list of switchtimer
+
+DESCRIPTION
+ In epgsearch switchtimer can be created via the program menu or the
+ searchtimers. These switchtimer can switch the channel at the beginning
+ of the event or only inform you about the start via OSD.
+
+ The switchtimers are saved in this file.
+
+SYNTAX
+ The delimiter is ’:’.
+
+ This fields are possible:
+
+ 1 - Channel
+ 2 - Event ID
+ 3 - Start time
+ 4 - Minutes to switch before event
+ 5 - Only inform via OSD
+ 6 - unmute sound if off
+
+EXAMPLE
+ S19.2E-1-1089-12060:52221:1153322700:1:0
+
+SEE ALSO
+ epgsearch(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-07 epgsearchswitchtimers.conf(5)
diff --git a/doc/en/epgsearchtemplates.conf.5.txt b/doc/en/epgsearchtemplates.conf.5.txt
new file mode 100644
index 0000000..8a47ade
--- /dev/null
+++ b/doc/en/epgsearchtemplates.conf.5.txt
@@ -0,0 +1,61 @@
+epgsearchtemplates.conf(Epgsearch Version 0.9.24.betepgsearchtemplates.conf(5)
+
+
+
+NAME
+ epgsearchtemplates.conf - Searchtimer templates
+
+DESCRIPTION
+ In epgsearch searchtimer templates can be created for easy creating new
+ searchtimers.
+
+ These templates are saved in this file.
+
+SYNTAX
+ This file has the same syntax as the epgsearch.conf.
+
+ So please refer to epgsearch.conf, see "epgsearch.conf(5)".
+
+SEE ALSO
+ epgsearch(1), "epgsearch.conf(5)"
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchtemplates.conf(5)
diff --git a/doc/en/epgsearchuservars.conf.5.txt b/doc/en/epgsearchuservars.conf.5.txt
new file mode 100644
index 0000000..a22425d
--- /dev/null
+++ b/doc/en/epgsearchuservars.conf.5.txt
@@ -0,0 +1,182 @@
+epgsearchuservars.conf(5Epgsearch Version 0.9.24.betaepgsearchuservars.conf(5)
+
+
+
+NAME
+ epgsearchuservars.conf - User defined variables
+
+DESCRIPTION
+ In this file you can defines variables which then can be used in
+ epgsearch in any play where variables are possible.
+
+SYNTAX
+ Variables looks like %Variablename%.
+
+ "Variablename" can be consist of any alphanumerical character. Space
+ and special characters are not allowed.
+
+ The variable names are case-insensitive.
+
+ Examples for possible names:
+
+ %Series% %DocuVar1% %ThemesSubtitleDate1%
+
+ Assignment
+
+ %Series%=New series~Thriller
+
+ The variable %Series% will be assigned with the string "New
+ series~Thriller".
+
+ Assignments are always strings. Spaces stay spaces.
+
+ %Path%=%Series%
+
+ The variable %Path% gets the content of the variable %Series%.
+
+ You can do nearly everything:
+
+ %Path%=%Serie%~Lost
+
+ The variable %Path% contains now the string "New series~Thriller~Lost".
+
+ Control structures
+
+ You can use simple "if then else" constructions.
+
+ These constructions cannot contain strings, only variables. Spaces are
+ ignored.
+
+ %Foo%=Other
+
+ %Variable%=%Path% ? %Path% : %Foo%
+
+ If %Path% is not empty, assign the content of %Path% to %Variable%,
+ otherwise the content of %Foo%.
+
+ "%Path% ?" means "not empty?". You can use other checks.
+
+ %Variable%=%Path%!=5 ? %Path% : %Foo%
+
+ "%Path%!=5 ?" means "is %Path% equal 5?"
+
+ You can also compare variables.
+
+ %Five%=5
+
+ %Variable%=%Path%!=%Five% ? %Path% : %Foo%
+
+ Other possible checks:
+
+ == equal
+ != not equal
+
+ Calling a system command
+
+ You can call external commands. The returned string will be assigned to
+ a variable
+
+ %Result%=system(scriptname,%Variable1% %Variable2% -f %Variable3% --dir=%Variable4% --dummy)
+
+ Calls the script "scriptname" with the parameters "%Variable1%",
+ "%Variable2%", etc. The result will be stored in %Result%.
+
+ You can use as many variables as you want.
+
+ If needed, epgsearch will quote the variable.
+
+ The script must return a string without line break!
+
+ If the script returns nothing, an empty string will be assigned to the
+ Variable %Result%.
+
+ Possible variables
+
+ The following variables exist:
+
+ %time% - start time in format HH:MM
+ %timeend% - end time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %title% - title
+ %subtitle% - subtitle
+ %summary% - summary
+ %htmlsummary% - summary, where all CR are replaced with ’<br />’
+ %eventid% - numeric event ID
+
+ %<epg-category>% - a value from the extended EPG categories, specified in
+ F<epgsearchcats.conf>, like %genre% or %category%
+
+ %chnr% - channel number
+ %chsh% - the short channel name (>=vdr-1.3.15)
+ %chlng% - the ’normal’ channel name
+ %chdata% - VDR’s internal channel representation (e.g. ’S19.2E-1-1101-28106’)
+
+ %colon% - the sign ’:’
+ %datenow% - current date in format TT.MM.YY
+ %dateshnow% - current date in format TT.MM.
+ %timenow% - current time in format HH:MM
+ %videodir% - VDR video directory (e.g. /video)
+ %plugconfdir% - VDR plugin config directory (e.g. /etc/vdr/plugins)
+ %epgsearchdir% - epgsearchs config directory (e.g. /etc/vdr/plugins/epgsearch)
+
+ See also "epgsearchcats.conf(5)".
+
+EXAMPLES
+ # Weekday, Date, Time
+ %DateStr%=%time_w% %date% %time%
+
+ # Themes or Subtitle or Date
+ %ThemesSubtitleDate1%=%Subtitle% ? %Subtitle% : %DateStr%
+ %ThemesSubtitleDate%=%Themes% ? %Themes% : %ThemesSubtitleDate1%
+
+ # Calls this script to get a recording path
+ %DocuScript%=system(doku.pl,%Title%,%Subtitle%,%Episode%,%Themes%,%Category%,%Genre%)
+ %Docu%=%DocuScript%
+
+SEE ALSO
+ epgsearch(1), "epgsearchcats.conf(5)"
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 epgsearchuservars.conf(5)
diff --git a/doc/en/noannounce.conf.5.txt b/doc/en/noannounce.conf.5.txt
new file mode 100644
index 0000000..7c79d22
--- /dev/null
+++ b/doc/en/noannounce.conf.5.txt
@@ -0,0 +1,73 @@
+noannounce.conf(5) Epgsearch Version 0.9.24.beta9 noannounce.conf(5)
+
+
+
+NAME
+ noannounce.conf - list of events that have been marked to not be
+ announced via OSD
+
+DESCRIPTION
+ This file contains a list of events that have been marked to not be
+ announced via OSD by the search timer background thread.
+
+ If the user presses one of the keys ’Ok’, ’0’, ... ’9’ while the
+ announcement of an event is displayed, he will be asked if further
+ announcements of this event should be disabled for ever (user hit ’0’
+ or ’Ok’) or for the next ’x’ days (user hit ’1’ to ’9’). After pressing
+ ’Ok’ again, this setting will be stored.
+
+FORMAT
+ Events are stored one per line, where the fields are separated with
+ ’:’.
+
+ The following fields exists:
+
+ 1 - title
+ 2 - short text
+ 3 - channel ID
+ 4 - start time
+ 5 - next announce time
+
+SEE ALSO
+ epgsearch(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (C) 2004-2007 Christian Wieninger
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
+ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
+ your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+ The author can be reached at cwieninger@gmx.de
+
+ The project’s page is at http://winni.vdr-developer.org/epgsearch
+
+ The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
+ Digest Algorithm.
+
+
+
+perl v5.8.8 2007-11-04 noannounce.conf(5)
diff --git a/doc/en/timersdone.conf.5.txt b/doc/en/timersdone.conf.5.txt
new file mode 100644
index 0000000..cf205eb
--- /dev/null
+++ b/doc/en/timersdone.conf.5.txt
@@ -0,0 +1,56 @@
+timersdone.conf(5) Epgsearch Version 0.9.24.beta9 timersdone.conf(5)
+
+
+
+NAME
+ timersdone.conf - list of current timers created by search timers
+
+DESCRIPTION
+ This file contains the current timers that were created by search
+ timers. If the setup option ’Recreate timers after deletion’ is set to
+ ’no’, epgsearch uses this list to determine if a timer was already cre‐
+ ated and cancels further timer creations. If a corresponding recording
+ was made for any timer in this list, the timer is automatically removed
+ from it.
+
+FORMAT
+ Timers are stored one per line, where the fields are separated with
+ ’:’.
+
+ The following fields exists:
+
+ 1 - channel-ID
+ 2 - start time
+ 3 - stop time
+ 4 - search timer ID
+ 5 - event title
+ 6 - event episode
+
+SEE ALSO
+ epgsearch(1)
+
+AUTHOR (man pages)
+ Mike Constabel <epgsearch (at) constabel (dot) net>
+
+REPORT BUGS
+ Bug reports (german):
+
+ <http://www.vdr-developer.org/mantisbt/>
+
+ Mailing list:
+
+ <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+COPYRIGHT and LICENSE
+ Copyright (c) 2005-2006 Christian Wieninger
+
+ <http://www.cwieninger.de.vu/>
+
+ This is free software. You may redistribute copies of it under the
+ terms of the GNU General Public License
+ <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the
+ extent permitted by law.
+
+
+
+perl v5.8.8 2007-11-04 timersdone.conf(5)