mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
The '.update' file in the video directory is now created if it doesn't already exist
This commit is contained in:
parent
1df138d876
commit
5d539be071
3
HISTORY
3
HISTORY
@ -9952,7 +9952,7 @@ Video Disk Recorder Revision History
|
|||||||
- Added the lines from 'Fixed a timeout in cDvbDevice while tuning after the frontend
|
- Added the lines from 'Fixed a timeout in cDvbDevice while tuning after the frontend
|
||||||
has been reopened' to cDvbTuner::ProvidesFrontend() (suggested by Markus Ehrnsperger).
|
has been reopened' to cDvbTuner::ProvidesFrontend() (suggested by Markus Ehrnsperger).
|
||||||
|
|
||||||
2024-08-30:
|
2024-09-01:
|
||||||
|
|
||||||
- Removed deprecated function cDevice::SetCurrentChannel(const cChannel *Channel).
|
- Removed deprecated function cDevice::SetCurrentChannel(const cChannel *Channel).
|
||||||
- Removed deprecated function cSkinDisplayMenu::SetItemEvent(const cEvent *Event, int Index,
|
- Removed deprecated function cSkinDisplayMenu::SetItemEvent(const cEvent *Event, int Index,
|
||||||
@ -9978,3 +9978,4 @@ Video Disk Recorder Revision History
|
|||||||
and select one of them.
|
and select one of them.
|
||||||
- Fixed a crash when deleting a recording that is currently being edited, and then
|
- Fixed a crash when deleting a recording that is currently being edited, and then
|
||||||
immediately deleting the edited version, too (reported by Marko Mäkelä).
|
immediately deleting the edited version, too (reported by Marko Mäkelä).
|
||||||
|
- The '.update' file in the video directory is now created if it doesn't already exist.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: recording.c 5.29 2024/08/30 20:43:26 kls Exp $
|
* $Id: recording.c 5.30 2024/09/01 20:43:40 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -1631,7 +1631,7 @@ const char *cRecordings::UpdateFileName(void)
|
|||||||
void cRecordings::TouchUpdate(void)
|
void cRecordings::TouchUpdate(void)
|
||||||
{
|
{
|
||||||
bool needsUpdate = NeedsUpdate();
|
bool needsUpdate = NeedsUpdate();
|
||||||
TouchFile(UpdateFileName());
|
TouchFile(UpdateFileName(), true);
|
||||||
if (!needsUpdate)
|
if (!needsUpdate)
|
||||||
lastUpdate = time(NULL); // make sure we don't trigger ourselves
|
lastUpdate = time(NULL); // make sure we don't trigger ourselves
|
||||||
}
|
}
|
||||||
|
14
tools.c
14
tools.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: tools.c 5.13 2024/07/15 14:42:22 kls Exp $
|
* $Id: tools.c 5.14 2024/09/01 20:43:40 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
@ -719,9 +719,17 @@ bool SpinUpDisk(const char *FileName)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TouchFile(const char *FileName)
|
void TouchFile(const char *FileName, bool Create)
|
||||||
{
|
{
|
||||||
if (utime(FileName, NULL) == -1 && errno != ENOENT)
|
if (Create && access(FileName, F_OK) != 0) { // the file does not exist
|
||||||
|
isyslog("creating file '%s'", FileName);
|
||||||
|
int f = open(FileName, O_WRONLY | O_CREAT, DEFFILEMODE);
|
||||||
|
if (f >= 0)
|
||||||
|
close(f);
|
||||||
|
else
|
||||||
|
LOG_ERROR_STR(FileName);
|
||||||
|
}
|
||||||
|
if (utime(FileName, NULL) == -1 && errno != ENOENT)
|
||||||
LOG_ERROR_STR(FileName);
|
LOG_ERROR_STR(FileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
tools.h
4
tools.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: tools.h 5.9 2024/07/15 14:42:22 kls Exp $
|
* $Id: tools.h 5.10 2024/09/01 20:43:40 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __TOOLS_H
|
#ifndef __TOOLS_H
|
||||||
@ -319,7 +319,7 @@ bool RemoveEmptyDirectories(const char *DirName, bool RemoveThis = false, const
|
|||||||
int DirSizeMB(const char *DirName); ///< returns the total size of the files in the given directory, or -1 in case of an error
|
int DirSizeMB(const char *DirName); ///< returns the total size of the files in the given directory, or -1 in case of an error
|
||||||
char *ReadLink(const char *FileName); ///< returns a new string allocated on the heap, which the caller must delete (or NULL in case of an error)
|
char *ReadLink(const char *FileName); ///< returns a new string allocated on the heap, which the caller must delete (or NULL in case of an error)
|
||||||
bool SpinUpDisk(const char *FileName);
|
bool SpinUpDisk(const char *FileName);
|
||||||
void TouchFile(const char *FileName);
|
void TouchFile(const char *FileName, bool Create = false);
|
||||||
time_t LastModifiedTime(const char *FileName);
|
time_t LastModifiedTime(const char *FileName);
|
||||||
off_t FileSize(const char *FileName); ///< returns the size of the given file, or -1 in case of an error (e.g. if the file doesn't exist)
|
off_t FileSize(const char *FileName); ///< returns the size of the given file, or -1 in case of an error (e.g. if the file doesn't exist)
|
||||||
cString WeekDayName(int WeekDay);
|
cString WeekDayName(int WeekDay);
|
||||||
|
9
vdr.1
9
vdr.1
@ -8,7 +8,7 @@
|
|||||||
.\" License as specified in the file COPYING that comes with the
|
.\" License as specified in the file COPYING that comes with the
|
||||||
.\" vdr distribution.
|
.\" vdr distribution.
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: vdr.1 5.2 2021/12/27 13:31:04 kls Exp $
|
.\" $Id: vdr.1 5.3 2024/09/01 20:43:40 kls Exp $
|
||||||
.\"
|
.\"
|
||||||
.TH vdr 1 "27 Dec 2021" "2.6" "Video Disk Recorder"
|
.TH vdr 1 "27 Dec 2021" "2.6" "Video Disk Recorder"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@ -311,8 +311,11 @@ as the first character of the pattern. File names are appended to this file afte
|
|||||||
a recording has finished, and the entire file is read upon startup of VDR.
|
a recording has finished, and the entire file is read upon startup of VDR.
|
||||||
.TP
|
.TP
|
||||||
.I .update
|
.I .update
|
||||||
If this file is present in the video directory, its last modification time will
|
This file (in the video directory) will be touched whenever VDR makes changes
|
||||||
be used to trigger an update of the list of recordings in the "Recordings" menu.
|
to the content of the directory. Its last modification time will
|
||||||
|
be used to trigger an update of the list of recordings in any VDRs that use
|
||||||
|
the same video directory.
|
||||||
|
The file will be created if it doesn't already exist.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR vdr (5), svdrpsend (1)
|
.BR vdr (5), svdrpsend (1)
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
|
Loading…
x
Reference in New Issue
Block a user