diff --git a/HISTORY b/HISTORY index 469f6016..93bbcc21 100644 --- a/HISTORY +++ b/HISTORY @@ -791,3 +791,5 @@ Video Disk Recorder Revision History - Implemented a lock file to prevent more than one instance of VDR from removing files from the video directory at the same time. +- The new setup parameter SplitEditedFiles can be used to control whether or + not the result of an editing process shall be written into separate files. diff --git a/MANUAL b/MANUAL index f5eac8d1..4b4028e6 100644 --- a/MANUAL +++ b/MANUAL @@ -449,6 +449,12 @@ Video Disk Recorder User's Manual you may want to use smaller values if you are planning on archiving a recording to CD. + SplitEditedFiles = 0 During the actual editing process VDR writes the result + into files that may grow up to MaxVideoFileSize. If you + prefer to have each marked sequence stored in a separate + file (named 001.vdr, 002.vdr, ...) you can set this + option to 1. + MinEventTimeout=30 If the command line option '-s' has been set, VDR will MinUserInactivity=120 automatically shutdown the computer if the next timer event is at least MinEventTimeout minutes in the future, diff --git a/config.c b/config.c index 4df73614..0624a830 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.73 2001/09/22 13:36:59 kls Exp $ + * $Id: config.c 1.74 2001/09/30 11:28:47 kls Exp $ */ #include "config.h" @@ -803,6 +803,7 @@ cSetup::cSetup(void) OSDheight = 18; OSDMessageTime = 1; MaxVideoFileSize = MAXVIDEOFILESIZE; + SplitEditedFiles = 0; MinEventTimeout = 30; MinUserInactivity = 120; MultiSpeedMode = 0; @@ -843,6 +844,7 @@ bool cSetup::Parse(char *s) else if (!strcasecmp(Name, "OSDheight")) OSDheight = atoi(Value); else if (!strcasecmp(Name, "OSDMessageTime")) OSDMessageTime = atoi(Value); else if (!strcasecmp(Name, "MaxVideoFileSize")) MaxVideoFileSize = atoi(Value); + else if (!strcasecmp(Name, "SplitEditedFiles")) SplitEditedFiles = atoi(Value); else if (!strcasecmp(Name, "MinEventTimeout")) MinEventTimeout = atoi(Value); else if (!strcasecmp(Name, "MinUserInactivity")) MinUserInactivity = atoi(Value); else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value); @@ -918,6 +920,7 @@ bool cSetup::Save(const char *FileName) fprintf(f, "OSDheight = %d\n", OSDheight); fprintf(f, "OSDMessageTime = %d\n", OSDMessageTime); fprintf(f, "MaxVideoFileSize = %d\n", MaxVideoFileSize); + fprintf(f, "SplitEditedFiles = %d\n", SplitEditedFiles); fprintf(f, "MinEventTimeout = %d\n", MinEventTimeout); fprintf(f, "MinUserInactivity = %d\n", MinUserInactivity); fprintf(f, "MultiSpeedMode = %d\n", MultiSpeedMode); diff --git a/config.h b/config.h index 081e3374..4f002bb9 100644 --- a/config.h +++ b/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.82 2001/09/30 10:37:18 kls Exp $ + * $Id: config.h 1.83 2001/09/30 11:28:52 kls Exp $ */ #ifndef __CONFIG_H @@ -298,6 +298,7 @@ public: int OSDwidth, OSDheight; int OSDMessageTime; int MaxVideoFileSize; + int SplitEditedFiles; int MinEventTimeout, MinUserInactivity; int MultiSpeedMode; int ShowReplayMode; diff --git a/dvbapi.c b/dvbapi.c index 8a6e6915..0f114459 100644 --- a/dvbapi.c +++ b/dvbapi.c @@ -7,7 +7,7 @@ * DVD support initially written by Andreas Schultz * based on dvdplayer-0.5 by Matjaz Thaler * - * $Id: dvbapi.c 1.129 2001/09/23 13:44:27 kls Exp $ + * $Id: dvbapi.c 1.130 2001/09/30 11:28:58 kls Exp $ */ //#define DVDDEBUG 1 @@ -2392,6 +2392,12 @@ void cCuttingBuffer::Action(void) Index = Mark->position; Mark = fromMarks.Next(Mark); CurrentFileNumber = 0; // triggers SetOffset before reading next frame + if (Setup.SplitEditedFiles) { + toFile = toFileName->NextFile(); + if (toFile < 0) + break; + FileSize = 0; + } } // the 'else' case (i.e. 'final end mark reached') is handled above // in 'Write one frame', so that the edited version will end right diff --git a/i18n.c b/i18n.c index 5e440c95..926624a8 100644 --- a/i18n.c +++ b/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.43 2001/09/16 14:43:05 kls Exp $ + * $Id: i18n.c 1.44 2001/09/30 11:31:43 kls Exp $ * * Slovenian translations provided by Miha Setina * Italian translations provided by Alberto Carraro @@ -929,6 +929,15 @@ const tPhrase Phrases[] = { "", // TODO "", // TODO }, + { "SplitEditedFiles", + "Editierte Dateien zerteilen", + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + }, { "MinEventTimeout", "Mindest Event Pause", "", // TODO diff --git a/menu.c b/menu.c index 23b16e29..27aa68e3 100644 --- a/menu.c +++ b/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.127 2001/09/23 10:58:48 kls Exp $ + * $Id: menu.c 1.128 2001/09/30 11:29:13 kls Exp $ */ #include "menu.h" @@ -1724,6 +1724,7 @@ void cMenuSetup::Set(void) Add(new cMenuEditIntItem( tr("OSDheight"), &data.OSDheight, MINOSDHEIGHT, MAXOSDHEIGHT)); Add(new cMenuEditIntItem( tr("OSDMessageTime"), &data.OSDMessageTime, 1, 60)); Add(new cMenuEditIntItem( tr("MaxVideoFileSize"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE)); + Add(new cMenuEditBoolItem(tr("SplitEditedFiles"), &data.SplitEditedFiles)); Add(new cMenuEditIntItem( tr("MinEventTimeout"), &data.MinEventTimeout)); Add(new cMenuEditIntItem( tr("MinUserInactivity"), &data.MinUserInactivity)); Add(new cMenuEditBoolItem(tr("MultiSpeedMode"), &data.MultiSpeedMode));