diff options
author | Christian Wieninger <winni@debian.(none)> | 2007-11-11 15:40:28 +0100 |
---|---|---|
committer | Christian Wieninger <winni@debian.(none)> | 2007-11-11 15:40:28 +0100 |
commit | 8d4f8607dc1558ce73eb4c376bdbf78ddb65da83 (patch) | |
tree | d0c5dde81a36ab2e8a2edc7c1e6922556518b312 /html/en | |
download | vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.gz vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.bz2 |
Initial commit
Diffstat (limited to 'html/en')
-rw-r--r-- | html/en/createcats.1.html | 145 | ||||
-rw-r--r-- | html/en/epgsearch.1.html | 1311 | ||||
-rw-r--r-- | html/en/epgsearch.4.html | 912 | ||||
-rw-r--r-- | html/en/epgsearch.conf.5.html | 172 | ||||
-rw-r--r-- | html/en/epgsearchblacklists.conf.5.html | 100 | ||||
-rw-r--r-- | html/en/epgsearchcats.conf.5.html | 157 | ||||
-rw-r--r-- | html/en/epgsearchchangrps.conf.5.html | 95 | ||||
-rw-r--r-- | html/en/epgsearchcmds.conf.5.html | 105 | ||||
-rw-r--r-- | html/en/epgsearchdirs.conf.5.html | 129 | ||||
-rw-r--r-- | html/en/epgsearchmenu.conf.5.html | 162 | ||||
-rw-r--r-- | html/en/epgsearchswitchtimers.conf.5.html | 102 | ||||
-rw-r--r-- | html/en/epgsearchtemplates.conf.5.html | 86 | ||||
-rw-r--r-- | html/en/epgsearchuservars.conf.5.html | 201 | ||||
-rw-r--r-- | html/en/noannounce.conf.5.html | 97 | ||||
-rw-r--r-- | html/en/timersdone.conf.5.html | 83 |
15 files changed, 3857 insertions, 0 deletions
diff --git a/html/en/createcats.1.html b/html/en/createcats.1.html new file mode 100644 index 0000000..7bb4f44 --- /dev/null +++ b/html/en/createcats.1.html @@ -0,0 +1,145 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#synopsis">SYNOPSIS</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#options">OPTIONS</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><strong>createcats</strong> - helps you creating your own <em>epgsearchcats.conf</em></p> +<p> +</p> +<hr /> +<h1><a name="synopsis">SYNOPSIS</a></h1> +<p><strong>createcats</strong> [OPTIONS] <em>/path_to/epg.data</em></p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>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.</p> +<p>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.</p> +<pre> + |Genre: Action</pre> +<p>So simply call it with</p> +<p><strong>createcats</strong> /path_to/epg.data</p> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="options">OPTIONS</a></h1> +<p>The full set of arguments is:</p> +<p>usage: <strong>createcats</strong> [OPTIONS] <em>/path_to/epg.data</em></p> +<pre> + -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</pre> +<p>Some notes:</p> +<dl> +<dt><strong><a name="item__2dm_n_2c__2d_2dminappearance_3dn">-m N, --minappearance=N</a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2dv_n_2c__2d_2dmaxvalues_3dn">-v N, --maxvalues=N</a></strong> + +<dd> +<p>if the number of values for a category is more than N then createcats +will not output a value list for this category. As a consequence 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.</p> +</dd> +</li> +<dt><strong><a name="item__2dl_n_2c__2d_2dmaxlength_3dn">-l N, --maxlength=N</a></strong> + +<dd> +<p>if the text length of a value is more than N, this value is not part +of the value list.</p> +</dd> +</li> +</dl> +<p><strong>Hint:</strong> 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.</p> +<p>Please edit this file now, since it will contain also things not suitable.</p> +<p>After that copy it to your plugins config directory.</p> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code>, <code>epgsearch(4)</code>, <code>epgsearchcats.conf(5)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bugreports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailinglist:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearch.1.html b/html/en/epgsearch.1.html new file mode 100644 index 0000000..eff8459 --- /dev/null +++ b/html/en/epgsearch.1.html @@ -0,0 +1,1311 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#overview">OVERVIEW</a></li> + <li><a href="#options">OPTIONS</a></li> + <li><a href="#content">CONTENT</a></li> + <li><a href="#1__description">1. Description</a></li> + <ul> + + <li><a href="#1_1_menu_commands">1.1 Menu Commands</a></li> + <li><a href="#1_2_menu_search">1.2 Menu search</a></li> + <ul> + + <li><a href="#1_2_1_menu_edit_search">1.2.1 Menu edit search</a></li> + <li><a href="#1_2_2_menu_search_results">1.2.2 Menu search results</a></li> + </ul> + + <li><a href="#1_3_extended__now__and__next__and_favorites">1.3 Extended 'now' and 'next' and favorites</a></li> + <li><a href="#1_4_menu_setup">1.4 Menu setup</a></li> + <ul> + + <li><a href="#1_4_1_general">1.4.1 General</a></li> + <li><a href="#1_4_2_epg_menus">1.4.2 EPG menus</a></li> + <li><a href="#1_4_3_userdefined_epg_times">1.4.3 User-defined EPG times</a></li> + <li><a href="#1_4_4_timer_programming">1.4.4 Timer programming</a></li> + <li><a href="#1_4_5_search_and_search_timers">1.4.5 Search and search timers</a></li> + <li><a href="#1_4_6_timer_conflict_checking">1.4.6 Timer conflict checking</a></li> + <li><a href="#1_4_7_email_notification">1.4.7 Email notification</a></li> + </ul> + + </ul> + + <li><a href="#2__search_timers">2. Search timers</a></li> + <ul> + + <li><a href="#2_1__avoid_repeats___internals">2.1 'Avoid repeats' - internals</a></li> + <li><a href="#2_2_how_do_we_compare_two_events">2.2 How do we compare two events?</a></li> + <li><a href="#2_3_how_and_when_do_we_compare">2.3 How and when do we compare?</a></li> + </ul> + + <li><a href="#3__usage_from_other_plugins_or_scripts">3. Usage from other plugins or scripts</a></li> + <li><a href="#4__using_extended_epg_info">4. Using extended EPG info</a></li> + <li><a href="#5__replacing_the_standard_schedule_menu">5. Replacing the standard schedule menu</a></li> + <li><a href="#6__addons">6. Add-ons</a></li> + <li><a href="#advanced_description">Advanced description</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#files">FILES</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearch</em> - Searchtimer and replacement of the VDR program menu</p> +<p> +</p> +<hr /> +<h1><a name="overview">OVERVIEW</a></h1> +<p>EPG-Search can be used as a replacement for the default schedules +menu entry. It looks like the standard schedules menu, but adds some +additional functions:</p> +<pre> + - 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.</pre> +<pre> + - Add up to 4 user-defined times to 'now' and 'next' and an optional + favorites menu</pre> +<pre> + - Searching the EPG: Create reusable queries, which can also be used + as 'search timers'.</pre> +<pre> + - 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</pre> +<pre> + - Avoid double recordings of the same event + * timer preview + * recognition of broken recordings + * fuzzy event comparison</pre> +<pre> + - Progress bar in 'What's on now' and 'What's on next'</pre> +<pre> + - Shift the time displayed by key press, e.g. 'What's on now' + 30 minutes</pre> +<pre> + - Start menu can be setup between 'Schedule' or 'What's on now'</pre> +<pre> + - background check for timer conflicts with a timer conflict manager</pre> +<pre> + - detailed EPG menu (summary) allows jumping to the next/previous + event</pre> +<pre> + - support for extended EPG info for search timers</pre> +<pre> + - extension of the timer edit menu with a directory item, user + defined weekday selection and a subtitle completion.</pre> +<pre> + - Timer conflict check, informs you over the OSD about conflicts</pre> +<pre> + - Timer conflict menu, show detailed information about the conflicts + and let you resolve them</pre> +<pre> + - Email notifications about search timer updates and timer conflicts</pre> +<p>Works only with >= vdr-1.3.46 or newer.</p> +<p>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!</p> +<p> +</p> +<hr /> +<h1><a name="options">OPTIONS</a></h1> +<dl> +<dt><strong><a name="item__2df_file_2c__2d_2dsvdrpsendcmd_3dfile">-f file, --svdrpsendcmd=file</a></strong> + +<dd> +<p>the path to svdrpsend.pl for external SVDRP communication (default is +internal communication, so this is usually not needed anymore)</p> +</dd> +</li> +<dt><strong><a name="item__2dc_path_2c__2d_2dconfig_3dpath">-c path, --config=path</a></strong> + +<dd> +<p>to specify a specific config directory for all epgsearch config files, default +is '<plugins configuration directory>/epgsearch'</p> +</dd> +</li> +<dt><strong><a name="item__2dl_file_2c__2d_2dlogfile_3dfile">-l file, --logfile=file</a></strong> + +<dd> +<p>to specify a specific log file for epgsearch (default log file is +epgsearch.log in the epgsearchs config directory)</p> +</dd> +</li> +<dt><strong><a name="item__2dv_n_2c__2d_2dverbose_3dn">-v n, --verbose=n</a></strong> + +<dd> +<p>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)</p> +</dd> +</li> +<dt><strong><a name="item__2dr_2c__2d_2dreloadmenuconf">-r, --reloadmenuconf</a></strong> + +<dd> +<p>reload epgsearchmenu.conf with plugin call. This can be useful when testing +customized menu layouts.</p> +</dd> +</li> +<dt><strong><a name="item__2dm_file_2c__2d_2dmailcmd_3dfile">-m file, --mailcmd=file</a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +</dl> +<p> +</p> +<hr /> +<h1><a name="content">CONTENT</a></h1> +<pre> + 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</pre> +<p> +</p> +<hr /> +<h1><a name="1__description">1. Description</a></h1> +<p>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):</p> +<p> +</p> +<h2><a name="1_1_menu_commands">1.1 Menu Commands</a></h2> +<p>This menu displays commands that can be executed on the current +item. There are 8 built-in commands:</p> +<pre> + - Repeats: Searches for repeats</pre> +<pre> + - Record</pre> +<pre> + - Switch</pre> +<pre> + - Create search + Switches to search menu and adds a new search with the name of the current + item (to avoid editing the name manually)</pre> +<pre> + - Search in recordings: + Search the recordings for a broadcast with the same name</pre> +<pre> + - 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.</pre> +<pre> + - 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'.</pre> +<pre> + - 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.</pre> +<p>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).</p> +<p>The format of the file is the same as VDR's commands.conf or +reccmds.conf. When a command is executed the following parameters +are passed to it:</p> +<pre> + $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</pre> +<p>To execute a command from the main menu you can also press its +associated number without opening the commands menu.</p> +<p> +</p> +<h2><a name="1_2_menu_search">1.2 Menu search</a></h2> +<p>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.</p> +<p> +</p> +<h3><a name="1_2_1_menu_edit_search">1.2.1 Menu edit search</a></h3> +<p>Most things in this menu are quite clear, so only some notes on:</p> +<dl> +<dt><strong><a name="item__2d_search_term_3a">- <strong>Search term:</strong></a></strong> + +<dd> +<p>The term to search for. If you like to search for more words, separate +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.</p> +</dd> +<dd> +<p>With 'blue' you can also select a template for the new search. If +one of the templates is set to default, new searches will +automatically get the settings of the default template.</p> +</dd> +<dd> +<p>Note: fuzzy searching is limited to 32 chars!</p> +</dd> +</li> +<dt><strong><a name="item__2d_search_mode_3a">- <strong>Search mode:</strong></a></strong> + +<dd> +<p>'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.</p> +</dd> +<dd> +<p>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 expressions. +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 distributions).</p> +</dd> +<dd> +<p>See also <code>epgsearch(4)</code> 'Description of the search process'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_use_extended_epg_info_3a">- <strong>Use extended EPG info:</strong></a></strong> + +<dd> +<p>Only available if configured, see below 'Using extended EPG info'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_ignore_missing_categories_3a">- <strong>Ignore missing categories:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_use_channel_3a">- <strong>Use channel:</strong></a></strong> + +<dd> +<p>Search only for events in the given channels interval, channel +groups or FTA channels only.</p> +</dd> +<dd> +<p>Channel groups (e.g. sport channels or Pay-TV channels) can be +managed with a sub-menu called with 'blue'.</p> +</dd> +<dd> +<p>ATTENTION: After changing the channels order please check the +settings of your search timers!</p> +</dd> +</li> +<dt><strong><a name="item__2d_use_day_of_week_3a">- <strong>Use day of week:</strong></a></strong> + +<dd> +<p>Besides the weekdays you can also set up a user-defined selection, +e.g. search only on Monday and Friday.</p> +</dd> +<dd> +<p>You'll find the user-defined selection in the list after Friday.</p> +</dd> +</li> +<dt><strong><a name="item__2d_use_blacklists_3a">- <strong>Use blacklists:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_use_in_favorites_menu_3a">- <strong>Use in favorites menu:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_result_menu_layout_3a">- <strong>Result menu layout:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_use_as_search_timer_3a">- <strong>Use as Search Timer:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_action_3a">- <strong>Action:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_serial_recording_3a">- <strong>Serial recording:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_directory_3a">- <strong>Directory:</strong></a></strong> + +<dd> +<p>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 +variables like ``%Genre%'' or ``%Category%'' in your directory +entry. These are replaced with the current EPG info, when a timer is +created.</p> +</dd> +<dd> +<p>See also <code>epgsearch(4)</code> 'Using variables in the directory +entry of a search timer'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_delete_recordings_after__2e_2e_2e_days_3a">- <strong>Delete recordings after ... days:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_pause_if__2e_2e_2e_recordings_exist_3a">- <strong>Pause if ... recordings exist:</strong></a></strong> + +<dd> +<p>If the given numbers of recordings currently exists, then epgsearch +will not create further timers. After deleting one or more +recordings it will go on generating new timers.</p> +</dd> +</li> +<dt><strong><a name="item__2d_avoid_repeats_3a">- <strong>Avoid repeats:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_allowed_repeats_3a">- <strong>Allowed repeats:</strong></a></strong> + +<dd> +<p>If you like to accept a certain amount of repeats you can give here +their number.</p> +</dd> +</li> +<dt><strong><a name="item__2d_only_repeats_within__2e_2e_2e_days_3a">- <strong>Only repeats within ... days:</strong></a></strong> + +<dd> +<p>Give here the number of days a repeat has to follow its first +broadcast. 0 is equal to no restriction.</p> +</dd> +</li> +<dt><strong><a name="item__2d_compare_title_3a">- <strong>Compare title:</strong></a></strong> + +<dd> +<p>When comparing to events then specify here if the title should be +compared.</p> +</dd> +</li> +<dt><strong><a name="item__2d_compare_subtitle_3a">- <strong>Compare subtitle:</strong></a></strong> + +<dd> +<p>When comparing to events then specify here if the subtitle should be +compared. If there is no subtitle than this event is always +different to an event with/without a subtitle.</p> +</dd> +</li> +<dt><strong><a name="item__2d_compare_description_3a">- <strong>Compare description:</strong></a></strong> + +<dd> +<p>When comparing to events then specify here if the description should +be compared.</p> +</dd> +<dd> +<p>For comparison all parts of the description, that look like a +category value, are removed first. The remaining text will be +compared. If this is similar at 90% (regarding the +Levinshtein-Distance algorithm) then it will be accepted as equal.</p> +</dd> +</li> +<dt><strong><a name="item__2d_compare_categories_3a">- <strong>Compare categories:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_priority_2c_lifetime_2c_margins_for_start_and_">- <strong>Priority, lifetime, margins for start and stop:</strong></a></strong> + +<dd> +<p>Each search timer can have its own settings for these parameters. +Defaults can be adjusted in the plugins setup.</p> +</dd> +</li> +<dt><strong><a name="item__2d_vps_3a">- <strong>VPS:</strong></a></strong> + +<dd> +<p>If set to yes, VPS is used, but only, if activated in VDR's setup menu and +if the broadcasting has VPS information.</p> +</dd> +</li> +<dt><strong><a name="item__2d_auto_delete_3a">- <strong>Auto delete:</strong></a></strong> + +<dd> +<p>to automatically delete a search timer if the following is true:</p> +</dd> +<dd> +<pre> + * after x recordings, or + * after x days after the first recording</pre> +</dd> +<dd> +<p>Only complete recordings are counted. The deletion is executed directly after +the correspondig recording</p> +</dd> +</li> +</dl> +<p>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 +command of the command menu.</p> +<p> +</p> +<h3><a name="1_2_2_menu_search_results">1.2.2 Menu search results</a></h3> +<p>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 +partial timer for it, as in standard schedules menu.</p> +<p> +</p> +<h2><a name="1_3_extended__now__and__next__and_favorites">1.3 Extended 'now' and 'next' and favorites</a></h2> +<p>By setup, one can add up to 4 additional times to extend the green +button, 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.</p> +<p>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).</p> +<p>Furthermore you can enable in the setup an favorites list. You can configure +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.</p> +<p> +</p> +<h2><a name="1_4_menu_setup">1.4 Menu setup</a></h2> +<p> +</p> +<h3><a name="1_4_1_general">1.4.1 General</a></h3> +<dl> +<dt><strong><a name="item__2d_hide_main_menu_entry_3a">- <strong>Hide main menu entry:</strong></a></strong> + +<dd> +<p>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).</p> +</dd> +</li> +<dt><strong><a name="item__2d_main_menu_entry_3a">- <strong>Main menu entry:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_start_menu_3a">- <strong>Start menu:</strong></a></strong> + +<dd> +<p>Select the starting menu 'Schedules' or 'Now'</p> +</dd> +</li> +</dl> +<p> +</p> +<h3><a name="1_4_2_epg_menus">1.4.2 EPG menus</a></h3> +<dl> +<dt><strong><a name="item__2d_ok_key_3a">- <strong>Ok key:</strong></a></strong> + +<dd> +<p>Choose here the behavior of key 'Ok'. You can use it to display the summary +or to switch to the corresponding channel. Note: the functionality of key +'blue' (Switch/Info/Search) depends on this setting.</p> +</dd> +</li> +<dt><strong><a name="item__2d_red_key_3a">- <strong>Red key:</strong></a></strong> + +<dd> +<p>Select if you like to have Standard ('Record') or 'Commands' as +assignment for key 'red'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_blue_key_3a">- <strong>Blue key:</strong></a></strong> + +<dd> +<p>select if you like to have Standard ('Switch') or 'Search' as +assignment for key 'blue'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_show_progress_in__27now_27_3a">- <strong>Show progress in 'Now':</strong></a></strong> + +<dd> +<p>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).</p> +</dd> +</li> +<dt><strong><a name="item__2d_show_channel_numbers_3a">- <strong>Show channel numbers:</strong></a></strong> + +<dd> +<p>Select this if you like to have a leading channel number before each +item in the EPG menus.</p> +</dd> +</li> +<dt><strong><a name="item__2d_show_channel_separators_3a">- <strong>Show channel separators:</strong></a></strong> + +<dd> +<p>Display channel group separators between channel in the menus +'Overview now',...</p> +</dd> +</li> +<dt><strong><a name="item__2d_show_day_separators_3a">- <strong>Show day separators:</strong></a></strong> + +<dd> +<p>Display a day separator between events on different days in the +schedule menu.</p> +</dd> +</li> +<dt><strong><a name="item__2d_show_radio_channels_3a">- <strong>Show radio channels:</strong></a></strong> + +<dd> +<p>Also list radio channels.</p> +</dd> +</li> +<dt><strong><a name="item__2d_limit_channels_from_1_to_3a">- <strong>Limit channels from 1 to:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d__27one_press_27_timer_creation_3a">- <strong>'One press' timer creation:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_show_channels_without_epg_3a">- <strong>Show channels without EPG:</strong></a></strong> + +<dd> +<p>Display channels without EPG to allow switching or create a timer.</p> +</dd> +</li> +<dt><strong><a name="item__2d_time_interval_for_fr_2fff__5bmin_5d_3a">- <strong>Time interval for FR/FF [min]:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_toggle_green_2fyellow_3a">- <strong>Toggle Green/Yellow:</strong></a></strong> + +<dd> +<p>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'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_show_favorites_menu_3a">- <strong>Show favorites menu:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_for_the_next__2e_2e_2e_hours_3a">- <strong>for the next ... hours:</strong></a></strong> + +<dd> +<p>This value lets you adjust the timespan used to display the favorites.</p> +</dd> +</li> +</dl> +<p> +</p> +<h3><a name="1_4_3_userdefined_epg_times">1.4.3 User-defined EPG times</a></h3> +<dl> +<dt><strong><a name="item__2d_use_user_time_1_2e_2e4_3a">- <strong>Use user time 1..4:</strong></a></strong> + +<dd> +<p>Add up to 4 user-defined times besides 'now' and 'next'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_description_3a">- <strong>Description:</strong></a></strong> + +<dd> +<p>Name of the user-defined time, e.g. 'Afternoon', 'Prime time', 'Late +night'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_time_3a">- <strong>Time:</strong></a></strong> + +<dd> +<p>The associated time of the user-defined time.</p> +</dd> +</li> +</dl> +<p> +</p> +<h3><a name="1_4_4_timer_programming">1.4.4 Timer programming</a></h3> +<dl> +<dt><strong><a name="item__2d_use_vdr_27s_timer_edit_menu_3a">- <strong>Use VDR's timer edit menu:</strong></a></strong> + +<dd> +<p>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'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_default_recording_directory_3a">- <strong>Default recording directory:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_add_episode_to_manual_timers_3a">- <strong>Add episode to manual timers:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_default_timer_check_method_3a">- <strong>Default timer check method:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +<dd> +<p>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.</p> +</dd> +</li> +</dl> +<p> +</p> +<h3><a name="1_4_5_search_and_search_timers">1.4.5 Search and search timers</a></h3> +<dl> +<dt><strong><a name="item__2d_use_search_timers_3a">- <strong>Use search timers:</strong></a></strong> + +<dd> +<p>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'.</p> +</dd> +</li> +<dt><strong><a name="item__2d_update_interval_3a">- <strong>Update interval:</strong></a></strong> + +<dd> +<p>The update interval of the background scan for search timers in minutes.</p> +</dd> +</li> +<dt><strong><a name="item__2d_svdrp_port_3a">- <strong>SVDRP port:</strong></a></strong> + +<dd> +<p>If you are using a SVDRP port other than 2001 then enter this here +to get the search timers working.</p> +</dd> +</li> +<dt><strong><a name="item__2d_default_priority_3a">- <strong>Default Priority:</strong></a></strong> + +<dd> +<p>Default priority of generated timers.</p> +</dd> +</li> +<dt><strong><a name="item__2d_default_lifetime_3a">- <strong>Default Lifetime:</strong></a></strong> + +<dd> +<p>Default lifetime of generated timers.</p> +</dd> +</li> +<dt><strong><a name="item__2d_margin_at_start_2fstop_3a">- <strong>Margin at start/stop:</strong></a></strong> + +<dd> +<p>Default margins of generated timers.</p> +</dd> +</li> +<dt><strong><a name="item__2d_no_announcements_when_replaying_3a">- <strong>No announcements when replaying:</strong></a></strong> + +<dd> +<p>suppress event announcements while any replay is active.</p> +</dd> +</li> +<dt><strong><a name="item__2d_recreate_timers_after_deletion_3a">- <strong>Recreate timers after deletion:</strong></a></strong> + +<dd> +<p>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'.</p> +</dd> +<dd> +<p>Default margins of generated timers.</p> +</dd> +</li> +<dt><strong><a name="item__2d_ignore_pay_2dtv_channels_3a">- <strong>Ignore Pay-TV channels:</strong></a></strong> + +<dd> +<p>Set this to 'Yes' if you don't want to have events from Pay-TV channels when +searching for a repeat.</p> +</dd> +</li> +<dt><strong><a name="item__2d_search_templates_3a">- <strong>Search templates:</strong></a></strong> + +<dd> +<p>Here you can manage search templates which can be used when creating a +search.</p> +</dd> +</li> +<dt><strong><a name="item__2d_blacklists_3a">- <strong>Blacklists:</strong></a></strong> + +<dd> +<p>Here you can manage blacklists which can be used to suppress unwanted events +within a search.</p> +</dd> +</li> +<dt><strong><a name="item__2d_channel_groups_3a">- <strong>Channel groups:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +</dl> +<p><strong>Important</strong>: 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:</p> +<p>svdrpsend.pl plug epgsearch SETS off</p> +<p><your EPG update script></p> +<p>svdrpsend.pl plug epgsearch SETS on</p> +<p> +</p> +<h3><a name="1_4_6_timer_conflict_checking">1.4.6 Timer conflict checking</a></h3> +<dl> +<dt><strong><a name="item__2d_ignore_below_priority_3a">- <strong>Ignore below priority:</strong></a></strong> + +<dd> +<p>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 classified as 'not relevant' +in the conflicts overview.</p> +</dd> +</li> +<dt><strong><a name="item__2d_ignore_conflict_duration_less__2e_2e_2e_min_2e">- <strong>Ignore conflict duration less ... min.:</strong></a></strong> + +<dd> +<p>If a conflict will last only the given minutes it will not produce an OSD +message and the conflict will be classified as 'not relevant' +in the conflicts overview.</p> +</dd> +</li> +<dt><strong><a name="item__2d_only_check_within_next__2e_2e_2e_days_3a">- <strong>Only check within next ... days:</strong></a></strong> + +<dd> +<p>Here you can specify the day range that should be used for the conflict +check.</p> +</dd> +</li> +<dt><strong><a name="item__2d_after_each_timer_programming_3a">- <strong>After each timer programming:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d__22when_a_recording_starts_3a">- <strong>``When a recording starts:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +<dt><strong><a name="item__2d_after_each_search_timer_update_3a">- <strong>After each search timer update:</strong></a></strong> + +<dd> +<p>Specify here if you want to have a conflict check after each search timer +update. If set to 'No':</p> +</dd> +</li> +<dt><strong><a name="item__2d_every__2e_2e_2e_minutes_3a">- <strong>every ... minutes:</strong></a></strong> + +<dd> +<p>performs a conflict check in the background every ... minutes and informs +about relevant conflicts via OSD. Set this to '0' to disable this feature.</p> +</dd> +</li> +<dt><strong><a name="item__2d_if_conflicts_within_next__2e_2e_2e_minutes_3a">- <strong>if conflicts within next ... minutes:</strong></a></strong> + +<dl> +<dt><strong>- <strong>every ... minutes:</strong></strong> + +<dd> +<p>if you like to have a more frequent check and OSD notification when a +conflict appears within the given time, use this feature.</p> +</dd> +</li> +</dl> +<dt><strong><a name="item__2d_avoid_notification_when_replaying_3a">- <strong>Avoid notification when replaying:</strong></a></strong> + +<dd> +<p>Set this to 'yes' if the don't want to get OSD messages about conflicts if +you currently replay something. Nevertheless messages will be displayed if + the first upcoming conflict is within the next 2 hours.</p> +</dd> +</li> +</dl> +<p>Also have a look at <code>epgsearch(4)</code>, section 'Working with the timer conflict menu'.</p> +<p> +</p> +<h3><a name="1_4_7_email_notification">1.4.7 Email notification</a></h3> +<p>Please make sure, that 'sendEmail.pl' is in the path of your executables and +that the 'epgsearchupdmail.templ' and 'epgsearchconflmail.templ' exists in +epgsearch's configurations directory!</p> +<dl> +<dt><strong><a name="item__2d_search_timer_notification_3a">- <strong>Search timer notification:</strong></a></strong> + +<dd> +<p>Enable this, if you want to get an email notification, when the search timer +background thread has</p> +</dd> +<dd> +<pre> + - created a new timer + - modified an existing timer + - deleted a timer, that was void because of EPG changes or other user + actions.</pre> +</dd> +<dd> +<p>(Also requires 'Use search timers' in the search timer setup to be activated.)</p> +</dd> +</li> +<dt><strong><a name="item__2d_timer_conflict_notification_3a">- <strong>Timer conflict notification:</strong></a></strong> + +<dd> +<p>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 conflicts.</p> +</dd> +<dd> +<p>(Also requires 'After each search timer update' or 'every ... minutes' in the +conflict check setup to be activated.)</p> +</dd> +</li> +<dt><strong><a name="item__2d_send_to_3a">- <strong>Send to:</strong></a></strong> + +<dd> +<p>The mail adress of the recipient. Note: Some providers (like Arcor) don't +allow the same adresse for sender and recipient.</p> +</dd> +</li> +<dt><strong><a name="item__2d_mail_method_3a">- <strong>Mail method:</strong></a></strong> + +<dd> +<p>You can choose between:</p> +</dd> +<dd> +<pre> + - 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</pre> +</dd> +</li> +<dt><strong><a name="item__2d_email_address_3a">- <strong>Email address:</strong></a></strong> + +<dd> +<p>Your <code>full(!)</code> email account address to be used for sending the mail.</p> +</dd> +</li> +<dt><strong><a name="item__2d_smtp_server_3a">- <strong>SMTP server:</strong></a></strong> + +<dd> +<p>The name of your SMTP server to be used for sending the mails.</p> +</dd> +</li> +<dt><strong><a name="item__2d_use_smtp_authentication_3a">- <strong>Use SMTP authentication:</strong></a></strong> + +<dd> +<p>Select 'yes' if your account needs authentication to send mails.</p> +</dd> +</li> +<dt><strong><a name="item__2d_auth_user_3a">- <strong>AUTH user:</strong></a></strong> + +<dd> +<p>Specify the accounts username if your account needs authentication.</p> +</dd> +</li> +<dt><strong><a name="item__2d_auth_password_3a">- <strong>AUTH password:</strong></a></strong> + +<dd> +<p>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.</p> +</dd> +</li> +</dl> +<p>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 function is not +available for method 'sendmail'.</p> +<p>Also have a look at <code>epgsearch(4)</code>, section 'Email notifications'.</p> +<p> +</p> +<hr /> +<h1><a name="2__search_timers">2. Search timers</a></h1> +<p>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.</p> +<p>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.</p> +<p>If you want to trigger a background scan manually simply</p> +<p>touch /etc/vdr/plugins/epgsearch/.epgsearchupdate</p> +<p>This can also be part of your shutdown script. (Add here a sleep +afterwards to give the plugin the time to finish the scan.)</p> +<p>For more info about searchtimers please refer to <code>epgsearch(4)</code>, +'Description of the search process' and 'How do Search Timers work?'</p> +<p> +</p> +<h2><a name="2_1__avoid_repeats___internals">2.1 'Avoid repeats' - internals</a></h2> +<p>This section explains the feature 'Avoid repeats' for a search timer. +Sometimes one cannot avoid double recordings of an event only by +setting the corresponding search criterions.</p> +<p>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.</p> +<p> +</p> +<h2><a name="2_2_how_do_we_compare_two_events">2.2 How do we compare two events?</a></h2> +<p>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 +compared with the elements of another event.</p> +<p>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.</p> +<p>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 +different. 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 criterions.</p> +<p> +</p> +<h2><a name="2_3_how_and_when_do_we_compare">2.3 How and when do we compare?</a></h2> +<p>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.</p> +<p>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.</p> +<p><strong>How to use it?</strong></p> +<p>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'.</p> +<p>Hint: If the programming results in a conflict simply disable the +conflicting timer in the timers menu. The next search timer update, +will try to program a different timer for the same event, if it exists.</p> +<p><strong>When it works not correctly :-)</strong></p> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="3__usage_from_other_plugins_or_scripts">3. Usage from other plugins or scripts</a></h1> +<p>See <code>epgsearch(4)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="4__using_extended_epg_info">4. Using extended EPG info</a></h1> +<p>Some EPG providers deliver additional EPG information like the type of +event, the video and audio format, cast,...</p> +<p>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:</p> +<pre> + ID|category name|name in menu|values separated by ','(option)|search mode(option)</pre> +<pre> + - '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</pre> +<p>Sample files for epgsearchcats.conf are delivered with the plugin in the +directory 'conf'.</p> +<p>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).</p> +<p>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.</p> +<p>See <code>createcats(1)</code> for information about how to use it.</p> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="5__replacing_the_standard_schedule_menu">5. Replacing the standard schedule menu</a></h1> +<p>To use this plugin as a replacement for the default green key, simply +put the line</p> +<pre> + Green @epgsearch</pre> +<p>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</p> +<pre> + Green @launcher x</pre> +<p>in your keymacros.conf, where x is the position of the Epgsearch +plugin within launchers menu listing.</p> +<p>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.</p> +<p>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</p> +<pre> + Gree Schedule</pre> +<p>This patch is already included in some patch collections, like the +Bigpatch.</p> +<p> +</p> +<hr /> +<h1><a name="6__addons">6. Add-ons</a></h1> +<p>epgsearch delivers 2 'mini'-plugins. Both require an installed epgsearch (but +epgsearch can be hided in the main menu):</p> +<dl> +<dt><strong><a name="item__2d_epgsearchonly_3a">- <strong>epgsearchonly:</strong></a></strong> + +<dd> +<p>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''.</p> +</dd> +</li> +<dt><strong><a name="item__2d_conflictcheckonly_3a">- <strong>conflictcheckonly:</strong></a></strong> + +<dd> +<p>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 ``-Pconflictcheckonly''.</p> +</dd> +</li> +</dl> +<p>Have fun!</p> +<p>Christian Wieninger</p> +<p> +</p> +<hr /> +<h1><a name="advanced_description">Advanced description</a></h1> +<p>See <code>epgsearch(4)</code> or read online</p> +<p><a href="http://winni.vdr-developer.org/epgsearch/README.DE">http://winni.vdr-developer.org/epgsearch/README.DE</a></p> +<p><a href="http://winni.vdr-developer.org/epgsearch/README">http://winni.vdr-developer.org/epgsearch/README</a></p> +<p><a href="http://winni.vdr-developer.org/epgsearch/MANUAL">http://winni.vdr-developer.org/epgsearch/MANUAL</a></p> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch.conf(5)</code>, <code>epgsearchcats.conf(5)</code>, <code>epgsearchcmds.conf(5)</code>, <code>epgsearchdirs.conf(5)</code>, <code>epgsearchmenu.conf(5)</code>, <code>epgsearchuservars.conf(5)</code>, <code>epgsearchdone.data(5)</code>, <code>epgsearchswitchtimer.conf(5)</code>, <code>epgsearchblacklists.conf(5)</code>, <code>epgsearchchangrps.conf(5)</code></p> +<p> +</p> +<hr /> +<h1><a name="files">FILES</a></h1> +<p><em>epgsearch.conf</em></p> +<p>Searchtimers. See <code>epgsearch.conf(5)</code>.</p> +<p><em>epgsearchcats.conf</em></p> +<p>Categories, advanced epg. See <code>epgsearchcats.conf(5)</code>.</p> +<p><em>epgsearchcmds.conf</em></p> +<p>EPG-commands, like the commands in commands.conf. See <code>epgsearchcmds.conf(5)</code>.</p> +<p><em>epgsearchdirs.conf</em></p> +<p>Pre-defined patches which can be selected while editing an searchtimer. See <code>epgsearchdirs.conf(5)</code>.</p> +<p><em>epgsearchmenu.conf</em></p> +<p>Configuration of the OSD menu layout. See <code>epgsearchmenu.conf(5)</code>.</p> +<p><em>epgsearchuservars.conf</em></p> +<p>User defined variables. See <code>epgsearchuservars.conf(5)</code>.</p> +<p><em>epgsearchdone.data</em></p> +<p>The done-data. See <code>epgsearchdone.data(5)</code>.</p> +<p><em>epgsearchswitchtimers.conf</em></p> +<p>The switchtimers. See <code>epgsearchswitchtimer.conf(5)</code>.</p> +<p><em>epgsearchblacklists.conf</em></p> +<p>The blacklist. See <code>epgsearchblacklists.conf(5)</code>.</p> +<p><em>epgsearchchangrps.conf</em></p> +<p>The channelgroups. See <code>epgsearchchangrps.conf(5)</code>.</p> +<p><em>epgsearchtemplates.conf</em></p> +<p>Templates for searchtimers. See <code>epgsearchtemplates.conf(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bugreports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailinglist:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearch.4.html b/html/en/epgsearch.4.html new file mode 100644 index 0000000..d7ca287 --- /dev/null +++ b/html/en/epgsearch.4.html @@ -0,0 +1,912 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#overview">OVERVIEW</a></li> + <li><a href="#content">CONTENT</a></li> + <li><a href="#1__using_variables_in_the_directory_entry_of_a_search_timer">1. Using variables in the directory entry of a search timer</a></li> + <li><a href="#2__the_format_of_epgsearch_conf">2. The format of epgsearch.conf</a></li> + <li><a href="#3__description_of_the_search_process">3. Description of the search process</a></li> + <li><a href="#4__how_do_search_timers_work">4. How do Search Timers work?</a></li> + <li><a href="#5__how_to_trigger_a_search_timer_update">5. How to trigger a search timer update?</a></li> + <li><a href="#6__the_sources_of_the__select_directory__menu">6. The sources of the 'Select directory' menu</a></li> + <li><a href="#7__language_dependent_commands_for_epg">7. Language dependent commands for EPG</a></li> + <li><a href="#8__usage_from_other_plugins_or_scripts">8. Usage from other plugins or scripts</a></li> + <ul> + + <li><a href="#8_1__filebased__intended_for_use_in_scripts_">8.1. File-based (intended for use in scripts)</a></li> + <li><a href="#8_2__via_plugininterface__intended_for_use_in_plugins_">8.2. via Plugin-Interface (intended for use in plugins)</a></li> + </ul> + + <li><a href="#9__svdrp_interface">9. SVDRP interface</a></li> + <ul> + + <li><a href="#search_management_">search management:</a></li> + <li><a href="#channel_group_management_">channel group management:</a></li> + <li><a href="#blacklist_management_">blacklist management:</a></li> + <li><a href="#search_template_management_">search template management:</a></li> + <li><a href="#extended_epg_categories_">extended EPG categories:</a></li> + <li><a href="#misc_">misc:</a></li> + <li><a href="#timer_conflicts_">timer conflicts:</a></li> + </ul> + + <li><a href="#10__customizing_the_epg_menus">10. Customizing the EPG menus</a></li> + <li><a href="#11__working_with_the_timer_conflict_menu">11. Working with the timer conflict menu</a></li> + <li><a href="#12__user_defined_variables">12. User defined variables</a></li> + <ul> + + <li><a href="#assignment">Assignment</a></li> + <li><a href="#control_structures">Control structures</a></li> + <li><a href="#calling_a_system_command">Calling a system command</a></li> + <li><a href="#possible_variables">Possible variables</a></li> + <li><a href="#examples">EXAMPLES</a></li> + </ul> + + <li><a href="#13__email_notification">13. Email notification</a></li> + <ul> + + <li><a href="#customizing_the_notifications_mails">Customizing the notifications mails</a></li> + </ul> + + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearch</em> - Searchtimer and replacement of the VDR program menu</p> +<p> +</p> +<hr /> +<h1><a name="overview">OVERVIEW</a></h1> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="content">CONTENT</a></h1> +<pre> + 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</pre> +<p> +</p> +<hr /> +<h1><a name="1__using_variables_in_the_directory_entry_of_a_search_timer">1. Using variables in the directory entry of a search timer</a></h1> +<p>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:</p> +<pre> + 1|Category|Kategorie|Information,Kinder,Musik,Serie,Show,Spielfilm,Sport|3</pre> +<p>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:</p> +<pre> + My Movies~%Category% + Childrens Movies~%category% + %CATEGORY%~%genre%</pre> +<p>There are also three other variables: %Title%, %Subtitle% and %Channel%. +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 +subtitle will be automatically appended. So the directory entry</p> +<pre> + %Category%~%Genre%~%Title%~%Subtitle%</pre> +<p>is the same as</p> +<pre> + %Category%~%Genre% + (with 'serial recording' set to 'yes').</pre> +<p>The %Channel% variable gets replaced with the name of the channel.</p> +<p>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:</p> +<pre> + %Category%~%Genre%~%Title%~%Episode%~%Subtitle%</pre> +<p>There is also another variable %search.query% that will be replaced with the +query of the search timer.</p> +<p>See also <code>epgsearchuservars.conf(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="2__the_format_of_epgsearch_conf">2. The format of epgsearch.conf</a></h1> +<p>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 <strong>':'</strong>:</p> +<pre> + 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</pre> +<p>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 ;-))</p> +<p>See also <code>epgsearch.conf(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="3__description_of_the_search_process">3. Description of the search process</a></h1> +<p>First, for each broadcasting a search text divided by '~' is created, +depending on the settings of 'Use title', 'Use subtitle' and 'Use +description':</p> +<pre> + title~subtitle~description</pre> +<p>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:</p> +<dl> +<dt><strong><a name="item__2d__27phrase_27_matches">- 'Phrase' matches</a></strong> + +<dd> +<p>if the search term is found anywhere in the search text.</p> +</dd> +</li> +<dt><strong><a name="item__2d__27at_least_one_word_27_2c__27all_words_27">- 'at least one word', 'all words'</a></strong> + +<dd> +<p>first the search term will be split in single words. Delimiters are a +blank and the characters ',' ';' '|' '~'.</p> +</dd> +<dd> +<p>Then we check if at least one or all words appear in the search text.</p> +</dd> +</li> +<dt><strong><a name="item__2d__27match_exactly_27">- 'match exactly'</a></strong> + +<dd> +<p>matches if search term and search text are identical.</p> +</dd> +</li> +<dt><strong><a name="item__2d__27regular_expression_27">- 'regular expression'</a></strong> + +<dd> +<p>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 compatible regular expressions (PCRE) (see <em>INSTALL</em>).</p> +</dd> +</li> +</dl> +<p>If the search was successful until now, the other criterions (start +time, duration, week day) are checked.</p> +<p> +</p> +<hr /> +<h1><a name="4__how_do_search_timers_work">4. How do Search Timers work?</a></h1> +<p>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 plugin uses then a date/time string for the subtitle, +but replaces this one later if the subtitle is present.</p> +<p>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 +duration if this is less then 10 minutes). If so, the present timer is +modified, 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.</p> +<p>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 displayed at each scan, but only if there is no timer for the event.</p> +<p> +</p> +<hr /> +<h1><a name="5__how_to_trigger_a_search_timer_update">5. How to trigger a search timer update?</a></h1> +<p>the update of search timers runs in its own thread. There are several +ways to trigger it:</p> +<dl> +<dt><strong><a name="item__2d_automatically">- automatically</a></strong> + +<dd> +<p>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).</p> +</dd> +</li> +<dt><strong><a name="item__2d_manually_extern">- manually extern</a></strong> + +<dd> +<p>the thread observes the file '.epgsearchupdate' in the +plugins config directory. When you</p> +</dd> +<dd> +<pre> + touch /path_to_file/.epgsearchupdate</pre> +</dd> +<dd> +<p>this will also trigger an update. So this is a simple solution to +make an update e.g. by a script.</p> +</dd> +</li> +<dt><strong><a name="item__2d_manually_intern">- manually intern</a></strong> + +<dd> +<p>calling actions or pressing '3' in the menu of searches asks also +for an update.</p> +</dd> +</li> +<dt><strong><a name="item__2d_from_other_plugins">- from other plugins</a></strong> + +</dl> +<p>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</p> +<p> +</p> +<hr /> +<h1><a name="6__the_sources_of_the__select_directory__menu">6. The sources of the 'Select directory' menu</a></h1> +<p>This menu displays directories, that can be used for search timers or +ordinary timers. The items displayed are read from the following +sources:</p> +<pre> + * current recording directories + * current timer directories + * directories used in search timers + * directories specified in F<epgsearchdirs.conf>, + see C<epgsearchdirs.con(5)></pre> +<p>The menu merges theses directories and displays only distinct +directories. 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.</p> +<p>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'.</p> +<p> +</p> +<hr /> +<h1><a name="7__language_dependent_commands_for_epg">7. Language dependent commands for EPG</a></h1> +<p>If you like to have a language dependent list of commands simply +translate your present <em>epgsearchcmds.conf</em> to your preferred OSD +language and store it with the filename epgsearchcmds-XXX.conf, where +XXX is the language code from i18n.c:</p> +<pre> + { "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", + }</pre> +<p>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 <em>epgsearchcmds.conf</em>.</p> +<p>See also <code>epgsearchcmds.conf(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="8__usage_from_other_plugins_or_scripts">8. Usage from other plugins or scripts</a></h1> +<p>Searching the EPG and other functionality can be used by other plugins +or scripts. There are two approaches:</p> +<p> +</p> +<h2><a name="8_1__filebased__intended_for_use_in_scripts_">8.1. File-based (intended for use in scripts)</a></h2> +<p>Therefore simply create the file '.epgsearchrc' in the plugins config +directory with the following lines in it:</p> +<pre> + 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</pre> +<p>Then call Epgsearch via svdrpsend.pl (you must have assigned a key +to it), e.g.</p> +<pre> + svdrpsend.pl HITK green</pre> +<p>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.</p> +<p>A sample script <em>recrep.sh</em>, that searches for the repeats of a recording +exists in the scripts subdirectory of Epgsearch.</p> +<p> +</p> +<h2><a name="8_2__via_plugininterface__intended_for_use_in_plugins_">8.2. via Plugin-Interface (intended for use in plugins)</a></h2> +<p>A plugin can directly call two functions of epgsearch with only some +lines of source code:</p> +<pre> + - searching the EPG for some criteria and display the result list + - extended timer edit menu</pre> +<p>I have added a quick and dirty dummy plugin +(source/vdr-epgsearchclient-0.0.1.tgz), that demonstrates the usage.</p> +<p> +</p> +<hr /> +<h1><a name="9__svdrp_interface">9. SVDRP interface</a></h1> +<p>epgsearch implements a SVDRP interface, that can be accessed for +example like this</p> +<pre> + svdrpsend.pl PLUG epgsearch LSTS</pre> +<p>the following commands are available:</p> +<p> +</p> +<h2><a name="search_management_">search management:</a></h2> +<pre> + * '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:</pre> +<pre> + 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.</pre> +<p> +</p> +<h2><a name="channel_group_management_">channel group management:</a></h2> +<pre> + * '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</pre> +<p> +</p> +<h2><a name="blacklist_management_">blacklist management:</a></h2> +<pre> + * '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</pre> +<p> +</p> +<h2><a name="search_template_management_">search template management:</a></h2> +<pre> + * '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.</pre> +<p> +</p> +<h2><a name="extended_epg_categories_">extended EPG categories:</a></h2> +<pre> + * '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)</pre> +<p> +</p> +<h2><a name="misc_">misc:</a></h2> +<pre> + * '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</pre> +<p> +</p> +<h2><a name="timer_conflicts_">timer conflicts:</a></h2> +<pre> + * '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:</pre> +<pre> + 1190232780:152|30|50#152#45:45|10|50#152#45</pre> +<pre> + '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:</pre> +<pre> + '152|30|50#152#45' is the description of the first conflicting timer. Here:</pre> +<pre> + '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</pre> +<pre> + '45|10|50#152#45' describes the next conflict</pre> +<p> +</p> +<hr /> +<h1><a name="10__customizing_the_epg_menus">10. Customizing the EPG menus</a></h1> +<p>The file <em>epgsearchmenu.conf</em> 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 ..., Schedule, Search results, +Favorites) with a separate line. Here's a sample:</p> +<pre> + 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</pre> +<p>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.</p> +<p>The values for MenuWhatsOnNext, MenuWhatsOnElse, MenuSchedule, +MenuSearchResults, 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.</p> +<p>'MenuSearchResults' has something special: If you want to have different +layouts for your search results depending on the search, you can use more then +one menu template. Simply define e.g. an additional</p> +<pre> + MenuSearchResultsTip of the Day=%chnr%:3|%time_w%:4|%t_status%:3|%genre%:10|%title%%colon% %subtitle%:35</pre> +<p>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.</p> +<p>The following variables exist:</p> +<pre> + %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%'</pre> +<pre> + %<epg-category>% - a value from the extended EPG categories, specified in + epgsearchcats.conf, like %genre% or %category%</pre> +<p>for the 'Whats on...' and 'Search results' menu there are also:</p> +<pre> + %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')</pre> +<p>some indepent variables:</p> +<pre> + %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)</pre> +<p>The variables are not case sensitive. You can also use variables for extended +EPG categories defined in <em>epgsearchcats.conf</em> or use your own user defined +variables defined in <em>epgsearchuservars.conf</em></p> +<p>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 ':'.</p> +<p>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.</p> +<p>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.</p> +<p>There's a sample <em>epgsearchmenu.conf</em> in the subdirectory ``conf''. For a quick try +copy it to your plugins config directory (e.g. /etc/vdr/plugins).</p> +<p>To enable icons from WarEagleIcon-Patch simply put the line</p> +<pre> + WarEagleIcons=1</pre> +<p>to <em>epgsearchmenu.conf</em>.</p> +<p>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.</p> +<p>See also <code>epgsearchmenu.con(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="11__working_with_the_timer_conflict_menu">11. Working with the timer conflict menu</a></h1> +<p>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'.</p> +<p>Besides the relevant conflicts (relevance is controlled via the setup options +of epgsearch) there may also be conflicts which are not classified 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.</p> +<p>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 number 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.</p> +<p>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</p> +<pre> + - 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</pre> +<p>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.</p> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="12__user_defined_variables">12. User defined variables</a></h1> +<p>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 <em>epgsearchuservars.conf</em>.</p> +<p>Variables looks like %Variablename%.</p> +<p>``Variablename'' can be consist of any alphanumerical character. Space +and special characters are not allowed.</p> +<p>The variable names are case-insensitive.</p> +<p>Examples for possible names:</p> +<pre> + %Series% %DocuVar1% %ThemesSubtitleDate1%</pre> +<p> +</p> +<h2><a name="assignment">Assignment</a></h2> +<pre> + %Series%=New series~Thriller</pre> +<p>The variable %Series% will be assigned with the string ``New series~Thriller''.</p> +<p>Assignments are always strings. Spaces stay spaces.</p> +<pre> + %Path%=%Series%</pre> +<p>The variable %Path% gets the content of the variable %Series%.</p> +<p>You can do nearly everything:</p> +<pre> + %Path%=%Serie%~Lost</pre> +<p>The variable %Path% contains now the string ``New series~Thriller~Lost''.</p> +<p> +</p> +<h2><a name="control_structures">Control structures</a></h2> +<p>You can use simple ``if then else'' constructions.</p> +<p>These constructions cannot contain strings, only variables. +Spaces are ignored.</p> +<pre> + %Foo%=Other</pre> +<pre> + %Variable%=%Path% ? %Path% : %Foo%</pre> +<p>If %Path% is not empty, assign the content of %Path% to %Variable%, +otherwise the content of %Foo%.</p> +<p>``%Path% ?'' means ``not empty?''. You can use other checks.</p> +<pre> + %Variable%=%Path%!=5 ? %Path% : %Foo%</pre> +<p>``%Path%!=5 ?'' means ``is %Path% equal 5?''</p> +<p>You can also compare variables.</p> +<pre> + %Five%=5</pre> +<pre> + %Variable%=%Path%!=%Five% ? %Path% : %Foo%</pre> +<p>Other possible checks:</p> +<pre> + == equal + != not equal</pre> +<p> +</p> +<h2><a name="calling_a_system_command">Calling a system command</a></h2> +<p>You can call external commands. The returned string will be assigned +to a variable</p> +<pre> + %uservar%=system(scriptname[, parameters])</pre> +<p>Calls the script ``scriptname'' with the parameters defined in the optional list +of 'parameters'. This can be an arbitrary expression containing other user +variables, but not again a system call or a conditional expression.</p> +<p>Sample:</p> +<pre> + %myVar%=system(/usr/local/bin/myscript.sh, -t %title% -s %subtitle% -u %myOtherVar%) + +The script must return a string B<without> line break!</pre> +<p>If the script returns nothing, an empty string will be assigned to the +Variable %Result%.</p> +<p> +</p> +<h2><a name="possible_variables">Possible variables</a></h2> +<p>for a list of already builtin variables refer to the section ``Customizing the EPG menus'' +Furthermore you can use every variable defined in <em>epgsearchcats.conf</em>.</p> +<p>See <code>epgsearchcats.conf(5)</code>.</p> +<p> +</p> +<h2><a name="examples">EXAMPLES</a></h2> +<pre> + # Weekday, Date, Time + %DateStr%=%time_w% %date% %time%</pre> +<pre> + # Themes or Subtitle or Date + %ThemesSubtitleDate1%=%Subtitle% ? %Subtitle% : %DateStr% + %ThemesSubtitleDate%=%Themes% ? %Themes% : %ThemesSubtitleDate1%</pre> +<pre> + # 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%</pre> +<p> +</p> +<hr /> +<h1><a name="13__email_notification">13. Email notification</a></h1> +<p>If you want to get email notifications about timers added/modified/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</p> +<pre> + - epgsearchupdmail.templ (for search timer update notifications) + - epgsearchconflmail.templ (for timer conflict notifications)</pre> +<p>You can find sample files in the 'conf' directory. Copy them to epgsearchs +config directory (e.g. /etc/vdr/plugins/epgsearch).</p> +<p> +</p> +<h2><a name="customizing_the_notifications_mails">Customizing the notifications mails</a></h2> +<p>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:</p> +<pre> + - "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%</pre> +<p>each section is enclosed in a pseudo XML tag.</p> +<p>The following variables can be used in the section <mailbody>:</p> +<pre> + - %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</pre> +<p>The following variables can be used in the section <timer>:</p> +<pre> + - %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')</pre> +<p>For a conflict notification mail the following sections exist:</p> +<pre> + - "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</pre> +<p>The following variables can be used in the section <mailbody>:</p> +<pre> + - %conflict.count% - complete number of timer conflicts + - %conflict.conflicts% - list of times with conflicting timers</pre> +<p>The following variables can be used in the section <conflictsat>:</p> +<pre> + - %conflict.date% - date of the conflict + - %conflict.time% - time of the conflict + - %conflict.confltimers% - list of conflicting timers for this time</pre> +<p>The section <conflicttimer> can use the same variables as the section <timer> +in an update mail (see above).</p> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code>, <code>epgsearch.conf(5)</code>, <code>epgsearchuservars.con(5)</code>, <code>epgsearchdirs.conf(5)</code>, <code>epgsearchmenu.conf(5)</code>, <code>epgsearchcmds.conf(5)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearch.conf.5.html b/html/en/epgsearch.conf.5.html new file mode 100644 index 0000000..e050df8 --- /dev/null +++ b/html/en/epgsearch.conf.5.html @@ -0,0 +1,172 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#example">EXAMPLE</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearch.conf</em> - The searchtimers</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>This file contains the searchtimers.</p> +<p>Do not edit it manually, you should use SVDRP.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>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 <strong>':'</strong>:</p> +<pre> + 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</pre> +<p>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 ;-))</p> +<p>There's no need to fill all fields, only the first 11 fields must exist.</p> +<p> +</p> +<hr /> +<h1><a name="example">EXAMPLE</a></h1> +<pre> + #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</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchblacklists.conf.5.html b/html/en/epgsearchblacklists.conf.5.html new file mode 100644 index 0000000..9ac10fa --- /dev/null +++ b/html/en/epgsearchblacklists.conf.5.html @@ -0,0 +1,100 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <ul> + + <li><a href="#usage">USAGE</a></li> + </ul> + + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchblacklists.conf</em> - Blacklist</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>You can create blacklists in epgsearch and use them in searchtimers.</p> +<p>A blacklist entry is like a normal searchtimer which is saved in the file +<em>epgsearchblacklists.conf</em>.</p> +<p>While editing an searchtimer you can select one ore more blacklist entries.</p> +<p> +</p> +<h2><a name="usage">USAGE</a></h2> +<p>Searchtimer ``Action'' use blacklist ``Damme''.</p> +<p>Blacklist entry ``Damme'' searches ``Damme''</p> +<p>First the searchtimer searches all films with ``Action''.</p> +<p>Then for each search result epgsearch will test if the result matches +against ``Damme''. If so, the result will be dismissed.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>This file uses the same syntax as <em>epgsearch.conf</em> except that theres no <use as searchtimer> field. +So there's a shift by one field from this position. Because that, see <code>epgsearch.conf(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code>, <code>epgsearch.conf(5)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchcats.conf.5.html b/html/en/epgsearchcats.conf.5.html new file mode 100644 index 0000000..28c47d1 --- /dev/null +++ b/html/en/epgsearchcats.conf.5.html @@ -0,0 +1,157 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#example">EXAMPLE</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchcats.conf</em> - Configuration of the additional EPG information</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>Some EPG providers deliver additional EPG information like the type of +event, the video and audio format, cast,...</p> +<p>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.</p> +<p>Sample files for <em>epgsearchcats.conf</em> are delivered with the plugin in +the directory 'conf'.</p> +<p>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).</p> +<p>Since setting up a new <em>epgsearchcats.conf</em> 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.</p> +<p>See <code>createcats(1)</code> for information about how to use it.</p> +<p><strong>Internals:</strong> 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.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<pre> + ID|category name|name in menu|values separated by ','(option)|searchmode(option)</pre> +<pre> + - '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</pre> +<p> +</p> +<hr /> +<h1><a name="example">EXAMPLE</a></h1> +<p>(Lines are shortened for correct displaying)</p> +<p>Example for EPG from Hörzu, downloaded from epgdata.com with tvmovie2vdr.</p> +<pre> + 1|Category|Kategorie|Information,Kinder,Musik,Serie,Show,Spielfilm,Sport|2</pre> +<pre> + 2|Genre|Genre|Abenteuer,Action,Wirtschaft,Wissen,Zeichentrick|2</pre> +<pre> + 3|Format|Video-Format|16:9,4:3|2</pre> +<pre> + 4|Audio|Audio|Dolby Surround,Dolby,Hoerfilm,Stereo|2</pre> +<pre> + 5|Year|Jahr||2</pre> +<pre> + 6|Cast|Besetzung||2</pre> +<pre> + 7|Director|Regisseur||2</pre> +<pre> + 8|Moderator|Moderation||2</pre> +<pre> + 9|Rating|Bewertung|Großartig besonders wertvoll,Annehmbar,Schwach|2</pre> +<pre> + 10|FSK|FSK|6,12,16,18|2</pre> +<pre> + 11|Country|Land||2</pre> +<pre> + 12|Episode|Episode||4</pre> +<pre> + 13|Themes|Thema||4</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code>, <code>epgsearchcats.conf(5)</code>, <code>createcats(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchchangrps.conf.5.html b/html/en/epgsearchchangrps.conf.5.html new file mode 100644 index 0000000..3d06ea7 --- /dev/null +++ b/html/en/epgsearchchangrps.conf.5.html @@ -0,0 +1,95 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#example">EXAMPLE</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchchangrps.conf</em> - Channel groups</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>You can define channel groups in epgsearch which can be used in searchtimers.</p> +<p>In this file the groups will be saved.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>Each line contains one channel group. The line begins with the group name, after the name, +split by '|', the list of channels.</p> +<p> +</p> +<hr /> +<h1><a name="example">EXAMPLE</a></h1> +<p>(Lines are shortened for clean displaying)</p> +<pre> + 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</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchcmds.conf.5.html b/html/en/epgsearchcmds.conf.5.html new file mode 100644 index 0000000..240d7fb --- /dev/null +++ b/html/en/epgsearchcmds.conf.5.html @@ -0,0 +1,105 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <ul> + + <li><a href="#language">Language</a></li> + </ul> + + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#example">EXAMPLE</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchcmds.conf</em> - EPG Commands</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>This file contains, like the file commands.conf or reccmds.conf, commands, which +can be applied to the in the program menu selected event.</p> +<p>Internal epgsearch has 8 not changeable commands.</p> +<p>If there is a <em>epgsearchcmds.conf</em>, the commands in it will be appended to +the list of the internal commands, starting with 9.</p> +<p> +</p> +<h2><a name="language">Language</a></h2> +<p>You can use different files for each language. For example <em>epgsearchcmds-eng.conf</em> +will be loaded if the, in VDR selected, language is english.</p> +<p>If there is no file for the selected language, epgsearch tries to load +<em>epgsearchcmds.conf</em>.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>Description : Command</p> +<p> +</p> +<hr /> +<h1><a name="example">EXAMPLE</a></h1> +<p>epg2taste (de): /usr/local/vdr/epg2taste.sh</p> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchdirs.conf.5.html b/html/en/epgsearchdirs.conf.5.html new file mode 100644 index 0000000..90a5e2f --- /dev/null +++ b/html/en/epgsearchdirs.conf.5.html @@ -0,0 +1,129 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#example">EXAMPLE</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchdirs.conf</em> - List of directories for selecting in epgsearch</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>This is one source of the 'Select directory' menu.</p> +<p>This file contain directories which can be used for search timers or +ordinary timers.</p> +<p>The items displayed are read from the following sources:</p> +<pre> + * current recording directories + * current timer directories + * directories used in search timers + * directories specified in F<epgsearchdirs.conf></pre> +<p>The menu merges theses directories and displays only distinct +directories. 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.</p> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>Each line contains a directory. You can use every variable, internal ones +those defined in <em>epgsearchuservars.conf</em> and the variables of the +extended EPG.</p> +<p>See <code>epgsearchcats.conf(5)</code> and <code>epgsearchuservars.conf(5)</code>.</p> +<p>Internal ones:</p> +<pre> + %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</pre> +<p> +</p> +<hr /> +<h1><a name="example">EXAMPLE</a></h1> +<pre> + %Category%~%Genre% + %Category%~%Genre%~%Title%~%Episode%: %Subtitle% + Information~Nature~%Title%~%Episode%: %Subtitle% + %Series% + Movie~Action + Movie~Docu + Movie~Thriller + Music + Sports</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code>, <code>epgsearchcats.conf(5)</code>, <code>epgsearchuservars.conf(5)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchmenu.conf.5.html b/html/en/epgsearchmenu.conf.5.html new file mode 100644 index 0000000..01944fc --- /dev/null +++ b/html/en/epgsearchmenu.conf.5.html @@ -0,0 +1,162 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#example">EXAMPLE</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchmenu.conf</em> - Customizing the EPG menus</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>The file <em>epgsearchmenu.conf</em> 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 ..., Schedule, Search results, +Favorites) with a separate line.</p> +<p> +</p> +<hr /> +<h1><a name="example">EXAMPLE</a></h1> +<pre> + 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</pre> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>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.</p> +<p>The values for MenuWhatsOnNext, MenuWhatsOnElse, MenuSchedule, +MenuSearchResults, 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.</p> +<p>'MenuSearchResults' has something special: If you want to have different +layouts for your search results depending on the search, you can use more then +one menu template. Simply define e.g. an additional</p> +<pre> + MenuSearchResultsTip of the Day=%chnr%:3|%time_w%:4|%t_status%:3|%genre%:10|%title%%colon% %subtitle%:35</pre> +<p>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.</p> +<p>The following variables exist:</p> +<pre> + %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%</pre> +<p>for the 'Whats on...' and 'Search results' menu there is also:</p> +<pre> + %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')</pre> +<p>the variables are not case sensitive.</p> +<p>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 ':'.</p> +<p>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.</p> +<p>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.</p> +<p>There's a sample <em>epgsearchmenu.conf</em> in the subdirectory ``conf''. For a quick try +copy it to your plugins config directory (e.g. /etc/vdr/plugins).</p> +<p>To enable icons from WarEagleIcon-Patch simply put the line</p> +<pre> + WarEagleIcons=1</pre> +<p>to <em>epgsearchmenu.conf</em>.</p> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchswitchtimers.conf.5.html b/html/en/epgsearchswitchtimers.conf.5.html new file mode 100644 index 0000000..60e8c14 --- /dev/null +++ b/html/en/epgsearchswitchtimers.conf.5.html @@ -0,0 +1,102 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#example">EXAMPLE</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchswitchtimer.conf</em> - The list of switchtimer</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>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.</p> +<p>The switchtimers are saved in this file.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>The delimiter is ':'.</p> +<p>This fields are possible:</p> +<pre> + 1 - Channel + 2 - Event ID + 3 - Start time + 4 - Minutes to switch before event + 5 - Only inform via OSD + 6 - unmute sound if off</pre> +<p> +</p> +<hr /> +<h1><a name="example">EXAMPLE</a></h1> +<pre> + S19.2E-1-1089-12060:52221:1153322700:1:0</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchtemplates.conf.5.html b/html/en/epgsearchtemplates.conf.5.html new file mode 100644 index 0000000..f7d216d --- /dev/null +++ b/html/en/epgsearchtemplates.conf.5.html @@ -0,0 +1,86 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchtemplates.conf</em> - Searchtimer templates</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>In epgsearch searchtimer templates can be created for easy +creating new searchtimers.</p> +<p>These templates are saved in this file.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>This file has the same syntax as the epgsearch.conf.</p> +<p>So please refer to <em>epgsearch.conf</em>, see <code>epgsearch.conf(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code>, <code>epgsearch.conf(5)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/epgsearchuservars.conf.5.html b/html/en/epgsearchuservars.conf.5.html new file mode 100644 index 0000000..96be465 --- /dev/null +++ b/html/en/epgsearchuservars.conf.5.html @@ -0,0 +1,201 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#syntax">SYNTAX</a></li> + <ul> + + <li><a href="#assignment">Assignment</a></li> + <li><a href="#control_structures">Control structures</a></li> + <li><a href="#calling_a_system_command">Calling a system command</a></li> + <li><a href="#possible_variables">Possible variables</a></li> + </ul> + + <li><a href="#examples">EXAMPLES</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>epgsearchuservars.conf</em> - User defined variables</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>In this file you can defines variables which then can be used +in epgsearch in any play where variables are possible.</p> +<p> +</p> +<hr /> +<h1><a name="syntax">SYNTAX</a></h1> +<p>Variables looks like %Variablename%.</p> +<p>``Variablename'' can be consist of any alphanumerical character. Space +and special characters are not allowed.</p> +<p>The variable names are case-insensitive.</p> +<p>Examples for possible names:</p> +<pre> + %Series% %DocuVar1% %ThemesSubtitleDate1%</pre> +<p> +</p> +<h2><a name="assignment">Assignment</a></h2> +<pre> + %Series%=New series~Thriller</pre> +<p>The variable %Series% will be assigned with the string ``New series~Thriller''.</p> +<p>Assignments are always strings. Spaces stay spaces.</p> +<pre> + %Path%=%Series%</pre> +<p>The variable %Path% gets the content of the variable %Series%.</p> +<p>You can do nearly everything:</p> +<pre> + %Path%=%Serie%~Lost</pre> +<p>The variable %Path% contains now the string ``New series~Thriller~Lost''.</p> +<p> +</p> +<h2><a name="control_structures">Control structures</a></h2> +<p>You can use simple ``if then else'' constructions.</p> +<p>These constructions cannot contain strings, only variables. +Spaces are ignored.</p> +<pre> + %Foo%=Other</pre> +<pre> + %Variable%=%Path% ? %Path% : %Foo%</pre> +<p>If %Path% is not empty, assign the content of %Path% to %Variable%, +otherwise the content of %Foo%.</p> +<p>``%Path% ?'' means ``not empty?''. You can use other checks.</p> +<pre> + %Variable%=%Path%!=5 ? %Path% : %Foo%</pre> +<p>``%Path%!=5 ?'' means ``is %Path% equal 5?''</p> +<p>You can also compare variables.</p> +<pre> + %Five%=5</pre> +<pre> + %Variable%=%Path%!=%Five% ? %Path% : %Foo%</pre> +<p>Other possible checks:</p> +<pre> + == equal + != not equal</pre> +<p> +</p> +<h2><a name="calling_a_system_command">Calling a system command</a></h2> +<p>You can call external commands. The returned string will be assigned +to a variable</p> +<pre> + %Result%=system(scriptname,%Variable1% %Variable2% -f %Variable3% --dir=%Variable4% --dummy)</pre> +<p>Calls the script ``scriptname'' with the parameters ``%Variable1%'', +``%Variable2%'', etc. The result will be stored in %Result%.</p> +<p>You can use as many variables as you want.</p> +<p>If needed, epgsearch will quote the variable.</p> +<p>The script must return a string <strong>without</strong> line break!</p> +<p>If the script returns nothing, an empty string will be assigned to the +Variable %Result%.</p> +<p> +</p> +<h2><a name="possible_variables">Possible variables</a></h2> +<p>The following variables exist:</p> +<pre> + %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</pre> +<pre> + %<epg-category>% - a value from the extended EPG categories, specified in + F<epgsearchcats.conf>, like %genre% or %category%</pre> +<pre> + %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')</pre> +<pre> + %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)</pre> +<p>See also <code>epgsearchcats.conf(5)</code>.</p> +<p> +</p> +<hr /> +<h1><a name="examples">EXAMPLES</a></h1> +<pre> + # Weekday, Date, Time + %DateStr%=%time_w% %date% %time%</pre> +<pre> + # Themes or Subtitle or Date + %ThemesSubtitleDate1%=%Subtitle% ? %Subtitle% : %DateStr% + %ThemesSubtitleDate%=%Themes% ? %Themes% : %ThemesSubtitleDate1%</pre> +<pre> + # Calls this script to get a recording path + %DocuScript%=system(doku.pl,%Title%,%Subtitle%,%Episode%,%Themes%,%Category%,%Genre%) + %Docu%=%DocuScript%</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code>, <code>epgsearchcats.conf(5)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/noannounce.conf.5.html b/html/en/noannounce.conf.5.html new file mode 100644 index 0000000..6dd078d --- /dev/null +++ b/html/en/noannounce.conf.5.html @@ -0,0 +1,97 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#format">FORMAT</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>noannounce.conf</em> - list of events that have been marked to not be announced +via OSD</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>This file contains a list of events that have been marked to not be announced +via OSD by the search timer background thread.</p> +<p>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.</p> +<p> +</p> +<hr /> +<h1><a name="format">FORMAT</a></h1> +<p>Events are stored one per line, where the fields are separated with ':'.</p> +<p>The following fields exists:</p> +<pre> + 1 - title + 2 - short text + 3 - channel ID + 4 - start time + 5 - next announce time</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (C) 2004-2007 Christian Wieninger</p> +<p>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.</p> +<p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details.</p> +<p>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 <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a></p> +<p>The author can be reached at <a href="mailto:cwieninger@gmx.de">cwieninger@gmx.de</a></p> +<p>The project's page is at <a href="http://winni.vdr-developer.org/epgsearch">http://winni.vdr-developer.org/epgsearch</a></p> +<p>The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.</p> + +</body> + +</html> diff --git a/html/en/timersdone.conf.5.html b/html/en/timersdone.conf.5.html new file mode 100644 index 0000000..b1d739d --- /dev/null +++ b/html/en/timersdone.conf.5.html @@ -0,0 +1,83 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Epgsearch Version 0.9.24.beta9</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link rev="made" href="mailto:root@localhost" /> +</head> + +<body style="background-color: white"> + +<p><a name="__index__"></a></p> +<!-- INDEX BEGIN --> + +<ul> + + <li><a href="#name">NAME</a></li> + <li><a href="#description">DESCRIPTION</a></li> + <li><a href="#format">FORMAT</a></li> + <li><a href="#see_also">SEE ALSO</a></li> + <li><a href="#author__man_pages_">AUTHOR (man pages)</a></li> + <li><a href="#report_bugs">REPORT BUGS</a></li> + <li><a href="#copyright_and_license">COPYRIGHT and LICENSE</a></li> +</ul> +<!-- INDEX END --> + +<hr /> +<p> +</p> +<h1><a name="name">NAME</a></h1> +<p><em>timersdone.conf</em> - list of current timers created by search timers</p> +<p> +</p> +<hr /> +<h1><a name="description">DESCRIPTION</a></h1> +<p>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 created and cancels +further timer creations. If a corresponding recording was made for any timer +in this list, the timer is automatically removed from it.</p> +<p> +</p> +<hr /> +<h1><a name="format">FORMAT</a></h1> +<p>Timers are stored one per line, where the fields are separated with ':'.</p> +<p>The following fields exists:</p> +<pre> + 1 - channel-ID + 2 - start time + 3 - stop time + 4 - search timer ID + 5 - event title + 6 - event episode</pre> +<p> +</p> +<hr /> +<h1><a name="see_also">SEE ALSO</a></h1> +<p><code>epgsearch(1)</code></p> +<p> +</p> +<hr /> +<h1><a name="author__man_pages_">AUTHOR (man pages)</a></h1> +<p>Mike Constabel <epgsearch (at) constabel (dot) net></p> +<p> +</p> +<hr /> +<h1><a name="report_bugs">REPORT BUGS</a></h1> +<p>Bug reports (german):</p> +<p><a href="http://www.vdr-developer.org/mantisbt/">http://www.vdr-developer.org/mantisbt/</a></p> +<p>Mailing list:</p> +<p><a href="http://www.vdr-developer.org/mailman/listinfo/epgsearch">http://www.vdr-developer.org/mailman/listinfo/epgsearch</a></p> +<p> +</p> +<hr /> +<h1><a name="copyright_and_license">COPYRIGHT and LICENSE</a></h1> +<p>Copyright (c) 2005-2006 Christian Wieninger</p> +<p><a href="http://www.cwieninger.de.vu/">http://www.cwieninger.de.vu/</a></p> +<p>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.</p> + +</body> + +</html> |