vdr/recording.h
Klaus Schmidinger 3fe3c15d5d Version 0.70
- VDR now requires driver version 0.8.1 or higher.
- Recordings are now saved in PES mode. Note that you now need to install the
  driver *WITHOUT* 'outstream=0'! This is the default when you 'make insmod' in
  the DVB/driver directory.
  Old recordings (in AV_PES mode) can still be replayed (as long as the driver
  still supports replaying AV_PES files). The only limitation with this is that
  in fast forward/back mode the picture may be slightly distorted and there may
  be sound fragments.
- The EPG data is now dumped into the file /video/epg.data every ten minutes.
  Use the Perl script 'epg2html.pl' to convert the raw EPG data into a simple
  HTML programme listing.
- Fixed handling of channel switching with the "Blue" button in the "What's on
  now/next?" menus.
- Fixed saving the MarginStop setup parameter.
- Fixed missing initialization in cConfig.
- Implemented "On Disk Editing".
- There is no more default 'timers.conf' file.
- Added Italian language texts (thanks to Alberto Carraro).
- Fixed starting a replay session when the program is currently in "transfer
  mode".
- Fixed setting/modifying timers via SVDRP with empty summary fields.
- Fixed a problem with recordings that have a single quote character in their
  name (this is now mapped to 0x01).
- Changed the value for Diseqc to '0' in the default 'channels.conf'.
- Fixed displaying channels and recording status in the RCU's LED display when
  a recording is interrupted due to higher priority.
- Implemented safe writing of config files (first writes into a temporary file
  and then renames it).
- In case the video data stream is broken the log message will come only every
  5 seconds.
- The current channel is now saved in the 'setup.conf' file when VDR is cancelled,
  and will be restored next time it is started (thanks to Deti Fliegl).
- The EIT scanning thread is now locked when switching channels to avoid problems.
- Encrypted channels can now be selected even without knowing the PNR (however, it
  is still necessary for the EPG info).
2001-01-18 18:00:00 +01:00

74 lines
1.6 KiB
C++

/*
* recording.h: Recording file handling
*
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.h 1.11 2000/12/16 14:25:20 kls Exp $
*/
#ifndef __RECORDING_H
#define __RECORDING_H
#include <time.h>
#include "config.h"
#include "tools.h"
void AssertFreeDiskSpace(void);
class cRecording : public cListObject {
friend class cRecordings;
private:
char *titleBuffer;
char *fileName;
char *name;
char *summary;
public:
time_t start;
int priority;
int lifetime;
cRecording(cTimer *Timer);
cRecording(const char *FileName);
~cRecording();
const char *FileName(void);
const char *Title(char Delimiter = ' ', bool NewIndicator = false);
const char *Summary(void) { return summary; }
bool WriteSummary(void);
bool Delete(void);
// Changes the file name so that it will no longer be visible in the "Recordings" menu
// Returns false in case of error
bool Remove(void);
// Actually removes the file from the disk
// Returns false in case of error
};
class cRecordings : public cList<cRecording> {
public:
bool Load(bool Deleted = false);
};
class cMark : public cListObject {
private:
static char *buffer;
public:
int position;
char *comment;
cMark(int Position = 0, const char *Comment = NULL);
~cMark();
const char *ToText(void);
bool Parse(const char *s);
bool Save(FILE *f);
};
class cMarks : public cConfig<cMark> {
public:
bool Load(const char *RecordingFileName);
void Sort(void);
cMark *Add(int Position);
cMark *Get(int Position);
cMark *GetPrev(int Position);
cMark *GetNext(int Position);
};
#endif //__RECORDING_H