mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 0.95
- Fixed behaviour in case the shutdown didn't take place (there were many "next timer event at..." messages in that case). - Reduced the default value for MinEventTimeout to 30 minutes. - Fixed detecting manual start in shutdown feature. - An error message is now displayed in case the Transfer Mode can't be started because the necessary DVB card is currently recording (or there is no DVB card that can access this channel). - Fixed toggling channels with the '0' key in case the "Ok" button has been pressed to display the current/next information. - Pressing the "Power" key now always initiates the shutdown sequence (after user confirmation in case of a recording timer), event if there is currently a menu or a replay session active. Note the additional remarks in INSTALL regarding the values of the two parameters given to the shutdown program in case of a currently recording timer. - Switching through channel groups with the "Left" and "Right" keys now always starts at the group that contains the current channel. - Implemented "Multi Speed Mode" (thanks to Stefan Huelswitt). - Implemented backtracing to hit the right spot after fast forward/rewind (thanks to Stefan Huelswitt). - Implemented replay mode display (thanks to Stefan Huelswitt, with a few rewrites by kls). - Changed the size of all input buffers used to parse config files or receive SVDRP commands to the same value of 10KB. This allows long strings to be used in the 'summary' field of a timer, for instance. - The pipe to the Dolby Digital replay command (option '-a') now closes all unused file descriptors in the child process to avoid crashing when the OSD is used (thanks to Andreas Vitting). - Switched to the driver's new tuning API (VDR now requires a driver version dated 2001-09-14 or higher). - Changed obsolete macro VIDEO_WINDOW_CHROMAKEY to VID_TYPE_CHROMAKEY (thanks to Guido Fiala). - New version of the "Master-Timer" tool (thanks to Matthias Schniedermeyer). - Better error handling when writing configuration files. - Fixed putting the final editing mark into the edited version's marks file. - Fixed manipulating an editing mark at the very end of a recording. - Fixed starting a new replay immediately after stopping a previous one (had caused a mix between live video and replay). - Three new keys ("Volume+", Volume-" and "Mute") to control the DVB card's audio output volume. - New version of the 'epg2timers' tool (thanks to Carsten Koch).
This commit is contained in:
@@ -1,106 +1,70 @@
|
||||
Master-Timer
|
||||
============
|
||||
Master-Timer
|
||||
============
|
||||
(w) by Matthias Schniedermeyer (ms@citd.de)
|
||||
|
||||
|
||||
1. Einleitung
|
||||
-------------
|
||||
|
||||
Master-Timer ist ein System zum automatischen Aufnehmen von Serien und Filmen.
|
||||
Beim Aufruf werden die Konfigurationsdateien gelesen, die Datei "epg.data" im
|
||||
aktuellen Verzeichnis nach passenden Sendungen durchsucht und die ermittelten
|
||||
Timer per SVDRP in VDR programmiert. Danach beendet sich Master-Timer.
|
||||
|
||||
2. Voraussetzungen
|
||||
------------------
|
||||
Entsprechend empfiehlt es sich, Master-Timer per cronjob aufzurufen.
|
||||
|
||||
VDR liefert die "epg.data".
|
||||
|
||||
3. Konfigurationsdateien
|
||||
2. Konfigurationsdateien
|
||||
------------------------
|
||||
|
||||
Alle Konfigurationsdateien liegen unter "<HOME>.master-timer"
|
||||
Alle Konfigurationsdateien liegen unter "~/.master-timer". Es werden
|
||||
regulaere Ausdruecke ohne Unterscheidung der Gross-/Kleinschreibung
|
||||
benutzt.
|
||||
|
||||
config: Eine Ansammlung von Key-Value Paaren. Alle sind "optional" und
|
||||
erhalten dann die angegebenen Default-Werte
|
||||
config: Die Hauptkonfigurationsdatei.
|
||||
|
||||
(# = Kommentarzeilen)
|
||||
marginstart (Default 600)
|
||||
Anzahl der "Sicherheits" Sekunden die ein Timer frueher beginnen soll
|
||||
deepblack: Eine Negativliste von Titeln, die man NIEMALS NIMMER sehen will.
|
||||
Die epg-datensaetze werden beim Parsen einfach entfernt.
|
||||
|
||||
marginstop (Default 600)
|
||||
Anzahl der "Sicherheits" Sekunden die ein Timer laenger dauern soll
|
||||
subtitle-movies: Eine Liste der "Subtitel", die ein Zeichen fuer einen Film
|
||||
sind (soweit die von den Sendern richtig ausgefuellt sind). Die
|
||||
Einstellungen in dieser Datei werden fuer das Makro "MOVIE" in torecord
|
||||
benutzt.
|
||||
Kommentarzeilen sind nicht erlaubt.
|
||||
|
||||
defaultprio (Default 50)
|
||||
Die Prioritaet die fuer Timer verwendet wird wo keine Prioritaet
|
||||
angegeben ist
|
||||
torecord: Liste der aufzunehmenden Filme.
|
||||
|
||||
DVBCards (Default 1)
|
||||
Anzahl der vorhandenen DVB-Karten (Derzeit nicht verwendet)
|
||||
done: Liste der Titel/Subtitel, die bereits aufgenommen wurden. Timer, die
|
||||
hier auftauchen, werden in VDR automatisch geloescht.
|
||||
|
||||
Dest-Host (Default "localhost")
|
||||
Host-name oder IP des Rechners auf dem VDR laeuft
|
||||
channels-to-scan: Diese Kanaele werden vom Skript "scan-channels" durch-
|
||||
geschaltet (zwecks Einlesen der EPG-Daten). Die Datei wird von Master-
|
||||
Timer selbst nicht benutzt.
|
||||
|
||||
Dest-Port (Default "2001")
|
||||
Port der VDR verwendet
|
||||
3. Anmerkungen
|
||||
--------------
|
||||
|
||||
jointimers (Default 0)
|
||||
Sollen aufeinanderfolgende Timer auf den gleichen Kanal zusammengefasst
|
||||
werden (0 = "Nein", alles andere "Ja")
|
||||
- einige Sender fuellen die EPG-Felder nicht korrekt aus. Diese Fehler
|
||||
werden von Master-Timer automatisch korrigiert.
|
||||
|
||||
debug (Default 0)
|
||||
Debug-Level, die einzelnen Debug-Werte muessen aus folgenden Werten
|
||||
zusammengezaehlt werden
|
||||
1 : Dump "torecord"
|
||||
2 : Dump all timers
|
||||
4 : Show when a timer will be deleted
|
||||
8 : Dump the "Done" REs
|
||||
16 : Verbose Config-Reading
|
||||
Pro7: Title aus dem Subtitle entfernen '<Title> / <Subtitle>'
|
||||
Pro7: Timer zwischen 00:00 und 05:00 werden einen Tag in die Zukunft
|
||||
verschoben (Als unguten Nebeneffekt hat dies zur Folge das zum
|
||||
aktuellen Tag NICHT die epg-Daten das folgenden Tags (=Das was in
|
||||
der Fernsehzeitschrift noch auf der gleichen Seite ist) mehr gesendet
|
||||
werden. Wenn man also "Last Minute" etwas aufnehmen will, dann muss
|
||||
man (leider) einen Timer "per Hand" in VDR einprogrammieren!)
|
||||
VOX/VIVA: Subtitle ist in "" eingeschlossen nd nach ". " steht die description
|
||||
VIVA: Wenn der Subtitle mit einem Space beginnt, dann wird der komplette
|
||||
Subtitle in die Description verschoben
|
||||
RTL2: Wenn der EPG-Datensatz eine Dauer von kleiner/gleich 1 Sekunde hat,
|
||||
wird er einfach verworfen.
|
||||
|
||||
deepblack: Eine Liste von Titeln die man NIEMALS NIMMER sehen will
|
||||
Jede Zeile = 1 Titel
|
||||
Bis auf den jeweils 2ten VIVA&Pro-7 Bug werden die Fixes an jedem
|
||||
epg-Datensatz ausprobiert.
|
||||
|
||||
subtitle-movies: Eine Liste der "Subtitel" die ein Zeichen fuer einen Film sind
|
||||
(Soweit die von den Sendern richtig ausgefuellt sind.)
|
||||
Jede Zeile = 1 Subtitel
|
||||
4. Bekannte Bugs
|
||||
----------------
|
||||
|
||||
torecord: Die Sachen die man Aufnehmen will
|
||||
Jede Zeile = 1 Timer
|
||||
# Format: (Every field is "optional".
|
||||
# [Title RE|Subtitle RE|Description RE|Channel-Name|Timeframe|Prio|Timer-Title]
|
||||
#
|
||||
# To record something at least one of the "Title", "Subtitle" or "Description"
|
||||
# Fields has to be provided. This 3 fields are "include" and the rest are
|
||||
# "exclude" fields!
|
||||
#
|
||||
# More than one channel definition can be provided. The delimiter is ";"
|
||||
# Additionaly you can make a "blacklist" of Channels when you prepent a "!" to the first Channel Definition
|
||||
# The "!" is only tested for the FIRST Channel definition.
|
||||
# You can only have a white or a blacklist (Mixing doesn't make sense!)
|
||||
#
|
||||
# ex. Record the series "Deep Space Nine" on Sci-Fantasy in the timeframe 09:00 - 14:00
|
||||
# Deep Space Nine|||Sci-Fantasy|0900-1400|99|DS9
|
||||
#
|
||||
# Record all "Actionfilm"s with "Schwarzenegger"
|
||||
# |Actionfilm|Schwarzenegger
|
||||
#
|
||||
|
||||
|
||||
done: The titles/subtitles which are already recorded/should not be recorded
|
||||
(Programmed Timers which got inserted into "done" will be deleted
|
||||
automaticaly)
|
||||
|
||||
4. Notices
|
||||
----------
|
||||
|
||||
- Recordings "overlapping" on the same channel, will be joined into one Timer
|
||||
- Title/Subtitle/Descriptions are "fixed" for Channel that don't fill them
|
||||
out "correctly" (Currently the "Bugs" from Pro-7/VOX/VIVA)
|
||||
Pro7: Remove the Title from the Subtitle '<Title> / <Subtitle>'
|
||||
VOX/VIVA: Subtitle is enclosed into "" and after ". " is the description
|
||||
VIVA: When the Subtitle beginns with space the subtitle is moved to
|
||||
description
|
||||
All (except the second VIVA one) fixes are tried onto ALL Subtitles.
|
||||
|
||||
5. Known-Bugs
|
||||
-------------
|
||||
|
||||
- It isn't checked if there are enough DVB-Cards
|
||||
- Overlapping Timers, on the same channel, are always joined
|
||||
- JOINed timers which are "done" don't get deleted automaticaly
|
||||
- Es wird nicht geprueft ob noch genug DVB-Karten vorhanden sind
|
||||
- "Joined timers" werden nur automatisch geloescht wenn alle dazugehoerigen
|
||||
Sendungen "done" sind.
|
||||
|
@@ -1,43 +1,49 @@
|
||||
Master-Timer (w) by Matthias Schniedermeyer (ms@citd.de)
|
||||
============
|
||||
Master-Timer
|
||||
============
|
||||
(w) by Matthias Schniedermeyer (ms@citd.de)
|
||||
|
||||
|
||||
1. Introduction
|
||||
---------------
|
||||
|
||||
Master-Timer ist a system for recording Films/Series automaticaly
|
||||
Master-Timer is a system designed for automatically recording movies.
|
||||
Upon execution it reads its configuration files, scans the file "epg.data"
|
||||
in the current directory for matching titles and programs them via SVDRP
|
||||
into VDR.
|
||||
|
||||
2. Requierements
|
||||
----------------
|
||||
You may for example run Master-Timer as a cron job.
|
||||
|
||||
epg.data
|
||||
|
||||
3. Config-Files
|
||||
2. Config files
|
||||
---------------
|
||||
|
||||
For all files: One Entry per Line. Each line is a "Regular Expresion"
|
||||
So you can use all Perl-Style REs you want.
|
||||
The RE are matched with "i" so they are case insensitive!
|
||||
(Except for the "done"-list, these must match excatly!)
|
||||
Configuration files are located in "~/.master-timer". Each entry is a
|
||||
regular expression so you can use all Perl style REs you want. They are
|
||||
processed case insensitive.
|
||||
|
||||
deepblack: Blacklist of "Titles" you NEVER EVER want to get to you eyes
|
||||
config: Main configuration file.
|
||||
|
||||
subtitle-movies: A list of "Subtitles" which indicate a movie.
|
||||
(For Channels that correctly fill out the Subtitle.
|
||||
e.g. it won't work for *eRTL*)
|
||||
deepblack: Blacklist of "titles" you NEVER EVER want to see.
|
||||
|
||||
torecord: The titles/subtitles/Description you want to record
|
||||
subtitle-movies: A list of "Subtitles" which indicate a movie (used
|
||||
by the "MOVIE" macro in torecord).
|
||||
For channels that correctly fill out the subtitle e.g. it will not
|
||||
work with *eRTL*.
|
||||
|
||||
torecord: The titles you want to record.
|
||||
|
||||
done: The titles/subtitles which are already recorded/should not be recorded
|
||||
(Programmed Timers which got inserted into "done" will be deleted
|
||||
automaticaly)
|
||||
Programmed timers which got inserted into "done" will be deleted
|
||||
automatically.
|
||||
|
||||
channels-to-scan: Used only by the separate "scan-channels" script which
|
||||
switches through channels in order to get EPG data.
|
||||
|
||||
4. Notices
|
||||
----------
|
||||
|
||||
- Recordings "overlapping" on the same channel, will be joined into one Timer
|
||||
- Title/Subtitle/Descriptions are "fixed" for Channel that don't fill them
|
||||
out "correctly" (Currently the "Bugs" from Pro-7/VOX/VIVA)
|
||||
- Recordings overlapping on the same channel will be joined into one timer
|
||||
- Title/Subtitle/Descriptions are "fixed" for channels that don't fill them
|
||||
out correctly (Pro-7/VOX/VIVA)
|
||||
Pro7: Remove the Title from the Subtitle '<Title> / <Subtitle>'
|
||||
VOX/VIVA: Subtitle is enclosed into "" and after ". " is the description
|
||||
VIVA: When the Subtitle beginns with space the subtitle is moved to
|
||||
@@ -48,5 +54,5 @@ done: The titles/subtitles which are already recorded/should not be recorded
|
||||
-------------
|
||||
|
||||
- It isn't checked if there are enough DVB-Cards
|
||||
- Overlapping Timers, on the same channel, are always joined
|
||||
- JOINed timers which are "done" don't get deleted automaticaly
|
||||
- Overlapping timers on the same channel are always joined
|
||||
- Joined timers which are "done" don't get deleted automatically
|
||||
|
18
Tools/master-timer/THANKS
Normal file
18
Tools/master-timer/THANKS
Normal file
@@ -0,0 +1,18 @@
|
||||
Klaus Schmidinger
|
||||
- VDR
|
||||
|
||||
Malte Kiesel
|
||||
- Suggestions
|
||||
- Bug Reports
|
||||
- Documentation Updates for README/LIESMICH/torecord/deepblack/config
|
||||
|
||||
Guido Fiala
|
||||
- Suggestions
|
||||
- Bug Repots
|
||||
- finding bugs i found just before i read that part of his mails
|
||||
(First the bug, then the errormessages! Otherwise i will search/find
|
||||
the bug myself :-))) )
|
||||
|
||||
Axel Gruber
|
||||
- Suggestions
|
||||
- Bug Reports
|
@@ -1,9 +1,5 @@
|
||||
|
||||
- "Intelligenter" Kanal-Scanner (z.B. nur 1 Kanal fuer ein
|
||||
Sender-"Gruppe")
|
||||
- Filtern nach Serie/Film
|
||||
- "Komfortable" Anzeige, mit Black & Whitelisten, fuer Genres/Titeln usw.
|
||||
- Unterstueztung von 1xVDR pro Karte
|
||||
- Abspielen (mit automatischen "killen" des "Frontend"-VDRs) von
|
||||
Aufzeichnungen
|
||||
- "View"-Timer d.h. Timer der nicht Aufnimmt sondern nur den Kanal aendert
|
||||
|
151
Tools/master-timer/convert-DTV2VDR.pl
Executable file
151
Tools/master-timer/convert-DTV2VDR.pl
Executable file
@@ -0,0 +1,151 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
# The EPG-Entrys
|
||||
my (%Entry, %channel, $mode);
|
||||
|
||||
# 0 = VDR -> DTV
|
||||
# 1 = DTV -> VDR
|
||||
$mode = 0;
|
||||
|
||||
read_channel_list();
|
||||
if ($mode) {
|
||||
&read_dtv();
|
||||
&read_epgdata();
|
||||
} else {
|
||||
&read_epgdata();
|
||||
&read_dtv();
|
||||
}
|
||||
&print_VDR();
|
||||
|
||||
sub read_epgdata {
|
||||
my ($channel, $duration, $title, $subtitle, $description, $time);
|
||||
open (FI,"epg.data") or die ("Can't open file \"epg.data\"\n");
|
||||
|
||||
while (<FI>) {
|
||||
# Begin Channel
|
||||
if (/^C\s(\d+)\s+(.+)/) {
|
||||
$channel=$2;
|
||||
while (<FI>) {
|
||||
# End Channel
|
||||
if (/^c$/) {
|
||||
last;
|
||||
}
|
||||
# Begin Timer
|
||||
elsif (/^E\s(\d+)\s+(\d+)\s+(\d+)$/) {
|
||||
# Undef this Variables because it is possibel that not every timer uses this values
|
||||
undef $duration;
|
||||
undef $subtitle;
|
||||
undef $description;
|
||||
|
||||
$time=$2;
|
||||
$duration=$3;
|
||||
}
|
||||
# Title
|
||||
elsif (/^T\s(.*)/) {
|
||||
$title=$1;
|
||||
}
|
||||
# Subtitle
|
||||
elsif (/^S\s(.*)/) {
|
||||
$subtitle=$1;
|
||||
}
|
||||
# Description
|
||||
elsif (/^D\s(.*)/) {
|
||||
$description=$1;
|
||||
}
|
||||
# End Timer
|
||||
elsif (/^e$/) {
|
||||
if ($mode) {
|
||||
# DTV -> VDR
|
||||
$Entry{$channel}{$time}{subtitle}=$subtitle if ($subtitle);
|
||||
if ($description) {
|
||||
if ($Entry{$channel}{$time}{description}) {
|
||||
$Entry{$channel}{$time}{description} = "DTV: '$Entry{$channel}{$time}{description}' VDR: '$description'";
|
||||
} else {
|
||||
$Entry{$channel}{$time}{description} = "DTV: '' VDR: '$description'";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
# VDR -> DTV
|
||||
$Entry{$channel}{$time}{title}=$title;
|
||||
$Entry{$channel}{$time}{duration}=$duration;
|
||||
$Entry{$channel}{$time}{subtitle}=$subtitle if ($subtitle);
|
||||
$Entry{$channel}{$time}{description}=$description if ($description);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
close (FI);
|
||||
}
|
||||
|
||||
sub read_dtv {
|
||||
my ($channel, $time, $duration, $title, $category, $subtitle, $description);
|
||||
open (FI,$ARGV[0]) or die "Can't open DTV-File";
|
||||
|
||||
while (<FI>) {
|
||||
chomp;
|
||||
($channel, $time, $duration, $title, $category, $subtitle, $description) = split (/\|/);
|
||||
if (!$channel{$channel}) {
|
||||
next;
|
||||
}
|
||||
$channel = $channel{$channel};
|
||||
if ($mode) {
|
||||
# DTV -> VDR
|
||||
if (!$subtitle && $description =~ /^\"(.*?)\"\:\s(.*)/) {
|
||||
$Entry{$channel}{$time}{subtitle} = $1;
|
||||
$description = $2;
|
||||
}
|
||||
$Entry{$channel}{$time}{title} = $title;
|
||||
$Entry{$channel}{$time}{duration} = $duration;
|
||||
$Entry{$channel}{$time}{subtitle} = $subtitle if ($subtitle);
|
||||
$Entry{$channel}{$time}{category} = $category if ($category);
|
||||
$Entry{$channel}{$time}{description} = $description if ($description);
|
||||
} else {
|
||||
# VDR -> DTV
|
||||
$Entry{$channel}{$time}{category} = $category if ($category);
|
||||
if ($description) {
|
||||
if (!$Entry{$channel}{$time}{subtitle} && $description =~ /^\"(.*?)\"\:\s(.*)/) {
|
||||
$Entry{$channel}{$time}{subtitle} = $1;
|
||||
$description = $2;
|
||||
}
|
||||
if ($Entry{$channel}{$time}{description}) {
|
||||
$Entry{$channel}{$time}{description} = "DTV: '$description' VDR: '$Entry{$channel}{$time}{description}'";
|
||||
} else {
|
||||
$Entry{$channel}{$time}{description} = "DTV: '$description' VDR: ''";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
close (FI);
|
||||
}
|
||||
|
||||
sub read_channel_list {
|
||||
my ($old, $new);
|
||||
open (FI,"$ENV{HOME}/.master-timer/convert-channel-list") or die ("Can't read channel-List");
|
||||
while (<FI>) {
|
||||
chomp;
|
||||
($old, $new) = split (/\|/);
|
||||
$channel{$old} = $new;
|
||||
}
|
||||
close (FI);
|
||||
}
|
||||
|
||||
sub print_VDR() {
|
||||
my ($channel, $title, $time);
|
||||
foreach $channel (sort keys %Entry) {
|
||||
print "C 1 $channel\n";
|
||||
foreach $time (sort keys %{%Entry->{$channel}}) {
|
||||
if ($Entry{$channel}{$time}{duration}) {
|
||||
print "E 1 $time $Entry{$channel}{$time}{duration}\n";
|
||||
print "K $Entry{$channel}{$time}{category}\n" if ($Entry{$channel}{$time}{category});
|
||||
print "T $Entry{$channel}{$time}{title}\n";
|
||||
print "S $Entry{$channel}{$time}{subtitle}\n" if ($Entry{$channel}{$time}{subtitle});
|
||||
print "D $Entry{$channel}{$time}{description}\n" if ($Entry{$channel}{$time}{description});
|
||||
print "e\n";
|
||||
}
|
||||
}
|
||||
print "c\n";
|
||||
}
|
||||
}
|
61
Tools/master-timer/convert-oldtorecord.pl
Executable file
61
Tools/master-timer/convert-oldtorecord.pl
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
while (<>)
|
||||
{
|
||||
chomp;
|
||||
if ($_ && !(/^\#/))
|
||||
{
|
||||
($title, $subtitle, $description, $channel, $timeframe, $prio, $timer_title, $margin, $machine) = split (/\|/,$_);
|
||||
|
||||
if ($timer_title) {
|
||||
print "[$timer_title]\n";
|
||||
} elsif ($title) {
|
||||
print "[$title]\n";
|
||||
} elsif ($subtitle) {
|
||||
print "[$subtitle]\n";
|
||||
} elsif ($description) {
|
||||
print "[$description]\n";
|
||||
} else {
|
||||
die ("Illegal Format");
|
||||
}
|
||||
|
||||
# Accept torecord only if it is for the current machine
|
||||
if ($title)
|
||||
{
|
||||
print "Title = $title\n";
|
||||
}
|
||||
if ($subtitle)
|
||||
{
|
||||
print "Subtitle = $subtitle\n";
|
||||
}
|
||||
if ($description)
|
||||
{
|
||||
print "Description = $description\n";
|
||||
}
|
||||
if ($channel)
|
||||
{
|
||||
print "Channel = $channel\n";
|
||||
}
|
||||
if ($timeframe)
|
||||
{
|
||||
print "Timeframe = $timeframe\n";
|
||||
}
|
||||
if ($prio)
|
||||
{
|
||||
print "Prio = $prio\n";
|
||||
}
|
||||
if ($timer_title)
|
||||
{
|
||||
print "Timertitle = $timer_title\n";
|
||||
}
|
||||
if ($margin)
|
||||
{
|
||||
print "Margin = $margin\n";
|
||||
}
|
||||
if ($machine)
|
||||
{
|
||||
print "Instance = $machine\n";
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,4 @@
|
||||
3
|
||||
4
|
||||
5
|
||||
13
|
||||
18
|
||||
21
|
||||
49
|
||||
|
@@ -1,14 +1,32 @@
|
||||
# How Many Seconds "too early" should the timer begin
|
||||
# Master-Timer config file. Values shown here are defaults.
|
||||
|
||||
# How many seconds "too early" should the timer begin
|
||||
marginstart = 600
|
||||
# How Many Seocnds "too long" should the timer end
|
||||
|
||||
# How many seconds "too long" should the timer end
|
||||
marginstop = 600
|
||||
# When the Prio isn't provied in the config-File use this value
|
||||
|
||||
# When the Prio isn't provided in the config file use this value
|
||||
defaultprio = 50
|
||||
# How many DVB-Cards are installed in the Computer (Not used yet)
|
||||
DVBCards = 3
|
||||
# IP/Hostname:Port of the Destinations (Space is used for delimiter)
|
||||
Dest-Host = localhost:2001
|
||||
# Should Timers on the same channels be joined when they overlapp (0 = off)
|
||||
jointimers = 1
|
||||
# Debug-Level
|
||||
|
||||
# How many DVB cards are installed in the computer (not used yet)
|
||||
DVBCards = 1
|
||||
|
||||
# IP/Hostname:Port of the destination (space is used for delimiter)
|
||||
Dest = localhost:2001
|
||||
|
||||
# Should timers on the same channels be joined when they overlap (0 = off)
|
||||
jointimers = 0
|
||||
|
||||
# Should the description be transfered to VDR?
|
||||
description = 0
|
||||
|
||||
# Debug level
|
||||
# 1 : Dump "torecord"
|
||||
# 2 : Dump all timers
|
||||
# 4 : Show when a timer will be deleted
|
||||
# 8 : Dump the "Done" REs
|
||||
# 16 : Verbose config reading
|
||||
# 32 : Dump program variables
|
||||
# 64 : Excessive deepblack/torecord debuging
|
||||
debug = 0
|
||||
|
26
Tools/master-timer/sample/convert-channel-list
Normal file
26
Tools/master-timer/sample/convert-channel-list
Normal file
@@ -0,0 +1,26 @@
|
||||
Kabel 1|Kabel 1
|
||||
MTV|MTV Central
|
||||
PRW 13TH Street|13th Street
|
||||
PRW Discovery Channel|Discovery Channel
|
||||
PRW Disney Channel|Disney Channel
|
||||
PRW FOX KIDS|Fox Kids
|
||||
PRW Junior|Junior
|
||||
PRW K-Toon|K-Toon
|
||||
PRW Krimi & Co|Krimi &Co
|
||||
PRW Planet|Planet
|
||||
PRW Sci-Fantasy|Premiere Sci-Fi
|
||||
PRW Studio Universal|Studio Universal
|
||||
PRW Sunset|Sunset
|
||||
Premiere Action|Premiere Action
|
||||
Premiere Comedy|Premiere Comedy
|
||||
Premiere STAR|Premiere Star
|
||||
Premiere World 1|Premiere 1
|
||||
Premiere World 2|Premiere 2
|
||||
Premiere World 3|premiere 3
|
||||
Pro Sieben|Pro-7
|
||||
RTL|RTL
|
||||
RTL 2|RTL2
|
||||
Sat.1|Sat.1
|
||||
Super RTL|Super RTL
|
||||
Viva|VIVA
|
||||
Vox|VOX
|
@@ -1,79 +1,172 @@
|
||||
F<EFBFBD>r alle F<>lle Stefanie
|
||||
'MAX' - Das ganze Leben!
|
||||
10 vor 11
|
||||
17:30 live
|
||||
18:30
|
||||
24 Stunden
|
||||
Andreas T<>rck
|
||||
Arabella
|
||||
^BIZZ$
|
||||
Big Brother
|
||||
Britt - Der Talk um Eins
|
||||
B<EFBFBD>rbel Sch<63>fer
|
||||
Call TV
|
||||
Chicago Hope - Endstation Hoffnung
|
||||
Chicago Hope
|
||||
DIE REDAKTION
|
||||
Dauerwerbesendungen
|
||||
Die Harald Schmidt Show
|
||||
Die Oliver Geissen Show
|
||||
Die Quiz Show
|
||||
Doppelter Einsatz
|
||||
Dr. Stefan Frank - Der Arzt, dem die Frauen vertrauen
|
||||
EXCLUSIV
|
||||
EXTRA
|
||||
Ehekriege
|
||||
Ein Bayer auf R<>gen
|
||||
Emergency Room
|
||||
Explosiv - Das Magazin
|
||||
GIRLSCAMP
|
||||
Gl<EFBFBD>cksrad
|
||||
Gute Zeiten, schlechte Zeiten
|
||||
Hallo, Onkel Doc!
|
||||
Hans Meiser
|
||||
Hercules
|
||||
Hinter Gittern - Der Frauenknast
|
||||
Infomercials
|
||||
Jeder gegen Jeden
|
||||
K1 DIE REPORTAGE
|
||||
K1 Das Magazin
|
||||
K1 Nachrichten
|
||||
Kickers
|
||||
Kochduell
|
||||
Nachrichten
|
||||
Nicole - Entscheidung am Nachmittag
|
||||
OP ruft Dr. Bruckner
|
||||
PREMIERE WORLD - Das Programm
|
||||
PROSIEBEN REPORTAGE
|
||||
Peter Imhof
|
||||
Programm ab
|
||||
Programm von
|
||||
Punkt 12
|
||||
Punkt 6
|
||||
Punkt 9
|
||||
RTL II News
|
||||
RTL SHOP
|
||||
RTL aktuell
|
||||
RTL-Nachtjournal
|
||||
SAT.1-FR<46>HST<53>CKSFERNSEHEN
|
||||
Spiegel TV-Reportage
|
||||
UEFA Champions
|
||||
fussball
|
||||
f<EFBFBD>ball
|
||||
Vera am Mittag
|
||||
Wolffs Revier
|
||||
Zapping
|
||||
alphateam
|
||||
peep!
|
||||
s.a.m.
|
||||
taff.
|
||||
^blitz$
|
||||
SK K<>lsch
|
||||
^Becker$
|
||||
Kommissar Rex
|
||||
Fit For Fun TV
|
||||
Nur die Liebe z<>hlt
|
||||
Unsere kleine Farm
|
||||
Die Waltons
|
||||
^Die Zwei$
|
||||
^Sieben$
|
||||
# [<Anytext>]
|
||||
# This marks the beginning of a deepblack-entry
|
||||
# Title = <text>
|
||||
# This matches a title
|
||||
# Subtitle = <text>
|
||||
# This matches a subtitle
|
||||
# Description = <text>
|
||||
# This matches a description
|
||||
# Category = <left>/<right>
|
||||
# This matches a DTV-Category
|
||||
# Channel = <Channel>
|
||||
# Restricts a deepblack-entry to a specific channel.
|
||||
# A single "!" at start of channel list negates the selection.
|
||||
# Timeframe = <begin>-<end>
|
||||
# Restricts a deepblack-entry to a specific timeframe.
|
||||
# No timers with start time in the timeframe will be programmed.
|
||||
# minlength = <Number>
|
||||
# Restricts a deepblack-entry to a specific minimum length
|
||||
# (postfix "m" for minutes, "h" for hours.)
|
||||
# maxlength = <Number>
|
||||
# Restricts a deepblack-entry to a specific maximum length
|
||||
# (postfix "m" for minutes, "h" for hours.)
|
||||
# weekday = MTWTFSS
|
||||
# Restricts a deepblack-entry to a specific weekday
|
||||
# instance = <Number>
|
||||
# Only apply this deepblack-entry for a specific Instance
|
||||
# "s" is a special value used for "-s"-Mode
|
||||
#
|
||||
# The "Title", "Subtitle", "Description", "Channel"-Lines can be
|
||||
# supplied any number of times for a specific entry
|
||||
#
|
||||
# To deepblack something at least one of the "Title", "Subtitle" or
|
||||
# "Description" (If you don't have anything "better" use "Title = ."
|
||||
# for this matches everything) fields has to be provided.
|
||||
# These three fields are "include" and the rest are "exclude" fields.
|
||||
|
||||
[Blacklist all Talkshows]
|
||||
Title = .
|
||||
Category = Talk
|
||||
|
||||
[Blacklist all Lifestyles]
|
||||
Title = .
|
||||
Category = /Lifestyles
|
||||
|
||||
[Blacklist Sport/Tennis]
|
||||
Title = .
|
||||
Category = Sport/Tennis
|
||||
|
||||
[Record only ZDF and Pro7]
|
||||
Title = .
|
||||
Channel = !ZDF
|
||||
Channel = ProSieben
|
||||
|
||||
[Blacklist a timeframe]
|
||||
Title = .
|
||||
Timeframe = 1000-1400
|
||||
|
||||
[Blacklist everything with less than 5 minutes duration]
|
||||
Title = .
|
||||
maxlength = 5m
|
||||
|
||||
[Sinnlose Serien]
|
||||
Title = F<>r alle F<>lle Stefanie
|
||||
Title = Chicago Hope - Endstation Hoffnung
|
||||
Title = Chicago Hope
|
||||
Title = Doppelter Einsatz
|
||||
Title = Dr. Stefan Frank - Der Arzt, dem die Frauen vertrauen
|
||||
Title = Ehekriege
|
||||
Title = Ein Bayer auf R<>gen
|
||||
Title = Emergency Room
|
||||
Title = Gute Zeiten, schlechte Zeiten
|
||||
Title = Hallo, Onkel Doc!
|
||||
Title = Hercules
|
||||
Title = Hinter Gittern - Der Frauenknast
|
||||
Title = OP ruft Dr. Bruckner
|
||||
Title = Wolffs Revier
|
||||
Title = alphateam
|
||||
Title = SK K<>lsch
|
||||
Title = ^Becker$
|
||||
Title = Kommissar Rex
|
||||
Title = Nur die Liebe z<>hlt
|
||||
Title = Unsere kleine Farm
|
||||
Title = Die Waltons
|
||||
Title = ^Die Zwei$
|
||||
|
||||
[Glueckspiele]
|
||||
Title = Die Quiz Show
|
||||
Title = Gl<47>cksrad
|
||||
Title = Jeder gegen Jeden
|
||||
Title = Kochduell
|
||||
|
||||
[Infotainment und Boulevardzeug]
|
||||
Title = 'MAX' - Das ganze Leben!
|
||||
Title = ^BIZZ$
|
||||
Title = Big Brother
|
||||
Title = GIRLSCAMP
|
||||
Title = Call TV
|
||||
Title = DIE REDAKTION
|
||||
Title = EXCLUSIV
|
||||
Title = EXTRA
|
||||
Title = Explosiv - Das Magazin
|
||||
Title = K1 DIE REPORTAGE
|
||||
Title = K1 Das Magazin
|
||||
Title = PROSIEBEN REPORTAGE
|
||||
Title = Fit For Fun TV
|
||||
Title = peep!
|
||||
Title = s.a.m.
|
||||
Title = taff.
|
||||
Title = ^blitz$
|
||||
Title = Die Harald Schmidt Show
|
||||
Title = Spiegel TV-Reportage
|
||||
|
||||
[Nachrichten]
|
||||
Title = 10 vor 11
|
||||
Title = 17:30 live
|
||||
Title = 18:30
|
||||
Title = 24 Stunden
|
||||
Title = Punkt 12
|
||||
Title = Punkt 6
|
||||
Title = Punkt 9
|
||||
Title = RTL II News
|
||||
Title = RTL aktuell
|
||||
Title = RTL-Nachtjournal
|
||||
Title = K1 Nachrichten
|
||||
Title = Nachrichten
|
||||
|
||||
[Talkshows]
|
||||
Title = Andreas T<>rck
|
||||
Title = Arabella
|
||||
Title = Britt - Der Talk um Eins
|
||||
Title = B<>rbel Sch<63>fer
|
||||
Title = Die Oliver Geissen Show
|
||||
Title = Peter Imhof
|
||||
Title = Vera am Mittag
|
||||
Title = Hans Meiser
|
||||
Title = Nicole - Entscheidung am Nachmittag
|
||||
Title = Franklin
|
||||
|
||||
[So richtig Sinnloses]
|
||||
Title = Dauerwerbesendungen
|
||||
Title = Infomercials
|
||||
Title = Kickers
|
||||
Title = RTL SHOP
|
||||
Title = SAT.1-FR<46>HST<53>CKSFERNSEHEN
|
||||
Title = Zapping
|
||||
|
||||
[PREMIERE WORLD - Das Programm]
|
||||
Title = PREMIERE WORLD - Das Programm
|
||||
Title = Programm ab
|
||||
Title = Programm von
|
||||
|
||||
[Fussball]
|
||||
Title = fussball
|
||||
Title = fu<66>ball
|
||||
Title = UEFA Champions
|
||||
|
||||
#Sonstiges
|
||||
[^Sieben$]
|
||||
Title = ^Sieben$
|
||||
|
||||
[Starportr<74>t Kevin Spacey]
|
||||
Title = Starportr<74>t Kevin Spacey
|
||||
|
||||
|
||||
[All Movies for -s]
|
||||
Subtitle = MOVIE
|
||||
Instance = s
|
||||
|
||||
[All >= 65m for -s]
|
||||
Title = .
|
||||
minlength = 65m
|
||||
Instance = s
|
||||
|
@@ -3,6 +3,7 @@
|
||||
^Actionkom<6F>die$
|
||||
^Actionthriller$
|
||||
^Agentenfilm$
|
||||
^Beziehungskom<6F>die$
|
||||
^Biografie$
|
||||
^Biographie$
|
||||
^Computeranimation$
|
||||
@@ -12,19 +13,24 @@
|
||||
^Familiendrama$
|
||||
^Fantasy$
|
||||
^Fantasykom<6F>die$
|
||||
^Fantasy-Kom<6F>die$
|
||||
^Gangsterfilm$
|
||||
^Gerichtsfilm$
|
||||
^Gesellschaftsdrama$
|
||||
^Historiendrama$
|
||||
^Horrorfilm$
|
||||
^Horrorkom<6F>die$
|
||||
^Jugenddrama$
|
||||
^Kinderfilm$
|
||||
^Kom<6F>die$
|
||||
^Kriegsfilm$
|
||||
^Krimikom<6F>die$
|
||||
^Kriminalfilm$
|
||||
^Liebesfilm$
|
||||
^Liebeskom<6F>die$
|
||||
^Melodram$
|
||||
^Melodrama$
|
||||
^Monumentalfilm$
|
||||
^Musical$
|
||||
^Politthriller$
|
||||
^Psychothriller$
|
||||
@@ -32,10 +38,15 @@
|
||||
^Romanze$
|
||||
^Satire$
|
||||
^Science-Fiction$
|
||||
^Science-Fiction-Kom<6F>die$
|
||||
^Spielfilm$
|
||||
^TV Movie$
|
||||
^TV-Drama$
|
||||
^Teil .$
|
||||
^Teil 0.$
|
||||
^Thriller$
|
||||
^Tragikom<6F>die$
|
||||
^Western$
|
||||
^Westernkom<6F>die$
|
||||
^Zeichentrick$
|
||||
^Zeichentrickkom<6F>die$
|
||||
|
@@ -1,32 +1,90 @@
|
||||
# Format: (Every field is "optional".
|
||||
# [Title RE|Subtitle RE|Description RE|Channel-Name|Timeframe|Prio|Timer-Title|Marginstart;Marginstop|VDR-Instance]
|
||||
# [<Anytext>]
|
||||
# This marks the beginning of a timer entry
|
||||
# Title = <text>
|
||||
# This matches a title
|
||||
# Subtitle = <text>
|
||||
# This matches a subtitle.
|
||||
# You may use the magic "MOVIE" or "!MOVIE" which matches
|
||||
# all entries from file "subtitle-movie".
|
||||
# Description = <text>
|
||||
# This matches a description
|
||||
# Category = <left>/<right>
|
||||
# This matches a DTV-Category
|
||||
# Channel = <Channel>
|
||||
# Restricts a time to a specific channel.
|
||||
# A single "!" at start of channel list negates the selection.
|
||||
# Timeframe = <begin>-<end>
|
||||
# Restricts timer to a specific timeframe.
|
||||
# Only timers with start time in the timeframe will be programmed.
|
||||
# minlength = <Number>
|
||||
# Restricts timer entry to a specific minimum length
|
||||
# (postfix "m" for minutes, "h" for hours.)
|
||||
# maxlength = <Number>
|
||||
# Restricts a timer entry to a specific maximum length
|
||||
# (postfix "m" for minutes, "h" for hours.)
|
||||
# weekday = MTWTFSS
|
||||
# Restricts a timer to a specific weekday
|
||||
# Timertitle = <text>
|
||||
# The title used for this timer.
|
||||
# If this is not provided "Title" will be used.
|
||||
# If "Title" is not provided the EPG title will be used.
|
||||
# Margin = <Number>;<Number>
|
||||
# Seconds added to the beginning and end of the timer.
|
||||
# Positive numbers will lengthen the recording.
|
||||
# instance = <Number>
|
||||
# The instance of VDR for which this timer is.
|
||||
# If this is not provided the timer is valid for ALL instances.
|
||||
#
|
||||
# To record something at least one of the "Title", "Subtitle" or "Description"
|
||||
# Fields has to be provided. This 3 fields are "include" and the rest are
|
||||
# The "Title", "Subtitle", "Description", "Channel"-Lines can be
|
||||
# supplied any number of times for a specific entry
|
||||
#
|
||||
# To record something at least one of the "Title", "Subtitle" or "Description"
|
||||
# fields has to be provided. These three fields are "include" and the rest are
|
||||
# "exclude" fields!
|
||||
#
|
||||
# More than one channel definition can be provided. The delimiter is ";"
|
||||
# Additionaly you can make a "blacklist" of Channels when you prepent a "!" to the first Channel Definition
|
||||
# The "!" is only tested for the FIRST Channel definition.
|
||||
# You can only have a white or a blacklist (Mixing doesn't make sense!)
|
||||
#
|
||||
# ex. Record the series "Deep Space Nine" on Sci-Fantasy in the timeframe 09:00 - 14:00 with 60 Seconds Marginstart and -60 Seconds Marginstop
|
||||
# Deep Space Nine|||Sci-Fantasy|0900-1400|99|DS9|60;-60
|
||||
#
|
||||
# Record all "Actionfilm"s with "Schwarzenegger"
|
||||
# |Actionfilm|Schwarzenegger
|
||||
#
|
||||
Babylon 5|||!Pro-7||99|60;-60|1
|
||||
Deep Space Nine|||||99|DS9|60;-60|2
|
||||
Seven Days|||||99|
|
||||
Stargate|||||99|
|
||||
Futurama||||2100-2300|50|
|
||||
Ally McBeal|||||99|
|
||||
Snoops|||||50|
|
||||
^Friends$|||||99|Friends|
|
||||
Pensacola|||||50|
|
||||
seaQuest|||||50|
|
||||
||Paltrow|Sci Fantasy;13th Street;Star Kino;Cine Action;Cine Comedy;Romantic Movies;Studio Universal;Premiere||99|
|
||||
||Aniston|||99|
|
||||
Matrix
|
||||
|
||||
[Dies ist ein Test-Timer]
|
||||
Title = Titel
|
||||
Subtitle = Subtitel
|
||||
Description = Description
|
||||
Category = Serie/Krimi
|
||||
Channel = Pro-7
|
||||
Channel = VIVA
|
||||
Timeframe = 1230-1830
|
||||
Prio = 50
|
||||
Lifetime = 50
|
||||
minlength = 10m
|
||||
maxlength = 3h
|
||||
weekday = ---T---
|
||||
Timertitle = Test
|
||||
Margin = 600;600
|
||||
instance = 2
|
||||
|
||||
# Record Babylon 5 only if NOT playing on Pro 7;
|
||||
# recording starts one minute too early and ends
|
||||
# one minute too early (to skip following ads).
|
||||
[Babylon 5]
|
||||
Title = Babylon 5
|
||||
Channel = !Pro-7
|
||||
Prio = 99
|
||||
Margin = 60;-60
|
||||
|
||||
[DS9]
|
||||
Title = Deep Space Nine
|
||||
Prio = 99
|
||||
Timertitle = DS9
|
||||
Margin = 60;-60
|
||||
|
||||
[Seven Days]
|
||||
Title = Seven Days
|
||||
Prio = 99
|
||||
|
||||
[Stargate]
|
||||
Title = Stargate
|
||||
Prio = 99
|
||||
|
||||
[Aniston]
|
||||
Description = Aniston
|
||||
Prio = 99
|
||||
|
||||
[Matrix]
|
||||
Title = Matrix
|
||||
|
Reference in New Issue
Block a user