diff options
author | Martin Prochnow <nordlicht@martins-kabuff.de> | 2006-03-29 18:54:49 +0200 |
---|---|---|
committer | Andreas Mair <andreas@vdr-developer.org> | 2006-03-29 18:54:49 +0200 |
commit | 0ff08f0bfb1460e0d0035081956a75b92aaa8359 (patch) | |
tree | 3a77a0dec260c32659bf7dda9e35ef04299b8d47 /tools/getlength.c | |
parent | 54d5f6870a7351584fcb1c3e861a4fc9224badf3 (diff) | |
download | vdr-plugin-extrecmenu-0ff08f0bfb1460e0d0035081956a75b92aaa8359.tar.gz vdr-plugin-extrecmenu-0ff08f0bfb1460e0d0035081956a75b92aaa8359.tar.bz2 |
Version 0.8v0.8
- added some logging
- added option to hide the "new recordings column"
- added possibility to edit lifetime and priority at the rename menu
- changed alternative new marker, it marks now the recordings that are not "rewinded", if turned of the behaviour is like that of VDR's recordings menu
- added support for a file length.vdr, containing the length of a recording as a string
- new version of 'dvdarchive.sh'; thanks to vejoun from vdr-portal.de
- added two small tools (in tools/); isodetect to check for a dvd in drive (optionally used by 'dvdarchive.sh'); getlength to create a length.vdr
- updated error messages, more detailed now
- fixed quoting of the parameters for dvdarchive.sh to avoid problems with filenames containing a '
- fixed unnecessary calls of 'dvdarchive.sh'; thanks to vejoun from vdr-portal.de for reporting
Diffstat (limited to 'tools/getlength.c')
-rw-r--r-- | tools/getlength.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tools/getlength.c b/tools/getlength.c new file mode 100644 index 0000000..946e01c --- /dev/null +++ b/tools/getlength.c @@ -0,0 +1,68 @@ +/* + * getlength - a small tool to get the length of a VDR recording by the size + * of the file index.vdr + * + * (c) by Martin Prochnow + * Distributed under the terms of the GPL v2.0 (see COPYING at the root dir of + * this archive). + * + * Compile with: gcc getlength.c -o getlength + * + * Usage: 'getlength' if index.vdr is in the current working directory or + 'getlength /PATH/TO/RECDIR/' else + */ + +#include <stdio.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <errno.h> + +int main(int argc,char **argv) +{ + char *filename; + int hasindex,length; + struct stat status; + FILE *out; + + switch(argc) + { + case 1: asprintf(&filename,"./index.vdr");break; + case 2: asprintf(&filename,"%s/index.vdr",argv[1]);break; + default: fprintf(stderr,"Usage:\ngetlength [PATH/TO/index.vdr]\n");exit(-1); + } + + hasindex=!access(filename,R_OK); + if(hasindex) + { + stat(filename,&status); + length=status.st_size/12000; // calculate length if the recording by the size of index.vdr + + free(filename); + switch(argc) + { + case 1: asprintf(&filename,"./length.vdr");break; + case 2: asprintf(&filename,"%s/length.vdr",argv[1]);break; + } + if((out=fopen(filename,"w"))!=NULL) + { + fprintf(out,"%d\n",length); + fclose(out); + } + else + { + perror("Error while open length.vdr"); + free(filename); + exit(-1); + } + } + else + { + perror("Error while accessing index.vdr"); + free(filename); + exit(-1); + } + + free(filename); + return 0; +} |