Implemented a 'resume ID' which allows several users to each have their own resume.vdr files

This commit is contained in:
Klaus Schmidinger 2003-04-12 10:06:21 +02:00
parent e58802d2a0
commit 7c84508417
8 changed files with 39 additions and 7 deletions

View File

@ -49,6 +49,8 @@ Martin Hammerschmid <martin@hammerschmid.com>
for adding a missing 'public' keyword in device.h
for pointing out a bug in displaying the group separators in the channel display
for reporting a problem with a missing initialization of 'number' in cChannel
for implementing a "resume ID" which allows several users to each have their own
resume.vdr files
Bastian Guse <bastian@nocopy.de>
for writing the FORMATS entry for timers.conf

View File

@ -2017,3 +2017,6 @@ Video Disk Recorder Revision History
- Fixed handling repeat function with LIRC (thanks to Ludwig Nussel).
- Fixed handling min/max borders when entering integer values (thanks to Andy
Grobb for reporting this one).
- Implemented a "resume ID" which allows several users to each have their own
resume.vdr files (thanks to Martin Hammerschmid). This parameter can be set in
the "Setup/Replay" menu (see MANUAL for details).

6
MANUAL
View File

@ -589,6 +589,12 @@ Video Disk Recorder User's Manual
Show replay mode = no Turns displaying the current replay mode on or off.
Resume ID = 0 Defines an additional ID that can be used in a multi user
environment, so that every user has his/her own resume
files for each recording. The valid range is 0...99, with
0 resulting in a file named 'resume.vdr', and any other
value resulting in 'resume.n.vdr'.
Miscellaneous:
Min. event timeout = 30

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.c 1.112 2002/11/02 13:13:49 kls Exp $
* $Id: config.c 1.113 2003/04/12 09:37:48 kls Exp $
*/
#include "config.h"
@ -280,6 +280,7 @@ cSetup::cSetup(void)
MinUserInactivity = 120;
MultiSpeedMode = 0;
ShowReplayMode = 0;
ResumeID = 0;
memset(CaCaps, sizeof(CaCaps), 0);
CurrentChannel = -1;
CurrentVolume = MAXVOLUME;
@ -428,6 +429,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "MinUserInactivity")) MinUserInactivity = atoi(Value);
else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value);
else if (!strcasecmp(Name, "ShowReplayMode")) ShowReplayMode = atoi(Value);
else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value);
else if (!strcasecmp(Name, "CaCaps")) return ParseCaCaps(Value);
else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
@ -474,6 +476,7 @@ bool cSetup::Save(void)
Store("MinUserInactivity", MinUserInactivity);
Store("MultiSpeedMode", MultiSpeedMode);
Store("ShowReplayMode", ShowReplayMode);
Store("ResumeID", ResumeID);
StoreCaCaps("CaCaps");
Store("CurrentChannel", CurrentChannel);
Store("CurrentVolume", CurrentVolume);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 1.151 2003/03/23 14:42:35 kls Exp $
* $Id: config.h 1.152 2003/04/12 09:35:50 kls Exp $
*/
#ifndef __CONFIG_H
@ -229,6 +229,7 @@ public:
int MinEventTimeout, MinUserInactivity;
int MultiSpeedMode;
int ShowReplayMode;
int ResumeID;
int CaCaps[MAXDEVICES][MAXCACAPS];
int CurrentChannel;
int CurrentVolume;

18
i18n.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: i18n.c 1.104 2003/03/30 10:04:56 kls Exp $
* $Id: i18n.c 1.105 2003/04/12 09:39:35 kls Exp $
*
* Translations provided by:
*
@ -2382,6 +2382,22 @@ const tI18nPhrase Phrases[] = {
"Afiseaza modul de redare",
"Lejátszás feltüntetése",
},
{ "Setup.Replay$Resume ID",
"Wiedergabe ID",
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
"Resume ID",// TODO
},
{ "Setup.Miscellaneous$Min. event timeout (min)",
"Mindest Event Pause (min)",
"Najmanjsi cas dogodka (min)",

3
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 1.234 2003/02/09 12:55:38 kls Exp $
* $Id: menu.c 1.235 2003/04/12 09:40:48 kls Exp $
*/
#include "menu.h"
@ -2208,6 +2208,7 @@ cMenuSetupReplay::cMenuSetupReplay(void)
SetSection(tr("Replay"));
Add(new cMenuEditBoolItem(tr("Setup.Replay$Multi speed mode"), &data.MultiSpeedMode));
Add(new cMenuEditBoolItem(tr("Setup.Replay$Show replay mode"), &data.ShowReplayMode));
Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99));
}
// --- cMenuSetupMisc --------------------------------------------------------

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.c 1.74 2003/03/30 13:26:20 kls Exp $
* $Id: recording.c 1.75 2003/04/12 09:51:44 kls Exp $
*/
#include "recording.h"
@ -42,7 +42,7 @@
#define NAMEFORMAT "%s/%s/" nameFORMAT
// end of implementation for brain dead systems
#define RESUMEFILESUFFIX "/resume.vdr"
#define RESUMEFILESUFFIX "/resume%s%s.vdr"
#define SUMMARYFILESUFFIX "/summary.vdr"
#define MARKSFILESUFFIX "/marks.vdr"
@ -154,7 +154,7 @@ cResumeFile::cResumeFile(const char *FileName)
fileName = MALLOC(char, strlen(FileName) + strlen(RESUMEFILESUFFIX) + 1);
if (fileName) {
strcpy(fileName, FileName);
strcat(fileName, RESUMEFILESUFFIX);
sprintf(fileName + strlen(fileName), RESUMEFILESUFFIX, Setup.ResumeID ? "." : "", Setup.ResumeID ? itoa(Setup.ResumeID) : "");
}
else
esyslog("ERROR: can't allocate memory for resume file name");