Commit 78e3da81 authored by Klaus Schmidinger's avatar Klaus Schmidinger

Version 1.3.39

- The SVDRP command LSTT now accepts the new option 'id' to have the channels
  of the timers listed with their unique channel ids instead of their numbers
  (suggested by Matthias Schniedermeyer).
- Added a missing #include <linux/unistd.h> to thread.c (thanks to Ville Skyttä).
- Fixed the "plugins-clean" and "plugins-install" targets in the Makefile (thanks
  to Andreas Brachold).
- Fixed handling "more than 3 byte" key sequences in cKbdRemote::ReadKeySequence()
  (thanks to Peter Bieringer). If you are using the PC keyboard as remote control
  input you may need to make VDR newly learn the keys by removing the remote.conf
  file.
- To avoid problems with access rights when VDR shall run as 'root' it now skips
  all SetCaps() and SetUser() calls when it is started as 'root' and "-u root"
  is given.
- Added missing i18n entry for the "Timer" button (thanks to Ville Skyttä)
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Making the "Menu" key behave consistently has not been well received by several
  users, so the new option "Setup/OSD/Menu button closes" can be used to get the
  old behavior back (which also is the default value of this option).
- Dropped the default vdr user. The program now always runs under the user id
  it was started from, unless the '-u' option is given and it was started from
  the 'root' user. If you want to have a default vdr user, you can activate and
  adjust the "VDR_USER = vdr" line in your Make.config file (from the original
  patch by Ludwig Nussel).
- Key macros can now be defined for all non-modeless keys (suggested by Mirko Dölle).
- Adjusted the "KEY MACROS" section of vdr.5 to the new plugin calling mechanism
  introduced in version 1.3.32.
- Removed the now obsolete "ca.conf" section from vdr.1 (thanks to Ville Skyttä).
- Added missing description of L and R circular polarization to 'diseqc.conf'.
- Added a note about "modprobe capability" to INSTALL (suggested by Patrick Cernko).
- Fixed canonicalizing the file name in the SVDRP command GRAB to allow full path
  names (thanks to Stefan Huelswitt).
- Added a missing '-' to the example for viewing a grabbed image on a remote host
  (reported by Philippe Gramoullé).
- Made the "What's on now/next?" menus a lot faster by storing a pointer to each
  channel's schedule in the cChannel data.
- Made the log messages regarding lost lock of devices "info" instead of "error"
  (suggested by Andreas Brachold).
- The SVDRP command GRAB allows file names without extension again (suggested by
  Stefan Huelswitt).
- Pressing '0' in the "Schedule" menu now rotates through displaying "This event on
  this channel", "This event on all channels" and "All events on all channels".
  This can be used to find reruns of a given show, or the episodes of a series.
  Note that if there are many channels in your channels.conf, displaying the
  "All events on all channels" page may take a while.
- The status markers in the "Schedule" menu are now only updated if a submenu is
  closed in which a timer has been modified, which speeds up closing submenus.
- Now only writing Dolby Digital tracks into the 'info.vdr' file of a recording
  if Setup.UseDolbyDigital is true (suggested by André Weidemann).
- Added a leading '0' to the day in the DayDateTime() function (thanks to Rolf
  Ahrenberg).
- No longer displaying color buttons in the recording info menu if it has been
  invoked from a player (reported by Jürgen Schilling).
parent da948a50
......@@ -71,6 +71,8 @@ Matthias Schniedermeyer <ms@citd.de>
and had their start time changed into the future
for suggesting to give the timer status a bit that is set when that timer
is currently recording
for suggesting to make the SVDRP command LSTT optionally list the channels
of the timers with their unique channel ids instead of their numbers
Miha Setina <mihasetina@softhome.net>
for translating OSD texts to the Slovenian language
......@@ -209,6 +211,10 @@ Stefan Huelswitt <huels@iname.com>
live PIDs
for reporting a problem in SetProgress() of the 'skincurses' plugin in case Total
is 0
for fixing canonicalizing the file name in the SVDRP command GRAB to allow full
path names
for suggesting that the SVDRP command GRAB should allow file names without extension
again
Ulrich Röder <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than 27500
......@@ -425,6 +431,7 @@ Mirko D
for suggesting to avoid the external 'find' command to scan the video directory
for reporting a problem with inconsistent channel and timer lists
for making the "Play" key in live viewing mode resume a previous replay session
for suggesting to allow defining key macros for all non-modeless keys
Michael Rakowski <mrak@gmx.de>
for translating OSD texts to the Polish language
......@@ -853,6 +860,9 @@ Andreas Brachold <vdr04@deltab.de>
for reporting that there are empty info.vdr files created if there is no EPG
info available
for implementing the SVDRP command MOVC
for fixing the "plugins-clean" and "plugins-install" targets in the Makefile
for suggesting to make the log messages regarding lost lock of devices "info"
instead of "error"
Manuel Hartl <icecep@gmx.net>
for suggesting to extend the logging info when starting/stopping timers
......@@ -925,6 +935,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
for changing the title of the recording info menu
for reporting a bug in handling key macros with keys after @plugin
for adding compiler options "-fPIC -g" to all plugins
for adding a leading '0' to the day in the DayDateTime() function
Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark
......@@ -940,6 +951,7 @@ Peter Bieringer <pb@bieringer.de>
for suggesting to implement the command line option '--vfat'
for reporting a leftover 'summary.vdr' in vdr.5
for adding more error messages and line numbers when reading EPG data and info.vdr
for fixing handling "more than 3 byte" key sequences in cKbdRemote::ReadKeySequence()
Alexander Damhuis <ad@phonedation.de>
for reporting problems when deleting a timer that is currently recording
......@@ -1459,6 +1471,9 @@ Ville Skytt
warnings with g++ 4.1.0
for reporting warnings with g++ 4.1.0 regarding incrementing the 'state' variables
in the repacker classes in remux.c
for adding a missing #include <linux/unistd.h> to thread.c
for adding missing i18n entry for the "Timer" button
for removing the obsolete "ca.conf" section from vdr.1
Steffen Beyer <cpunk@reactor.de>
for fixing setting the colored button help after deleting a recording in case the next
......@@ -1625,3 +1640,18 @@ Marcel Schaeben <mts280@gmx.de>
Ingo Schneider <mail@ingo-schneider.de>
for adding a SleepMs() in cRecorder::Action() to avoid a busy loop
Patrick Cernko <errror@errror.org>
for suggesting to add a note about "modprobe capability" to INSTALL
Philippe Gramoullé <philippe@gramoulle.com>
for reporting a a missing '-' in the example for viewing a grabbed image on a remote
host
André Weidemann <Andre.Weidemann@web.de>
for suggesting to only write Dolby Digital tracks into the 'info.vdr' file of a
recording if Setup.UseDolbyDigital is true
Jürgen Schilling <juergen_schilling@web.de>
for reporting that color buttons were displayed in the recording info menu if it
has been invoked from a player
......@@ -4029,7 +4029,7 @@ Video Disk Recorder Revision History
name (based on a suggestion from Darren Salt).
A simple way of viewing a grabbed image on a remote host is:
svdrpsend.pl -d <hostname> 'grab -' | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode | display
svdrpsend.pl -d <hostname> 'grab -' | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode | display -
- The new command line option '-g' must be given if the SVDRP command GRAB
shall be allowed to write image files to disk. The parameter to this option
......@@ -4134,3 +4134,58 @@ Video Disk Recorder Revision History
- Added a SleepMs() in cRecorder::Action() to avoid a busy loop (thanks to Ingo
Schneider).
- Cleaned up some trailing white space.
2006-01-15: Version 1.3.39
- The SVDRP command LSTT now accepts the new option 'id' to have the channels
of the timers listed with their unique channel ids instead of their numbers
(suggested by Matthias Schniedermeyer).
- Added a missing #include <linux/unistd.h> to thread.c (thanks to Ville Skyttä).
- Fixed the "plugins-clean" and "plugins-install" targets in the Makefile (thanks
to Andreas Brachold).
- Fixed handling "more than 3 byte" key sequences in cKbdRemote::ReadKeySequence()
(thanks to Peter Bieringer). If you are using the PC keyboard as remote control
input you may need to make VDR newly learn the keys by removing the remote.conf
file.
- To avoid problems with access rights when VDR shall run as 'root' it now skips
all SetCaps() and SetUser() calls when it is started as 'root' and "-u root"
is given.
- Added missing i18n entry for the "Timer" button (thanks to Ville Skyttä)
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Making the "Menu" key behave consistently has not been well received by several
users, so the new option "Setup/OSD/Menu button closes" can be used to get the
old behavior back (which also is the default value of this option).
- Dropped the default vdr user. The program now always runs under the user id
it was started from, unless the '-u' option is given and it was started from
the 'root' user. If you want to have a default vdr user, you can activate and
adjust the "VDR_USER = vdr" line in your Make.config file (from the original
patch by Ludwig Nussel).
- Key macros can now be defined for all non-modeless keys (suggested by Mirko Dölle).
- Adjusted the "KEY MACROS" section of vdr.5 to the new plugin calling mechanism
introduced in version 1.3.32.
- Removed the now obsolete "ca.conf" section from vdr.1 (thanks to Ville Skyttä).
- Added missing description of L and R circular polarization to 'diseqc.conf'.
- Added a note about "modprobe capability" to INSTALL (suggested by Patrick Cernko).
- Fixed canonicalizing the file name in the SVDRP command GRAB to allow full path
names (thanks to Stefan Huelswitt).
- Added a missing '-' to the example for viewing a grabbed image on a remote host
(reported by Philippe Gramoullé).
- Made the "What's on now/next?" menus a lot faster by storing a pointer to each
channel's schedule in the cChannel data.
- Made the log messages regarding lost lock of devices "info" instead of "error"
(suggested by Andreas Brachold).
- The SVDRP command GRAB allows file names without extension again (suggested by
Stefan Huelswitt).
- Pressing '0' in the "Schedule" menu now rotates through displaying "This event on
this channel", "This event on all channels" and "All events on all channels".
This can be used to find reruns of a given show, or the episodes of a series.
Note that if there are many channels in your channels.conf, displaying the
"All events on all channels" page may take a while.
- The status markers in the "Schedule" menu are now only updated if a submenu is
closed in which a timer has been modified, which speeds up closing submenus.
- Now only writing Dolby Digital tracks into the 'info.vdr' file of a recording
if Setup.UseDolbyDigital is true (suggested by André Weidemann).
- Added a leading '0' to the day in the DayDateTime() function (thanks to Rolf
Ahrenberg).
- No longer displaying color buttons in the recording info menu if it has been
invoked from a player (reported by Jürgen Schilling).
......@@ -40,6 +40,12 @@ adjust the definition of DVBDIR in that file.
VDR requires the Linux-DVB driver version dated 2003-08-23 or higher
to work properly.
You will also need to install the "libjpeg" and "libcap" libraries,
as well as their "devel" packages to get the necessary header files
for compiling VDR. If the "capability" module is not compiled into
your kernel, you may need to do "modprobe capability" before running
VDR.
After extracting the package, change into the VDR directory
and type 'make'. This should produce an executable file
named 'vdr', which can be run after the DVB driver has been
......@@ -136,10 +142,10 @@ Setting the system time:
------------------------
If you want VDR to set the system time according to the data received
from the transponder, you need to start VDR as user 'root'. VDR will
then only keep the capability to set the system time, and set its
user id to a lesser privileged one ('vdr' by default, can be set
to a different value with the '-u' option).
from the transponder, you need to start VDR as user 'root'. For security
reasons you should then use the '-u' option to define a lesser privileged
user id under which VDR should actually run. It will then only keep the
capability to set the system time, and set its user id to the given one.
You also need to enable the "EPG/Set system time" option in VDR's
Setup menu, and select a transponder from which you want to receive
the time in "Use time from transponder". Make sure you select a transponder
......
......@@ -72,6 +72,7 @@ Version 1.3
Red Recordings menu
Green Schedule menu
Yellow Info
Blue Timers menu
(1) The "On/Off" button in the "Timers" menu only works if sorting the timers
......@@ -176,6 +177,12 @@ Version 1.3
whether there is currently a DVB card receiving the transponder this channel
is on).
Pressing '0' in the "Schedule" menu rotates through displaying "This event on
this channel", "This event on all channels" and "All events on all channels".
This can be used to find reruns of a given show, or the episodes of a series.
Note that if there are many channels in your channels.conf, displaying the
"All events on all channels" page may take a while.
* Selecting a Channel
There are four ways to select a channel:
......@@ -525,6 +532,13 @@ Version 1.3
(first) line of the list directly to the first (last)
one.
Menu button closes = no
If set to "yes", pressing the "Menu" button while there is
anything displayed on the OSD will close the OSD. If set
to "no", the "Menu" button will open the main menu after
closing a temporary display, like, for instance, the channel
display.
Sort timers = yes Turns sorting the timers in the "Timers" menu on/off.
Timers are sorted by ascending start times, with the
first one being the next timer that will start.
......
......@@ -6,7 +6,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: Make.config.template 1.6 2005/09/02 14:24:31 kls Exp $
# $Id: Make.config.template 1.7 2006/01/13 16:06:11 kls Exp $
### The C compiler and options:
......@@ -30,3 +30,6 @@ VIDEODIR = /video
LIRC_DEVICE = /dev/lircd
RCU_DEVICE = /dev/ttyS1
## Define if you want vdr to not run as root
#VDR_USER = vdr
......@@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: Makefile 1.81 2006/01/01 15:12:05 kls Exp $
# $Id: Makefile 1.83 2006/01/13 16:04:56 kls Exp $
.DELETE_ON_ERROR:
......@@ -77,6 +77,9 @@ endif
ifdef REMOTE
DEFINES += -DREMOTE_$(REMOTE)
endif
ifdef VDR_USER
DEFINES += -DVDR_USER=\"$(VDR_USER)\"
endif
LIRC_DEVICE ?= /dev/lircd
RCU_DEVICE ?= /dev/ttyS1
......@@ -192,7 +195,7 @@ plugins: include-dir
plugins-clean:
@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) -C "$(PLUGINDIR)/src/$$i" clean; done
@-rm -f $(PLUGINLIBDIR)/libvdr-*.so.$(VDRVERSION)
@-rm -f $(PLUGINDIR)/lib/libvdr-*.so.$(VDRVERSION)
# Install the files:
......@@ -209,8 +212,8 @@ install:
fi
plugins-install:
@mkdir -p $(BINDIR)/$(PLUGINLIBDIR)
@cp $(PLUGINLIBDIR)/* $(BINDIR)/$(PLUGINLIBDIR)
@mkdir -p $(PLUGINLIBDIR)
@cp $(PLUGINDIR)/lib/libvdr-*.so.$(VDRVERSION) $(PLUGINLIBDIR)
# Source documentation:
......
......@@ -134,3 +134,4 @@ Contact:
ARD Digital: http://www.ard-digital.de/home/index.php?id=16&languageid=1
ZDF vision: http://www.zdf.de/ZDFde/inhalt/1/0,1872,1021601,00.html (select "zdfvision")
phone: 06131/706754
......@@ -4,13 +4,14 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: channels.c 1.47 2005/12/30 15:41:24 kls Exp $
* $Id: channels.c 1.48 2006/01/14 15:51:02 kls Exp $
*/
#include "channels.h"
#include <linux/dvb/frontend.h>
#include <ctype.h>
#include "device.h"
#include "epg.h"
// IMPORTANT NOTE: in the 'sscanf()' calls there is a blank after the '%d'
// format characters in order to allow any number of blanks after a numeric
......@@ -174,6 +175,7 @@ cChannel::cChannel(void)
guard = GUARD_INTERVAL_AUTO;
hierarchy = HIERARCHY_AUTO;
modification = CHANNELMOD_NONE;
schedule = NULL;
linkChannels = NULL;
refChannel = NULL;
}
......@@ -184,6 +186,7 @@ cChannel::cChannel(const cChannel &Channel)
shortName = NULL;
provider = NULL;
portalName = NULL;
schedule = NULL;
linkChannels = NULL;
refChannel = NULL;
*this = Channel;
......@@ -293,6 +296,7 @@ bool cChannel::SetSatTransponderData(int Source, int Frequency, char Polarizatio
srate = Srate;
coderateH = CoderateH;
modulation = QPSK;
schedule = NULL;
}
return true;
}
......@@ -310,6 +314,7 @@ bool cChannel::SetCableTransponderData(int Source, int Frequency, int Modulation
modulation = Modulation;
srate = Srate;
coderateH = CoderateH;
schedule = NULL;
}
return true;
}
......@@ -331,6 +336,7 @@ bool cChannel::SetTerrTransponderData(int Source, int Frequency, int Bandwidth,
coderateL = CoderateL;
guard = Guard;
transmission = Transmission;
schedule = NULL;
}
return true;
}
......@@ -350,6 +356,7 @@ void cChannel::SetId(int Nid, int Tid, int Sid, int Rid)
rid = Rid;
if (Number())
Channels.HashChannel(this);
schedule = NULL;
}
}
......
......@@ -45,11 +45,11 @@ MDR FERNSEHEN;ARD:12109:hC34:S19.2E:27500:401:402=deu:404:0:28204:1:1073:0
rbb Berlin;ARD:12109:hC34:S19.2E:27500:601:602=deu:604:0:28206:1:1073:0
:Premiere World
PREMIERE START,START;PREMIERE:11797:hC34:S19.2E:27500:255:256=deu:32:1801,1722,1702:8:133:2:0
PREMIERE 1,PREM 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1801,1722,1702:10:133:2:0
PREMIERE 1,PREM 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu;515=deu:32:1801,1722,1702:10:133:2:0
PREMIERE 2,PREM 2;PREMIERE:11797:hC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1801,1722,1702:11:133:2:0
PREMIERE 3,PREM 3;PREMIERE:11797:hC34:S19.2E:27500:2303:2304=deu,2305=deu:32:1722,1702,1801:43:133:2:0
PREMIERE 4,PREM 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1801,1722,1702:9:133:2:0
PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1722,1702,1801:29:133:2:0
PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu:32:1722,1702,1801:29:133:2:0
PREMIERE 6,PREM 6;PREMIERE:11797:hC34:S19.2E:27500:1535:1536=deu:32:1702,1722,1801:41:133:2:0
PREMIERE 7,PREM 7;PREMIERE:11797:hC34:S19.2E:27500:1023:1024=deu:32:1801,1702,1722:20:133:2:0
DISNEY CHANNEL,DISNEY;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:32:1801,1702,1722:34:133:17:0
......@@ -57,7 +57,7 @@ DISNEY CHANNEL,DISNEY;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:32:1801,170
PREMIERE DIREKT,DIREKT;PREMIERE:12031:hC34:S19.2E:27500:2815:2816=deu,2817=deu;2819=deu:0:0:18:133:4:0
:PW Erotic
BEATE-UHSE.TV,B-UHSE;PREMIERE:11758:hC34:S19.2E:27500:1791:1792=deu:32:1722,1702,1801:21:133:17:0
EROTIK - AB 18!,AB 18!;PREMIERE:12031:hC34:S19.2E:27500:1279:1280=deu:0:1722,1801,1702,1810:513:133:4:0
EROTIK - AB 18!,AB 18!;PREMIERE:12031:hC34:S19.2E:27500:1279:1280=deu:0:1801,1702,1722,1810:513:133:4:0
:Sportsworld
PREMIERE SPORT PORTAL,SPORT PORTAL;PREMIERE:11719:hC34:S19.2E:27500:255:256=deu,257=deu:32:1722,1801,1702:17:133:3:0
PREMIERE WIN,WIN;PREMIERE:12031:hC34:S19.2E:27500:3839:3840=deu:33:0:27:133:4:0
......
......@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: channels.h 1.37 2006/01/07 13:00:43 kls Exp $
* $Id: channels.h 1.38 2006/01/14 15:51:26 kls Exp $
*/
#ifndef __CHANNELS_H
......@@ -103,7 +103,10 @@ public:
class cLinkChannels : public cList<cLinkChannel> {
};
class cSchedule;
class cChannel : public cListObject {
friend class cSchedules;
friend class cMenuEditChannel;
private:
static cString ToText(const cChannel *Channel);
......@@ -142,6 +145,7 @@ private:
int hierarchy;
int __EndData__;
int modification;
mutable const cSchedule *schedule;
cLinkChannels *linkChannels;
cChannel *refChannel;
cString ParametersToString(void) const;
......
......@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.c 1.140 2006/01/07 12:28:49 kls Exp $
* $Id: config.c 1.141 2006/01/13 15:19:37 kls Exp $
*/
#include "config.h"
......@@ -220,6 +220,7 @@ cSetup::cSetup(void)
TimeoutRequChInfo = 1;
MenuScrollPage = 1;
MenuScrollWrap = 0;
MenuButtonCloses = 0;
MarkInstantRecord = 1;
strcpy(NameInstantRecord, "TITLE EPISODE");
InstantRecordTime = 180;
......@@ -379,6 +380,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "TimeoutRequChInfo")) TimeoutRequChInfo = atoi(Value);
else if (!strcasecmp(Name, "MenuScrollPage")) MenuScrollPage = atoi(Value);
else if (!strcasecmp(Name, "MenuScrollWrap")) MenuScrollWrap = atoi(Value);
else if (!strcasecmp(Name, "MenuButtonCloses")) MenuButtonCloses = atoi(Value);
else if (!strcasecmp(Name, "MarkInstantRecord")) MarkInstantRecord = atoi(Value);
else if (!strcasecmp(Name, "NameInstantRecord")) strn0cpy(NameInstantRecord, Value, MaxFileName);
else if (!strcasecmp(Name, "InstantRecordTime")) InstantRecordTime = atoi(Value);
......@@ -445,6 +447,7 @@ bool cSetup::Save(void)
Store("TimeoutRequChInfo", TimeoutRequChInfo);
Store("MenuScrollPage", MenuScrollPage);
Store("MenuScrollWrap", MenuScrollWrap);
Store("MenuButtonCloses", MenuButtonCloses);
Store("MarkInstantRecord", MarkInstantRecord);
Store("NameInstantRecord", NameInstantRecord);
Store("InstantRecordTime", InstantRecordTime);
......
......@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 1.238 2006/01/07 12:57:42 kls Exp $
* $Id: config.h 1.240 2006/01/13 15:17:19 kls Exp $
*/
#ifndef __CONFIG_H
......@@ -19,8 +19,8 @@
#include "i18n.h"
#include "tools.h"
#define VDRVERSION "1.3.38"
#define VDRVERSNUM 10338 // Version * 10000 + Major * 100 + Minor
#define VDRVERSION "1.3.39"
#define VDRVERSNUM 10339 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
#define MAXLIFETIME 99
......@@ -193,6 +193,7 @@ public:
int TimeoutRequChInfo;
int MenuScrollPage;
int MenuScrollWrap;
int MenuButtonCloses;
int MarkInstantRecord;
char NameInstantRecord[MaxFileName];
int InstantRecordTime;
......
......@@ -8,7 +8,7 @@
# slof: switch frequency of LNB; the first entry with
# an slof greater than the actual transponder
# frequency will be used
# polarization: V = vertical, H = horizontal
# polarization: V = vertical, H = horizontal, L = Left circular, R = Right circular
# lof: the local oscillator frequency to subtract from
# the actual transponder frequency
# command:
......
......@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbdevice.c 1.149 2006/01/07 15:15:01 kls Exp $
* $Id: dvbdevice.c 1.150 2006/01/14 15:57:36 kls Exp $
*/
#include "dvbdevice.h"
......@@ -314,7 +314,7 @@ void cDvbTuner::Action(void)
tunerStatus = tsSet;
diseqcCommands = NULL;
if (time(NULL) - lastTimeoutReport > 60) { // let's not get too many of these
esyslog("ERROR: frontend %d timed out while tuning to channel %d, tp %d", cardIndex, channel.Number(), channel.Transponder());
isyslog("frontend %d timed out while tuning to channel %d, tp %d", cardIndex, channel.Number(), channel.Transponder());
lastTimeoutReport = time(NULL);
}
continue;
......@@ -323,13 +323,13 @@ void cDvbTuner::Action(void)
if (Status & FE_REINIT) {
tunerStatus = tsSet;
diseqcCommands = NULL;
esyslog("ERROR: frontend %d was reinitialized", cardIndex);
isyslog("frontend %d was reinitialized", cardIndex);
lastTimeoutReport = 0;
continue;
}
else if (Status & FE_HAS_LOCK) {
if (LostLock) {
esyslog("frontend %d regained lock on channel %d, tp %d", cardIndex, channel.Number(), channel.Transponder());
isyslog("frontend %d regained lock on channel %d, tp %d", cardIndex, channel.Number(), channel.Transponder());
LostLock = false;
}
tunerStatus = tsLocked;
......@@ -338,7 +338,7 @@ void cDvbTuner::Action(void)
}
else if (tunerStatus == tsLocked) {
LostLock = true;
esyslog("ERROR: frontend %d lost lock on channel %d, tp %d", cardIndex, channel.Number(), channel.Transponder());
isyslog("frontend %d lost lock on channel %d, tp %d", cardIndex, channel.Number(), channel.Transponder());
tunerStatus = tsTuned;
Timer.Set(lockTimeout);
lastTimeoutReport = 0;
......
......@@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
*
* $Id: eit.c 1.113 2005/12/26 11:50:09 kls Exp $
* $Id: eit.c 1.114 2006/01/14 15:41:21 kls Exp $
*/
#include "eit.h"
......@@ -35,11 +35,7 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data)
if (!channel)
return; // only collect data for known channels
cSchedule *pSchedule = (cSchedule *)Schedules->GetSchedule(channelID);
if (!pSchedule) {
pSchedule = new cSchedule(channelID);
Schedules->Add(pSchedule);
}
cSchedule *pSchedule = (cSchedule *)Schedules->GetSchedule(channel, true);
bool Empty = true;
bool Modified = false;
......
......@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
* $Id: epg.c 1.47 2005/12/30 15:41:59 kls Exp $
* $Id: epg.c 1.49 2006/01/15 13:58:30 kls Exp $
*/
#include "epg.h"
......@@ -247,6 +247,8 @@ void cEvent::Dump(FILE *f, const char *Prefix, bool InfoOnly) const
if (components) {
for (int i = 0; i < components->NumComponents(); i++) {
tComponent *p = components->Component(i);
if (!Setup.UseDolbyDigital && p->stream == 0x02 && p->type == 0x05)
continue;
fprintf(f, "%sX %s\n", Prefix, *p->ToString());
}
}
......@@ -997,3 +999,19 @@ const cSchedule *cSchedules::GetSchedule(tChannelID ChannelID) const
return NULL;
}
const cSchedule *cSchedules::GetSchedule(const cChannel *Channel, bool AddIfMissing) const
{
// This is not very beautiful, but it dramatically speeds up the
// "What's on now/next?" menus.
static cSchedule DummySchedule(tChannelID::InvalidID);
if (!Channel->schedule)
Channel->schedule = GetSchedule(Channel->GetChannelID());
if (!Channel->schedule)
Channel->schedule = &DummySchedule;
if (Channel->schedule == &DummySchedule && AddIfMissing) {
cSchedule *Schedule = new cSchedule(Channel->GetChannelID());
((cSchedules *)this)->Add(Schedule);
Channel->schedule = Schedule;
}
return Channel->schedule != &DummySchedule? Channel->schedule : NULL;
}
......@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
* $Id: epg.h 1.28 2005/12/27 14:31:24 kls Exp $
* $Id: epg.h 1.29 2006/01/14 15:45:24 kls Exp $
*/
#ifndef __EPG_H
......@@ -179,6 +179,7 @@ public:
static bool Read(FILE *f = NULL);
cSchedule *AddSchedule(tChannelID ChannelID);
const cSchedule *GetSchedule(tChannelID ChannelID) const;
const cSchedule *GetSchedule(const cChannel *Channel, bool AddIfMissing = false) const;
};
void ReportEpgBugFixStats(bool Reset = false);
......
......@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: i18n.c 1.230 2006/01/08 11:56:31 kls Exp $
* $Id: i18n.c 1.235 2006/01/15 12:22:15 kls Exp $
*
* Translations provided by:
*
......@@ -441,6 +441,69 @@ const tI18nPhrase Phrases[] = {
"Programm - %s",
"Program - %s",
},
{ "This event - %s",
"Diese Sendung - %s",
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
},
{ "This event - all channels",
"Diese Sendung - alle Kanle",
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
},
{ "All events - all channels",
"Alle Sendungen - alle Kanle",
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"",//TODO
},
{ "What's on now?",
"Was luft jetzt?",
"Kaj je na sporedu?",
......@@ -610,6 +673,27 @@ const tI18nPhrase Phrases[] = {
"Sees/Vljas",
"Til/Fra",
},
{ "Timer",
"Timer",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"Ajastin",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ "Button$Record",
"Aufnehmen",
"Posnemi",
......@@ -1200,7 +1284,7 @@ const tI18nPhrase Phrases[] = {
"Optagelse om %d minutter - sluk alligevel?",
},
{ "Press any key to cancel shutdown",
"Taste drcken um Shutdown abzubrechen",
"Taste drcken, um Shutdown abzubrechen",
"Pritisni katerikoli gumb za preklic izklopa",
"Un tasto per annullare lo spegnimento",
"Druk een toets om shutdown af te breken",
......@@ -2260,7 +2344,7 @@ const tI18nPhrase Phrases[] = {
"Espao em disco reduzido!",
"Disque presque plein!",
"Lite ledig diskplass!",
"Kovalevy lhes tynn!",
"Tallennustila loppumassa!",
"Dysk wkrotce pelny!",
"Disco casi lleno",
" !",
......@@ -2955,7 +3039,7 @@ const tI18nPhrase Phrases[] = {
"Mostrar info ao mudar de Canal",
"Affichage progr. en cours",
"Info ved kanalskifte",
"Nyt kanavatieto",
"Nyt kanavatieto vaihdettaessa",
"Informacja przy zmianie kanalu",
"Informacin para cambio de canal",
" ",
......@@ -2976,7 +3060,7 @@ const tI18nPhrase Phrases[] = {
"", // TODO
"", // TODO
"", // TODO
"", // TODO
"Sulje kanavatieto pyydettess",
"", // TODO
"", // TODO
"", // TODO
......@@ -3031,6 +3115,27 @@ const tI18nPhrase Phrases[] = {
"Ridade kerimine",
"Scroll rundt",
},
{ "Setup.OSD$Menu button closes",
"Menu-Taste schliet",
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
"",// TODO
},
{ "Setup.OSD$Sort timers",
"Timer sortieren",
"Sortiraj termine",
......@@ -4155,7 +4260,7 @@ const tI18nPhrase Phrases[] = {
"",//TODO
"",//TODO
"",//TODO
"",//TODO
" 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9",
"",//TODO
"",//TODO
"",//TODO
......@@ -5397,7 +5502,7 @@ const tI18nPhrase Phrases[] = {
"",//TODO
"",//TODO
"",//TODO
"",//TODO
"Tallennus aloitettu",
"",//TODO
"",//TODO
"",//TODO
......
This diff is collapsed.
......@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: remote.c 1.46 2006/01/01 14:21:07 kls Exp $
* $Id: remote.c 1.48 2006/01/15 15:17:40 kls Exp $
*/
#include "remote.h"
......@@ -301,12 +301,13 @@ uint64 cKbdRemote::ReadKeySequence(void)
k |= key1 & 0xFF;