mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Version 1.3.8
- Fixed a crash when switching the skin and having selected a non-default theme that is not available for the newly selected skin (thanks to Sascha Volkenandt for reporting this one). - Fixed some issues with gcc 3.4 (thanks to Prakash K. Cheemplavam and Marcel Wiesweg). - Added a hint to PLUGINS.html about how to name a plugin that implements a skin. - Completed the Finnish OSD texts (thanks to Rolf Ahrenberg). - Single shot timers and events now show the day of week (adopted with some changes from the "elchi" patch, orginally introduced by Oskar Signell). Plugins that use cEvent::GetDateString() should note that this function now returns a longer string, including the day of week. The new function const char *WeekDayName(time_t t) can be called with a time_t value to get the day of week for that time. - When processing XPM data, the color name "None" is now mapped to #00000000, which is "fully transparent" (suggested by Sascha Volkenandt). - Fixed the OSD alignment in the SPU decoder (thanks to Miko Wohlgemuth for reporting this one and helping to test the fix). - Fixed freezing picture when a recording starts on a system that always uses 'Transfer Mode' (thanks to Michal Dobrzynski for reporting this one). - Fixed a memory leak in NIT processing (thanks to Marcel Wiesweg). - Added a few missing initializations (thanks to Marcel Wiesweg). - Moved the declaration of cMenuText to VDR/menu.h to make it available to plugins. It now also has a SetText() function that can be used to dynamically set the text in an already existing cMenuText (both suggested by Stefan Huelswitt). - Added play mode pmVideoOnly (thanks to Marcel Wiesweg). - Added a missing cStatus::MsgOsdClear() to cDisplayChannel::~cDisplayChannel() (thanks to Oliver Endriss). - No longer displaying unused color buttons in the "Classic VDR" skin (thanks to Oliver Endriss for reporting this one). - Added some missing cStatus::MsgOsdTextItem() calls (thanks to Oliver Endriss for reporting this one).
This commit is contained in:
		
							
								
								
									
										23
									
								
								CONTRIBUTORS
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								CONTRIBUTORS
									
									
									
									
									
								
							@@ -183,6 +183,8 @@ Stefan Huelswitt <huels@iname.com>
 | 
			
		||||
 for changing thread handling to make it work with NPTL ("Native Posix Thread Library")
 | 
			
		||||
 for creating mutexes with PTHREAD_MUTEX_ERRORCHECK_NP, which made the 'lockingTid'
 | 
			
		||||
 stuff obsolete
 | 
			
		||||
 for suggesting to move the declaration of cMenuText to VDR/menu.h to make it
 | 
			
		||||
 available to plugins, and to add a SetText() function
 | 
			
		||||
 | 
			
		||||
Ulrich R<>der <roeder@efr-net.de>
 | 
			
		||||
 for pointing out that there are channels that have a symbol rate higher than
 | 
			
		||||
@@ -518,6 +520,9 @@ Oliver Endriss <o.endriss@gmx.de>
 | 
			
		||||
 for suggesting to change the default "Lifetime" to 99
 | 
			
		||||
 for pointing out that the LNB power needs to be explicitly turned on at startup,
 | 
			
		||||
 because newer drivers don't do this any more
 | 
			
		||||
 for adding a missing cStatus::MsgOsdClear() to cDisplayChannel::~cDisplayChannel()
 | 
			
		||||
 for reporting that the "Classic VDR" skin wrongly displayed unused color buttons
 | 
			
		||||
 for reporting some missing cStatus::MsgOsdTextItem() calls
 | 
			
		||||
 | 
			
		||||
Reinhard Walter Buchner <rw.buchner@freenet.de>
 | 
			
		||||
 for adding some satellites to 'sources.conf'
 | 
			
		||||
@@ -670,6 +675,10 @@ Marcel Wiesweg <marcel.wiesweg@gmx.de>
 | 
			
		||||
 for fixing testing for matching section filters in case they are turned off
 | 
			
		||||
 for adding 'libsi' include files to the 'include' directory, so that plugins can
 | 
			
		||||
 use them
 | 
			
		||||
 for his help in fixing some issues with gcc 3.4
 | 
			
		||||
 for fixing a memory leak in NIT processing
 | 
			
		||||
 for adding a few missing initializations
 | 
			
		||||
 for adding play mode pmVideoOnly
 | 
			
		||||
 | 
			
		||||
Torsten Herz <torsten.herz@web.de>
 | 
			
		||||
 for fixing a possible deadlock when using the "Blue" button in the "Schedules" menu
 | 
			
		||||
@@ -695,6 +704,9 @@ Sascha Volkenandt <sascha@akv-soft.de>
 | 
			
		||||
 return from their Receive() function if the buffer runs full
 | 
			
		||||
 for reporting a crash in case there is no DVB hardware present
 | 
			
		||||
 for his support in debugging the the "Unknown picture type error"
 | 
			
		||||
 for reporting a crash when switching the skin and having selected a non-default
 | 
			
		||||
 theme that is not available for the newly selected skin
 | 
			
		||||
 for suggesting to map the color name "None" to #00000000 when processing XPM data
 | 
			
		||||
 | 
			
		||||
Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
 | 
			
		||||
 for modifying LOF handling to allow for C-band reception
 | 
			
		||||
@@ -860,6 +872,7 @@ Christoph Hermanns <christoph.hermanns@gmx.de>
 | 
			
		||||
Oskar Signell <oskar@signell.net>
 | 
			
		||||
 for pointing out a problem with setting an editing mark while in "Pause" mode,
 | 
			
		||||
 where replay was not immediately positioned to the marked frame
 | 
			
		||||
 for making single shot timers and events show the day of week
 | 
			
		||||
 | 
			
		||||
Dirk Essl <de@floydworld.de>
 | 
			
		||||
 for reporting a wrong URL to the 'Doxygen' tool in INSTALL
 | 
			
		||||
@@ -972,3 +985,13 @@ John Kennedy <rkennedy@ix.netcom.com>
 | 
			
		||||
 | 
			
		||||
Drazen Dupor <drazen.dupor@dupor.com>
 | 
			
		||||
 for translating OSD texts to the Croatian language
 | 
			
		||||
 | 
			
		||||
Prakash K. Cheemplavam <PrakashKC@gmx.de>
 | 
			
		||||
 for fixing some issues with gcc 3.4
 | 
			
		||||
 | 
			
		||||
Miko Wohlgemuth <weak@chello.at>
 | 
			
		||||
 for reporting a problem with the OSD alignment in the SPU decoder
 | 
			
		||||
 | 
			
		||||
Michal Dobrzynski <michal_dobrzynski@mac.com>
 | 
			
		||||
 for reporting a freezing picture when a recording starts on a system that always
 | 
			
		||||
 uses 'Transfer Mode'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								HISTORY
									
									
									
									
									
								
							@@ -2804,3 +2804,36 @@ Video Disk Recorder Revision History
 | 
			
		||||
  actual source (sat, cable etc.) into account. Please go into "Setup/EPG" and
 | 
			
		||||
  set the "Set system time" and "Use time from transponder" parameters accordingly
 | 
			
		||||
  (this is necessary even if you have already set them before!).
 | 
			
		||||
 | 
			
		||||
2004-05-23: Version 1.3.8
 | 
			
		||||
 | 
			
		||||
- Fixed a crash when switching the skin and having selected a non-default theme
 | 
			
		||||
  that is not available for the newly selected skin (thanks to Sascha Volkenandt
 | 
			
		||||
  for reporting this one).
 | 
			
		||||
- Fixed some issues with gcc 3.4 (thanks to Prakash K. Cheemplavam and Marcel
 | 
			
		||||
  Wiesweg).
 | 
			
		||||
- Added a hint to PLUGINS.html about how to name a plugin that implements a skin.
 | 
			
		||||
- Completed the Finnish OSD texts (thanks to Rolf Ahrenberg).
 | 
			
		||||
- Single shot timers and events now show the day of week (adopted with some changes
 | 
			
		||||
  from the "elchi" patch, orginally introduced by Oskar Signell). Plugins that use
 | 
			
		||||
  cEvent::GetDateString() should note that this function now returns a longer
 | 
			
		||||
  string, including the day of week. The new function const char *WeekDayName(time_t t)
 | 
			
		||||
  can be called with a time_t value to get the day of week for that time.
 | 
			
		||||
- When processing XPM data, the color name "None" is no mapped to #00000000, which
 | 
			
		||||
  is "fully transparent" (suggested by Sascha Volkenandt).
 | 
			
		||||
- Fixed the OSD alignment in the SPU decoder (thanks to Miko Wohlgemuth for reporting
 | 
			
		||||
  this one and helping to test the fix).
 | 
			
		||||
- Fixed freezing picture when a recording starts on a system that always uses
 | 
			
		||||
  'Transfer Mode' (thanks to Michal Dobrzynski for reporting this one).
 | 
			
		||||
- Fixed a memory leak in NIT processing (thanks to Marcel Wiesweg).
 | 
			
		||||
- Added a few missing initializations (thanks to Marcel Wiesweg).
 | 
			
		||||
- Moved the declaration of cMenuText to VDR/menu.h to make it available to plugins.
 | 
			
		||||
  It now also has a SetText() function that can be used to dynamically set the text
 | 
			
		||||
  in an already existing cMenuText (both suggested by Stefan Huelswitt).
 | 
			
		||||
- Added play mode pmVideoOnly (thanks to Marcel Wiesweg).
 | 
			
		||||
- Added a missing cStatus::MsgOsdClear() to cDisplayChannel::~cDisplayChannel()
 | 
			
		||||
  (thanks to Oliver Endriss).
 | 
			
		||||
- No longer displaying unused color buttons in the "Classic VDR" skin (thanks to
 | 
			
		||||
  Oliver Endriss for reporting this one).
 | 
			
		||||
- Added some missing cStatus::MsgOsdTextItem() calls (thanks to Oliver Endriss for
 | 
			
		||||
  reporting this one).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								PLUGINS.html
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								PLUGINS.html
									
									
									
									
									
								
							@@ -14,15 +14,18 @@ Copyright © 2004 Klaus Schmidinger<br>
 | 
			
		||||
<a href="http://www.cadsoft.de/vdr">www.cadsoft.de/vdr</a>
 | 
			
		||||
</center>
 | 
			
		||||
<p>
 | 
			
		||||
<!--X1.2.6--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%>
 | 
			
		||||
<!--X1.2.6--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%>
 | 
			
		||||
Important modifications introduced in version 1.2.6 are marked like this.
 | 
			
		||||
<!--X1.2.6--></td></tr></table>
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%>
 | 
			
		||||
Important modifications introduced in version 1.3.0 are marked like this.
 | 
			
		||||
<!--X1.3.0--></td></tr></table>
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
Important modifications introduced in version 1.3.7 are marked like this.
 | 
			
		||||
<!--X1.3.7--></td></tr></table>
 | 
			
		||||
<!--X1.3.8--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%>
 | 
			
		||||
Important modifications introduced in version 1.3.8 are marked like this.
 | 
			
		||||
<!--X1.3.8--></td></tr></table>
 | 
			
		||||
<p>
 | 
			
		||||
VDR provides an easy to use plugin interface that allows additional functionality
 | 
			
		||||
to be added to the program by implementing a dynamically loadable library file.
 | 
			
		||||
@@ -70,11 +73,11 @@ structures and allows it to hook itself into specific areas to perform special a
 | 
			
		||||
<li><a href="#Status monitor">Status monitor</a>
 | 
			
		||||
<li><a href="#Players">Players</a>
 | 
			
		||||
<li><a href="#Receivers">Receivers</a>
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%>
 | 
			
		||||
<li><a href="#Filters">Filters</a>
 | 
			
		||||
<!--X1.3.0--></td></tr></table>
 | 
			
		||||
<li><a href="#The On Screen Display">The On Screen Display</a>
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
<li><a href="#Skins">Skins</a>
 | 
			
		||||
<li><a href="#Themes">Themes</a>
 | 
			
		||||
<!--X1.3.7--></td></tr></table>
 | 
			
		||||
@@ -1214,7 +1217,7 @@ Mode</i>).
 | 
			
		||||
If the <tt>cReceiver</tt> isn't needed any more, it may simply be <i>deleted</i>
 | 
			
		||||
and will automatically detach itself from the <tt>cDevice</tt>.
 | 
			
		||||
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%>
 | 
			
		||||
<a name="Filters"><hr><h2>Filters</h2>
 | 
			
		||||
 | 
			
		||||
<center><i><b>A Fistful of Datas</b></i></center><p>
 | 
			
		||||
@@ -1260,7 +1263,7 @@ and will automatically detach itself from the <tt>cDevice</tt>.
 | 
			
		||||
See VDR/eit.c or VDR/pat.c to learn how to process filter data.
 | 
			
		||||
<!--X1.3.0--></td></tr></table>
 | 
			
		||||
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
<a name="The On Screen Display"><hr><h2>The On Screen Display</h2>
 | 
			
		||||
 | 
			
		||||
<center><i><b>Window to the world</b></i></center><p>
 | 
			
		||||
@@ -1371,6 +1374,18 @@ new cMySkin;
 | 
			
		||||
 | 
			
		||||
in the <a href="#Getting started"><tt>Start()</tt></a> function of your plugin.
 | 
			
		||||
Do not delete this object, it will be automatically deleted when the program ends.
 | 
			
		||||
<p>
 | 
			
		||||
<!--X1.3.8--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%>
 | 
			
		||||
In order to be able to easily identify plugins that implement a skin it is recommended
 | 
			
		||||
that the name of such a plugin should be
 | 
			
		||||
 | 
			
		||||
<p><table><tr><td bgcolor=#F0F0F0><pre>
 | 
			
		||||
skinxyz
 | 
			
		||||
</pre></td></tr></table><p>
 | 
			
		||||
 | 
			
		||||
where <tt>xyz</tt> is the actual name of the skin.
 | 
			
		||||
 | 
			
		||||
<!--X1.3.8--></td></tr></table>
 | 
			
		||||
 | 
			
		||||
<a name="Themes"><hr><h2>Themes</h2>
 | 
			
		||||
 | 
			
		||||
@@ -1512,7 +1527,7 @@ The functions to implement replaying capabilites are
 | 
			
		||||
virtual bool HasDecoder(void) const;
 | 
			
		||||
virtual bool CanReplay(void) const;
 | 
			
		||||
virtual bool SetPlayMode(ePlayMode PlayMode);
 | 
			
		||||
<!--X1.2.6--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%>
 | 
			
		||||
<!--X1.2.6--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%>
 | 
			
		||||
virtual int64_t GetSTC(void);
 | 
			
		||||
<!--X1.2.6--></td></tr></table>
 | 
			
		||||
virtual void TrickSpeed(int Speed);
 | 
			
		||||
@@ -1534,7 +1549,7 @@ virtual void SetVideoFormat(bool VideoFormat16_9);
 | 
			
		||||
virtual void SetVolumeDevice(int Volume);
 | 
			
		||||
</pre></td></tr></table><p>
 | 
			
		||||
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.0--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%>
 | 
			
		||||
<p>
 | 
			
		||||
<b>Section Filtering</b>
 | 
			
		||||
<p>
 | 
			
		||||
@@ -1564,7 +1579,7 @@ handle section data.
 | 
			
		||||
<p>
 | 
			
		||||
<b>On Screen Display</b>
 | 
			
		||||
<p>
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%>
 | 
			
		||||
<!--X1.3.7--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%>
 | 
			
		||||
If your device provides On Screen Display (OSD) capabilities (which every device
 | 
			
		||||
that is supposed to be used as a primary device should do), it shall implement
 | 
			
		||||
an "OSD provider" class, derived from <tt>cOsdProvider</tt>, which, when its <tt>CreateOsd()</tt>
 | 
			
		||||
 
 | 
			
		||||
@@ -47,20 +47,20 @@ rbb Berlin:12109:hC34:S19.2E:27500:601:602=deu:604:0:28206:1:1073:0
 | 
			
		||||
START,PREMIERE START:11797:hC34:S19.2E:27500:255:256=deu:32:1702,1801,1722:8:133:2:0
 | 
			
		||||
PREM 1,PREMIERE 1:11797:hC34:S19.2E:27500:511:512=deu;515=deu:32:1801,1702,1722:10:133:2:0
 | 
			
		||||
PREM 2,PREMIERE 2:11797:hC34:S19.2E:27500:1791:1792=deu;1795=deu:32:1702,1722,1801:11:133:2:0
 | 
			
		||||
PREM 3,PREMIERE 3:11797:hC34:S19.2E:27500:2303:2304=deu:32:1722,1801,1702:43:133:2:0
 | 
			
		||||
PREM 3,PREMIERE 3:11797:hC34:S19.2E:27500:2303:2304=deu,2305=deu:32:1722,1801,1702:43:133:2:0
 | 
			
		||||
PREM 4,PREMIERE 4:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1801,1722,1702:9:133:2:0
 | 
			
		||||
PREM 5,PREMIERE 5:11797:hC34:S19.2E:27500:1279:1280=deu:32:1722,1702,1801:29:133:2:0
 | 
			
		||||
PREM 5,PREMIERE 5:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1722,1702,1801:29:133:2:0
 | 
			
		||||
PREM 6,PREMIERE 6:11797:hC34:S19.2E:27500:1535:1536=deu:32:1702,1801,1722:41:133:2:0
 | 
			
		||||
PREM 7,PREMIERE 7:11797:hC34:S19.2E:27500:1023:1024=deu:32:1801,1722,1702:20:133:2:0
 | 
			
		||||
DISNEY,DISNEY CHANNEL:11758:hC34:S19.2E:27500:2559:2560=deu:0:1702,1722,1801:34:133:17:0
 | 
			
		||||
DISNEY,DISNEY CHANNEL:11758:hC34:S19.2E:27500:2559:2560=deu:0:1722,1801,1702:34:133:17:0
 | 
			
		||||
:Premiere Direkt
 | 
			
		||||
DIREKT,PREMIERE DIREKT:12031:hC34:S19.2E:27500:2815:2816=deu,2817=deu;2819=deu:0:0:18:133:4:0
 | 
			
		||||
:PW Erotic
 | 
			
		||||
B-UHSE,BEATE-UHSE.TV:12070:hC34:S19.2E:27500:1023:1024=deu:32:1702,1801,1722:21:133:1:0
 | 
			
		||||
EROTIK,PREMIERE EROTIK:12031:hC34:S19.2E:27500:1279:0:0:1722,1801,1702:513:133:4:0
 | 
			
		||||
:Sportsworld
 | 
			
		||||
SPORT 1,PREMIERE SPORT 1:11719:hC34:S19.2E:27500:255:256=deu,257=deu:0:1702,1722,1801:17:133:3:0
 | 
			
		||||
SPORT 2,PREMIERE SPORT 2:12031:hC34:S19.2E:27500:3839:3840=deu,3841=deu:0:1702,1722,1801:27:133:4:0
 | 
			
		||||
Formel 1:11719:hC34:S19.2E:27500:255:256=deu,257=deu:32:1702,1722,1801:17:133:3:0
 | 
			
		||||
SPORT 2,PREMIERE SPORT 2:12031:hC34:S19.2E:27500:3839:3840=deu,3841=deu:32:1702,1722,1801:27:133:4:0
 | 
			
		||||
:Beta Digital
 | 
			
		||||
N24:12480:vC34:S19.2E:27500:2047:2048:36:0:47:133:33:0
 | 
			
		||||
Liberty TV.com:12610:vC56:S19.2E:22000:941:943=deu:0:0:12199:1:1112:0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								config.h
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: config.h 1.193 2004/05/16 12:41:43 kls Exp $
 | 
			
		||||
 * $Id: config.h 1.195 2004/05/22 11:29:52 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __CONFIG_H
 | 
			
		||||
@@ -20,8 +20,8 @@
 | 
			
		||||
#include "i18n.h"
 | 
			
		||||
#include "tools.h"
 | 
			
		||||
 | 
			
		||||
#define VDRVERSION  "1.3.7"
 | 
			
		||||
#define VDRVERSNUM   10307  // Version * 10000 + Major * 100 + Minor
 | 
			
		||||
#define VDRVERSION  "1.3.8"
 | 
			
		||||
#define VDRVERSNUM   10308  // Version * 10000 + Major * 100 + Minor
 | 
			
		||||
 | 
			
		||||
#define MAXPRIORITY 99
 | 
			
		||||
#define MAXLIFETIME 99
 | 
			
		||||
@@ -140,7 +140,7 @@ public:
 | 
			
		||||
  bool Save(void)
 | 
			
		||||
  {
 | 
			
		||||
    bool result = true;
 | 
			
		||||
    T *l = (T *)First();
 | 
			
		||||
    T *l = (T *)this->First();
 | 
			
		||||
    cSafeFile f(fileName);
 | 
			
		||||
    if (f.Open()) {
 | 
			
		||||
       while (l) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								device.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								device.h
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: device.h 1.42 2004/04/17 10:15:25 kls Exp $
 | 
			
		||||
 * $Id: device.h 1.43 2004/05/23 10:10:08 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __DEVICE_H
 | 
			
		||||
@@ -36,6 +36,7 @@ enum ePlayMode { pmNone,           // audio/video from decoder
 | 
			
		||||
                 pmAudioVideo,     // audio/video from player
 | 
			
		||||
                 pmAudioOnly,      // audio only from player, video from decoder
 | 
			
		||||
                 pmAudioOnlyBlack, // audio only from player, no video (black screen)
 | 
			
		||||
                 pmVideoOnly,      // video only from player, audio from decoder
 | 
			
		||||
                 pmExtern_THIS_SHOULD_BE_AVOIDED
 | 
			
		||||
                 // external player (e.g. MPlayer), release the device
 | 
			
		||||
                 // WARNING: USE THIS MODE ONLY AS A LAST RESORT, IF YOU
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								dvbdevice.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								dvbdevice.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: dvbdevice.c 1.84 2004/05/01 13:15:46 kls Exp $
 | 
			
		||||
 * $Id: dvbdevice.c 1.86 2004/05/23 10:11:42 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "dvbdevice.h"
 | 
			
		||||
@@ -679,7 +679,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
 | 
			
		||||
 | 
			
		||||
  if (ProvidesSource(Channel->Source()) && ProvidesCa(Channel)) {
 | 
			
		||||
     result = hasPriority;
 | 
			
		||||
     if (Priority >= 0 && Receiving()) {
 | 
			
		||||
     if (Priority >= 0 && Receiving(true)) {
 | 
			
		||||
        if (dvbTuner->IsTunedTo(Channel)) {
 | 
			
		||||
           if (!HasPid(Channel->Vpid())) {
 | 
			
		||||
#ifdef DO_MULTIPLE_RECORDINGS
 | 
			
		||||
@@ -873,6 +873,16 @@ bool cDvbDevice::SetPlayMode(ePlayMode PlayMode)
 | 
			
		||||
         CHECK(ioctl(fd_audio, AUDIO_PLAY));
 | 
			
		||||
         CHECK(ioctl(fd_video, VIDEO_SET_BLANK, false));
 | 
			
		||||
         break;
 | 
			
		||||
    case pmVideoOnly:
 | 
			
		||||
         CHECK(ioctl(fd_video, VIDEO_SET_BLANK, true));
 | 
			
		||||
         CHECK(ioctl(fd_video, VIDEO_STOP, true));
 | 
			
		||||
         CHECK(ioctl(fd_audio, AUDIO_SELECT_SOURCE, AUDIO_SOURCE_DEMUX));
 | 
			
		||||
         CHECK(ioctl(fd_audio, AUDIO_SET_AV_SYNC, false));
 | 
			
		||||
         CHECK(ioctl(fd_audio, AUDIO_PLAY));
 | 
			
		||||
         CHECK(ioctl(fd_video, VIDEO_CLEAR_BUFFER));
 | 
			
		||||
         CHECK(ioctl(fd_video, VIDEO_SELECT_SOURCE, VIDEO_SOURCE_MEMORY));
 | 
			
		||||
         CHECK(ioctl(fd_video, VIDEO_PLAY));
 | 
			
		||||
         break;
 | 
			
		||||
    case pmExtern_THIS_SHOULD_BE_AVOIDED:
 | 
			
		||||
         close(fd_video);
 | 
			
		||||
         close(fd_audio);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								dvbspu.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								dvbspu.c
									
									
									
									
									
								
							@@ -8,7 +8,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 * parts of this file are derived from the OMS program.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: dvbspu.c 1.6 2004/04/30 13:45:02 kls Exp $
 | 
			
		||||
 * $Id: dvbspu.c 1.7 2004/05/22 14:02:32 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
@@ -321,8 +321,13 @@ int cDvbSpuDecoder::ScaleYres(int value)
 | 
			
		||||
 | 
			
		||||
void cDvbSpuDecoder::DrawBmp(sDvbSpuRect & size, cBitmap * bmp)
 | 
			
		||||
{
 | 
			
		||||
    tArea Area = { size.x1, size.y1, size.x2, size.y2, 2 };
 | 
			
		||||
    int x2 = size.x2;
 | 
			
		||||
    while ((x2 - size.x1 + 1) & 0x03)
 | 
			
		||||
          x2++;
 | 
			
		||||
    tArea Area = { size.x1, size.y1, x2, size.y2, 2 };
 | 
			
		||||
    osd->SetAreas(&Area, 1);
 | 
			
		||||
    if (x2 > size.x2)
 | 
			
		||||
       osd->DrawRectangle(size.x2 + 1, size.y1, x2, size.y2, clrTransparent);
 | 
			
		||||
    osd->DrawBitmap(size.x1, size.y1, *bmp);
 | 
			
		||||
    delete bmp;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								epg.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								epg.c
									
									
									
									
									
								
							@@ -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.18 2004/03/13 15:01:05 kls Exp $
 | 
			
		||||
 * $Id: epg.c 1.19 2004/05/22 12:37:07 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "epg.h"
 | 
			
		||||
@@ -115,9 +115,12 @@ bool cEvent::IsRunning(bool OrAboutToStart) const
 | 
			
		||||
 | 
			
		||||
const char *cEvent::GetDateString(void) const
 | 
			
		||||
{
 | 
			
		||||
  static char buf[25];
 | 
			
		||||
  static char buf[32];
 | 
			
		||||
  struct tm tm_r;
 | 
			
		||||
  strftime(buf, sizeof(buf), "%d.%m.%Y", localtime_r(&startTime, &tm_r));
 | 
			
		||||
  tm *tm = localtime_r(&startTime, &tm_r);
 | 
			
		||||
  char *p = stpcpy(buf, WeekDayName(tm->tm_wday));
 | 
			
		||||
  *p++ = ' ';
 | 
			
		||||
  strftime(p, sizeof(buf) - (p - buf), "%d.%m.%Y", tm);
 | 
			
		||||
  return buf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								i18n.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								i18n.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: i18n.c 1.155 2004/05/16 11:53:45 kls Exp $
 | 
			
		||||
 * $Id: i18n.c 1.156 2004/05/22 11:46:35 kls Exp $
 | 
			
		||||
 *
 | 
			
		||||
 * Translations provided by:
 | 
			
		||||
 *
 | 
			
		||||
@@ -2319,7 +2319,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Ulkoasu",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -2338,7 +2338,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Teema",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -2357,7 +2357,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Vaakakeskitys",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -2376,7 +2376,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Pystykeskitys",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -2452,7 +2452,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "K<EFBFBD>yt<EFBFBD> pieni<6E> kirjasimia",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -2471,7 +2471,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "ei koskaan",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -2490,7 +2490,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "ulkoasun mukaan",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -2509,7 +2509,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "aina",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -4604,7 +4604,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Klassinen VDR",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -4623,7 +4623,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "ST:TNG konsoli",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										41
									
								
								menu.c
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								menu.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: menu.c 1.300 2004/05/16 12:47:22 kls Exp $
 | 
			
		||||
 * $Id: menu.c 1.306 2004/05/23 11:21:06 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "menu.h"
 | 
			
		||||
@@ -499,25 +499,29 @@ eOSState cMenuChannels::ProcessKey(eKeys Key)
 | 
			
		||||
 | 
			
		||||
// --- cMenuText -------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
class cMenuText : public cOsdMenu {
 | 
			
		||||
private:
 | 
			
		||||
  const char *text;
 | 
			
		||||
public:
 | 
			
		||||
  cMenuText(const char *Title, const char *Text, eDvbFont Font = fontOsd);
 | 
			
		||||
  virtual void Display(void);
 | 
			
		||||
  virtual eOSState ProcessKey(eKeys Key);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
cMenuText::cMenuText(const char *Title, const char *Text, eDvbFont Font)
 | 
			
		||||
:cOsdMenu(Title)
 | 
			
		||||
{
 | 
			
		||||
  text = Text;
 | 
			
		||||
  text = NULL;
 | 
			
		||||
  SetText(Text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cMenuText::~cMenuText()
 | 
			
		||||
{
 | 
			
		||||
  free(text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cMenuText::SetText(const char *Text)
 | 
			
		||||
{
 | 
			
		||||
  free(text);
 | 
			
		||||
  text = strdup(Text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cMenuText::Display(void)
 | 
			
		||||
{
 | 
			
		||||
  cOsdMenu::Display();
 | 
			
		||||
  DisplayMenu()->SetText(text, true);//XXX define control character in text to choose the font???
 | 
			
		||||
  cStatus::MsgOsdTextItem(text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
eOSState cMenuText::ProcessKey(eKeys Key)
 | 
			
		||||
@@ -532,6 +536,7 @@ eOSState cMenuText::ProcessKey(eKeys Key)
 | 
			
		||||
    case kRight|k_Repeat:
 | 
			
		||||
    case kRight:
 | 
			
		||||
                  DisplayMenu()->Scroll(NORMALKEY(Key) == kUp || NORMALKEY(Key) == kLeft, NORMALKEY(Key) == kLeft || NORMALKEY(Key) == kRight);
 | 
			
		||||
                  cStatus::MsgOsdTextItem(NULL, NORMALKEY(Key) == kUp);
 | 
			
		||||
                  return osContinue;
 | 
			
		||||
    default: break;
 | 
			
		||||
    }
 | 
			
		||||
@@ -633,6 +638,7 @@ eOSState cMenuEditTimer::ProcessKey(eKeys Key)
 | 
			
		||||
                             }
 | 
			
		||||
                          if (addIfConfirmed)
 | 
			
		||||
                             Timers.Add(timer);
 | 
			
		||||
                          timer->Matches();
 | 
			
		||||
                          Timers.Save();
 | 
			
		||||
                          isyslog("timer %d %s (%s)", timer->Index() + 1, addIfConfirmed ? "added" : "modified", timer->HasFlags(tfActive) ? "active" : "inactive");
 | 
			
		||||
                          addIfConfirmed = false;
 | 
			
		||||
@@ -677,9 +683,11 @@ bool cMenuTimerItem::operator< (const cListObject &ListObject)
 | 
			
		||||
void cMenuTimerItem::Set(void)
 | 
			
		||||
{
 | 
			
		||||
  char *buffer = NULL;
 | 
			
		||||
  asprintf(&buffer, "%c\t%d\t%s\t%02d:%02d\t%02d:%02d\t%s",
 | 
			
		||||
  asprintf(&buffer, "%c\t%d\t%s%s%s\t%02d:%02d\t%02d:%02d\t%s",
 | 
			
		||||
                    !(timer->HasFlags(tfActive)) ? ' ' : timer->FirstDay() ? '!' : timer->Recording() ? '#' : '>',
 | 
			
		||||
                    timer->Channel()->Number(),
 | 
			
		||||
                    timer->IsSingleEvent() ? WeekDayName(timer->StartTime()) : "",
 | 
			
		||||
                    timer->IsSingleEvent() ? " " : "",
 | 
			
		||||
                    timer->PrintDay(timer->Day()),
 | 
			
		||||
                    timer->Start() / 100,
 | 
			
		||||
                    timer->Start() % 100,
 | 
			
		||||
@@ -859,6 +867,7 @@ void cMenuEvent::Display(void)
 | 
			
		||||
{
 | 
			
		||||
  cOsdMenu::Display();
 | 
			
		||||
  DisplayMenu()->SetEvent(event);
 | 
			
		||||
  cStatus::MsgOsdTextItem(event->Description());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
eOSState cMenuEvent::ProcessKey(eKeys Key)
 | 
			
		||||
@@ -873,6 +882,7 @@ eOSState cMenuEvent::ProcessKey(eKeys Key)
 | 
			
		||||
    case kRight|k_Repeat:
 | 
			
		||||
    case kRight:
 | 
			
		||||
                  DisplayMenu()->Scroll(NORMALKEY(Key) == kUp || NORMALKEY(Key) == kLeft, NORMALKEY(Key) == kLeft || NORMALKEY(Key) == kRight);
 | 
			
		||||
                  cStatus::MsgOsdTextItem(NULL, NORMALKEY(Key) == kUp);
 | 
			
		||||
                  return osContinue;
 | 
			
		||||
    default: break;
 | 
			
		||||
    }
 | 
			
		||||
@@ -908,7 +918,7 @@ cMenuWhatsOnItem::cMenuWhatsOnItem(const cEvent *Event, cChannel *Channel)
 | 
			
		||||
  char t = Timers.GetMatch(Event, &TimerMatch) ? (TimerMatch == tmFull) ? 'T' : 't' : ' ';
 | 
			
		||||
  char v = event->Vps() && (event->Vps() - event->StartTime()) ? 'V' : ' ';
 | 
			
		||||
  char r = event->IsRunning() ? '*' : ' ';
 | 
			
		||||
  asprintf(&buffer, "%d\t%.*s\t%.*s\t%c%c%c\t%s", channel->Number(), 6, channel->Name(), 5, event->GetTimeString(), t, v, r, event->Title());
 | 
			
		||||
  asprintf(&buffer, "%d\t%.*s\t%s\t%c%c%c\t%s", channel->Number(), 6, channel->Name(), event->GetTimeString(), t, v, r, event->Title());
 | 
			
		||||
  SetText(buffer, false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1026,7 +1036,7 @@ cMenuScheduleItem::cMenuScheduleItem(const cEvent *Event)
 | 
			
		||||
  char t = Timers.GetMatch(Event, &TimerMatch) ? (TimerMatch == tmFull) ? 'T' : 't' : ' ';
 | 
			
		||||
  char v = event->Vps() && (event->Vps() - event->StartTime()) ? 'V' : ' ';
 | 
			
		||||
  char r = event->IsRunning() ? '*' : ' ';
 | 
			
		||||
  asprintf(&buffer, "%.*s\t%.*s\t%c%c%c\t%s", 5, event->GetDateString(), 5, event->GetTimeString(), t, v, r, event->Title());
 | 
			
		||||
  asprintf(&buffer, "%.*s\t%s\t%c%c%c\t%s", 6, event->GetDateString(), event->GetTimeString(), t, v, r, event->Title());
 | 
			
		||||
  SetText(buffer, false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1048,7 +1058,7 @@ public:
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
cMenuSchedule::cMenuSchedule(void)
 | 
			
		||||
:cOsdMenu("", 6, 6, 4)
 | 
			
		||||
:cOsdMenu("", 7, 6, 4)
 | 
			
		||||
{
 | 
			
		||||
  now = next = false;
 | 
			
		||||
  otherChannel = 0;
 | 
			
		||||
@@ -2485,6 +2495,7 @@ cDisplayChannel::cDisplayChannel(eKeys FirstKey)
 | 
			
		||||
cDisplayChannel::~cDisplayChannel()
 | 
			
		||||
{
 | 
			
		||||
  delete displayChannel;
 | 
			
		||||
  cStatus::MsgOsdClear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cDisplayChannel::DisplayChannel(void)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								menu.h
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								menu.h
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: menu.h 1.61 2004/04/30 13:45:19 kls Exp $
 | 
			
		||||
 * $Id: menu.h 1.63 2004/05/23 09:47:26 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __MENU_H
 | 
			
		||||
@@ -19,6 +19,17 @@
 | 
			
		||||
#include "recording.h"
 | 
			
		||||
#include "skins.h"
 | 
			
		||||
 | 
			
		||||
class cMenuText : public cOsdMenu {
 | 
			
		||||
private:
 | 
			
		||||
  char *text;
 | 
			
		||||
public:
 | 
			
		||||
  cMenuText(const char *Title, const char *Text, eDvbFont Font = fontOsd);
 | 
			
		||||
  virtual ~cMenuText();
 | 
			
		||||
  void SetText(const char *Text);
 | 
			
		||||
  virtual void Display(void);
 | 
			
		||||
  virtual eOSState ProcessKey(eKeys Key);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
class cMenuMain : public cOsdMenu {
 | 
			
		||||
private:
 | 
			
		||||
  time_t lastActivity;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								nit.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								nit.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: nit.c 1.6 2004/02/13 14:41:36 kls Exp $
 | 
			
		||||
 * $Id: nit.c 1.7 2004/05/22 15:46:21 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "nit.h"
 | 
			
		||||
@@ -76,6 +76,7 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
 | 
			
		||||
                      break;
 | 
			
		||||
                 default: ;
 | 
			
		||||
                 }
 | 
			
		||||
               delete d;
 | 
			
		||||
               }
 | 
			
		||||
           nits[numNits].networkId = nit.getNetworkId();
 | 
			
		||||
           nits[numNits].hasTransponder = false;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								osd.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								osd.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: osd.c 1.46 2004/05/16 09:25:06 kls Exp $
 | 
			
		||||
 * $Id: osd.c 1.47 2004/05/22 13:47:39 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "osd.h"
 | 
			
		||||
@@ -264,6 +264,8 @@ bool cBitmap::SetXpm(char *Xpm[])
 | 
			
		||||
         return false;
 | 
			
		||||
         }
 | 
			
		||||
      s = skipspace(s + 1);
 | 
			
		||||
      if (strcasecmp(s, "none") == 0)
 | 
			
		||||
         s = "#00000000";
 | 
			
		||||
      if (*s != '#') {
 | 
			
		||||
         esyslog("ERROR: unknown color code in XPM: '%c'", *s);
 | 
			
		||||
         return false;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								pat.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								pat.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: pat.c 1.8 2004/03/07 16:59:00 kls Exp $
 | 
			
		||||
 * $Id: pat.c 1.9 2004/05/23 09:29:04 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "pat.h"
 | 
			
		||||
@@ -211,6 +211,7 @@ int cCaDescriptorHandler::AddCaDescriptors(cCaDescriptors *CaDescriptors)
 | 
			
		||||
int cCaDescriptorHandler::GetCaDescriptors(int Source, int Transponder, int ServiceId, const unsigned short *CaSystemIds, int BufSize, uchar *Data, bool &StreamFlag)
 | 
			
		||||
{
 | 
			
		||||
  cMutexLock MutexLock(&mutex);
 | 
			
		||||
  StreamFlag = false;
 | 
			
		||||
  for (cCaDescriptors *ca = First(); ca; ca = Next(ca)) {
 | 
			
		||||
      if (ca->Is(Source, Transponder, ServiceId))
 | 
			
		||||
         return ca->GetCaDescriptors(CaSystemIds, BufSize, Data, StreamFlag);
 | 
			
		||||
@@ -326,8 +327,8 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
 | 
			
		||||
        int Ppid = pmt.getPCRPid();
 | 
			
		||||
        int Apids[MAXAPIDS] = { 0 };
 | 
			
		||||
        int Dpids[MAXAPIDS] = { 0 };
 | 
			
		||||
        char ALangs[MAXAPIDS][4];
 | 
			
		||||
        char DLangs[MAXAPIDS][4];
 | 
			
		||||
        char ALangs[MAXAPIDS][4] = { "" };
 | 
			
		||||
        char DLangs[MAXAPIDS][4] = { "" };
 | 
			
		||||
        int Tpid = 0;
 | 
			
		||||
        int NumApids = 0;
 | 
			
		||||
        int NumDpids = 0;
 | 
			
		||||
@@ -343,7 +344,6 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
 | 
			
		||||
                      {
 | 
			
		||||
                      if (NumApids < MAXAPIDS) {
 | 
			
		||||
                         Apids[NumApids] = stream.getPid();
 | 
			
		||||
                         *ALangs[NumApids] = 0;
 | 
			
		||||
                         SI::Descriptor *d;
 | 
			
		||||
                         for (SI::Loop::Iterator it; (d = stream.streamDescriptors.getNext(it)); ) {
 | 
			
		||||
                             switch (d->getDescriptorTag()) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								plugin.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								plugin.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: plugin.c 1.10 2003/08/30 14:52:58 kls Exp $
 | 
			
		||||
 * $Id: plugin.c 1.11 2004/05/22 11:25:22 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "plugin.h"
 | 
			
		||||
@@ -162,7 +162,7 @@ bool cDll::Load(bool Log)
 | 
			
		||||
  const char *error = dlerror();
 | 
			
		||||
  if (!error) {
 | 
			
		||||
     void *(*creator)(void);
 | 
			
		||||
     (void *)creator = dlsym(handle, "VDRPluginCreator");
 | 
			
		||||
     creator = (void *(*)(void))dlsym(handle, "VDRPluginCreator");
 | 
			
		||||
     if (!(error = dlerror()))
 | 
			
		||||
        plugin = (cPlugin *)creator();
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: skinclassic.c 1.1 2004/05/15 14:51:18 kls Exp $
 | 
			
		||||
 * $Id: skinclassic.c 1.3 2004/05/23 10:40:02 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "skinclassic.h"
 | 
			
		||||
@@ -231,10 +231,10 @@ void cSkinClassicDisplayMenu::SetButtons(const char *Red, const char *Green, con
 | 
			
		||||
  int t2 = x0 + w / 2;
 | 
			
		||||
  int t3 = x1 - w / 4;
 | 
			
		||||
  int t4 = x1;
 | 
			
		||||
  osd->DrawText(t0, y4, Red,    Theme.Color(clrButtonRedFg),    Theme.Color(clrButtonRedBg),    font, t1 - t0, 0, taCenter);
 | 
			
		||||
  osd->DrawText(t1, y4, Green,  Theme.Color(clrButtonGreenFg),  Theme.Color(clrButtonGreenBg),  font, t2 - t1, 0, taCenter);
 | 
			
		||||
  osd->DrawText(t2, y4, Yellow, Theme.Color(clrButtonYellowFg), Theme.Color(clrButtonYellowBg), font, t3 - t2, 0, taCenter);
 | 
			
		||||
  osd->DrawText(t3, y4, Blue,   Theme.Color(clrButtonBlueFg),   Theme.Color(clrButtonBlueBg),   font, t4 - t3, 0, taCenter);
 | 
			
		||||
  osd->DrawText(t0, y4, Red,    Theme.Color(clrButtonRedFg),    Red    ? Theme.Color(clrButtonRedBg)    : Theme.Color(clrBackground), font, t1 - t0, 0, taCenter);
 | 
			
		||||
  osd->DrawText(t1, y4, Green,  Theme.Color(clrButtonGreenFg),  Green  ? Theme.Color(clrButtonGreenBg)  : Theme.Color(clrBackground), font, t2 - t1, 0, taCenter);
 | 
			
		||||
  osd->DrawText(t2, y4, Yellow, Theme.Color(clrButtonYellowFg), Yellow ? Theme.Color(clrButtonYellowBg) : Theme.Color(clrBackground), font, t3 - t2, 0, taCenter);
 | 
			
		||||
  osd->DrawText(t3, y4, Blue,   Theme.Color(clrButtonBlueFg),   Blue   ? Theme.Color(clrButtonBlueBg)   : Theme.Color(clrBackground), font, t4 - t3, 0, taCenter);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cSkinClassicDisplayMenu::SetMessage(eMessageType Type, const char *Text)
 | 
			
		||||
@@ -280,7 +280,7 @@ void cSkinClassicDisplayMenu::SetEvent(const cEvent *Event)
 | 
			
		||||
  int y = y2;
 | 
			
		||||
  cTextScroller ts;
 | 
			
		||||
  char t[32];
 | 
			
		||||
  snprintf(t, sizeof(t), "%s  %s - %s", Event->GetDateString(), Event->GetTimeString(), Event->GetEndTimeString());//TODO dayname, no year
 | 
			
		||||
  snprintf(t, sizeof(t), "%s  %s - %s", Event->GetDateString(), Event->GetTimeString(), Event->GetEndTimeString());
 | 
			
		||||
  ts.Set(osd, xl, y, x1 - xl, y3 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground));
 | 
			
		||||
  if (Event->Vps() && Event->Vps() != Event->StartTime()) {
 | 
			
		||||
     char *buffer;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								skins.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								skins.h
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: skins.h 1.1 2004/05/16 09:40:18 kls Exp $
 | 
			
		||||
 * $Id: skins.h 1.2 2004/05/16 20:16:57 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __SKINS_H
 | 
			
		||||
@@ -184,7 +184,7 @@ public:
 | 
			
		||||
       ///< indicator, showing the user whether we are currently in normal
 | 
			
		||||
       ///< play mode, fast forward etc.
 | 
			
		||||
  virtual void SetProgress(int Current, int Total) = 0;
 | 
			
		||||
       ///< This function will be called whenever the position in of the total
 | 
			
		||||
       ///< This function will be called whenever the position in or the total
 | 
			
		||||
       ///< length of the recording has changed. A cProgressBar shall then be
 | 
			
		||||
       ///< used to display a progress indicator.
 | 
			
		||||
  virtual void SetCurrent(const char *Current) = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: skinsttng.c 1.1 2004/05/16 09:27:35 kls Exp $
 | 
			
		||||
 * $Id: skinsttng.c 1.2 2004/05/22 13:05:07 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// Star Trek: The Next Generation<6F> is a registered trademark of Paramount Pictures
 | 
			
		||||
@@ -515,7 +515,7 @@ void cSkinSTTNGDisplayMenu::SetEvent(const cEvent *Event)
 | 
			
		||||
  int y = y3;
 | 
			
		||||
  cTextScroller ts;
 | 
			
		||||
  char t[32];
 | 
			
		||||
  snprintf(t, sizeof(t), "%s  %s - %s", Event->GetDateString(), Event->GetTimeString(), Event->GetEndTimeString());//TODO dayname, no year
 | 
			
		||||
  snprintf(t, sizeof(t), "%s  %s - %s", Event->GetDateString(), Event->GetTimeString(), Event->GetEndTimeString());
 | 
			
		||||
  ts.Set(osd, xl, y, x4 - xl, y4 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground));
 | 
			
		||||
  if (Event->Vps() && Event->Vps() != Event->StartTime()) {
 | 
			
		||||
     char *buffer;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								themes.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								themes.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: themes.c 1.1 2004/05/16 09:43:14 kls Exp $
 | 
			
		||||
 * $Id: themes.c 1.2 2004/05/22 10:30:06 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "themes.h"
 | 
			
		||||
@@ -274,7 +274,7 @@ int cThemes::GetThemeIndex(const char *Description)
 | 
			
		||||
      if (strcmp(descriptions[i], Description) == 0)
 | 
			
		||||
         return i;
 | 
			
		||||
      if (strcmp(descriptions[i], "Default") == 0)
 | 
			
		||||
         index = 1;
 | 
			
		||||
         index = i;
 | 
			
		||||
      }
 | 
			
		||||
  return index;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								tools.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								tools.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: tools.c 1.78 2004/01/11 15:42:30 kls Exp $
 | 
			
		||||
 * $Id: tools.c 1.79 2004/05/22 12:13:27 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "tools.h"
 | 
			
		||||
@@ -495,6 +495,12 @@ const char *WeekDayName(int WeekDay)
 | 
			
		||||
     return "???";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char *WeekDayName(time_t t)
 | 
			
		||||
{
 | 
			
		||||
  struct tm tm_r;
 | 
			
		||||
  return WeekDayName(localtime_r(&t, &tm_r)->tm_wday);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char *DayDateTime(time_t t)
 | 
			
		||||
{
 | 
			
		||||
  static char buffer[32];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								tools.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tools.h
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: tools.h 1.55 2004/01/11 15:42:15 kls Exp $
 | 
			
		||||
 * $Id: tools.h 1.56 2004/05/22 12:11:44 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __TOOLS_H
 | 
			
		||||
@@ -84,6 +84,7 @@ bool RemoveEmptyDirectories(const char *DirName, bool RemoveThis = false);
 | 
			
		||||
char *ReadLink(const char *FileName);
 | 
			
		||||
bool SpinUpDisk(const char *FileName);
 | 
			
		||||
const char *WeekDayName(int WeekDay); ///< \warning returns a statically allocated string!
 | 
			
		||||
const char *WeekDayName(time_t t); ///< \warning returns a statically allocated string!
 | 
			
		||||
const char *DayDateTime(time_t t = 0); ///< \warning returns a statically allocated string!
 | 
			
		||||
 | 
			
		||||
class cPoller {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user