summaryrefslogtreecommitdiff
path: root/Tools/dvbrc2vdr/dvbrc2vdr.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-01-27 18:00:00 +0100
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-01-27 18:00:00 +0100
commit27919ee969866b68fc95b327a047a9989e4b4153 (patch)
tree1857862abf169ff6e9287152cd6fec6a1d9dbc41 /Tools/dvbrc2vdr/dvbrc2vdr.c
parentb420457467ad0c8ae71f8b985914e85b7a0ff5aa (diff)
downloadvdr-patch-lnbsharing-27919ee969866b68fc95b327a047a9989e4b4153.tar.gz
vdr-patch-lnbsharing-27919ee969866b68fc95b327a047a9989e4b4153.tar.bz2
Version 0.99pre2vdr-0.99pre2
- Fixed setting the OSD size in the 'Confirm' interface call (thanks to Deti Fliegl). - Removed the 'read incomplete section...' error message in the EIT processor. - Fixed channel data for "DW TV" (thanks to Axel Gruber). - Added DPID to "PREMIERE MOVIE 1" in channels.conf.cable (thanks to Stephan Schreiber). - Prepared the OSD functions for multiple overlapping windows. - Removed the check to see whether the system time is running linearly. - Improved performance of SVDRP command entry. - Removed EPGBugfixLevel '3' - after more than a year Pro-7 finally managed to broadcast the correct timestamps for EPG events between 0:00 and 6:00! - Fixed failing watchdog timer if program hangs in OSD activities (thanks to Carsten Koch). - No longer requiring 'libncurses' if compiling without DEBUG_OSD=1 and REMOTE=KBD (thanks to Lauri Pesonen). - The "Recordings" menu now displays a hierarchical structure if there are subdirectories for the recordings. This can be controlled through the "RecordingDirs" parameter in the "Setup" menu. See "MANUAL/Replaying a Recording" for details. - Improved speed of setting the Help button texts. - Fixed handling file names that contain single quotes (') or dollar signs ($) in the call to the shutdown command (option '-s') and the recording command (option '-r'). - Improved error handling in the editing process; the resulting file will be deleted if an error occured. - A message is now prompted at the end of the editing process, indicating whether the process succeeded or failed. - Fixed setting the LastActivity timestamp after a shutdown prompt (thanks to Sergei Haller). - A message is now prompted if free disk space becomes low during recording. - The editing process now calls AssertFreeDiskSpace() to remove deleted recordings if the disk becomes full. - The "Main" menu now displays in its title the used disk space (in percent) and the estimated free disk space (in hh:mm), assuming a data rate of 30 MB per minute. - Activating the "Recordings" menu now displays "scanning recordings..." to give the user some feedback in case this takes longer. - Status messages are now displayed centered. - Removed the 'Tools' subdirectory from the VDR archive. All contributed tools can now be found at ftp://ftp.cadsoft.de/pub/people/kls/vdr/Tools.
Diffstat (limited to 'Tools/dvbrc2vdr/dvbrc2vdr.c')
-rw-r--r--Tools/dvbrc2vdr/dvbrc2vdr.c183
1 files changed, 0 insertions, 183 deletions
diff --git a/Tools/dvbrc2vdr/dvbrc2vdr.c b/Tools/dvbrc2vdr/dvbrc2vdr.c
deleted file mode 100644
index 243ddc0..0000000
--- a/Tools/dvbrc2vdr/dvbrc2vdr.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * * dvbrc2vdr.c: Converts 'xtvrc' files to 'vdr' channel format
- * *
- * * Copyright (C) 2000 Plamen Ganev
- * *
- * * This program is free software; you can redistribute it and/or
- * * modify it under the terms of the GNU General Public License
- * * as published by the Free Software Foundation; either version 2
- * * of the License, or (at your option) any later version.
- * *
- * * This program is distributed in the hope that it will be useful,
- * * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * * GNU General Public License for more details.
- * *
- * * You should have received a copy of the GNU General Public License
- * * along with this program; if not, write to the Free Software
- * * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
- * *
- * * The author can be reached at pganev@comm.it
- * *
- * */
-
-
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-
-#define MAX_LINE_LEN 1024
-#define MAX_NAME 100
-#define TOKS ": \n\r"
-#define NAMETOKS ":\n\r"
-
-typedef struct {
- char Name[MAX_NAME+1];
- int freq;
- int color, hue, bright, saturation ;
- int nitv, input ;
- int pol, srate, fec, vpid, apid, lnbnum, type;
- int sid, pcrpid ;
-} CHANNEL_DATA ;
-
-void strupr( char *s ){
- while ( s && *s ){
- *s = toupper(*s);
- s++;
- }
-}
-
-/* Warning: This function uses the last strtol string! */
-int GetTpInfo( CHANNEL_DATA *channel )
-{
- // s is: ID x SATID x TYPE x FREQ x POL H/V SRATE x FEC x
- char *p ;
-
- p = strtok( NULL, TOKS ) ; /* Skip ID */
- p = strtok( NULL, TOKS ) ; /* Skip x */
- p = strtok( NULL, TOKS ) ; /* Skip SatId */
- p = strtok( NULL, TOKS ) ; /* Skip x */
- p = strtok( NULL, TOKS ) ; /* Skip Type */
- p = strtok( NULL, TOKS ) ; /* Skip x */
- p = strtok( NULL, TOKS ) ; /* Skip Freq */
- p = strtok( NULL, TOKS ) ; /* Get Freq */
- channel->freq = atol( p ) / 1000 ;
- p = strtok( NULL, TOKS ) ; /* Skip Pol */
- p = strtok( NULL, TOKS ) ; /* Get H/V */
- channel->pol = (*p=='V') ? 1 : 0 ;
- p = strtok( NULL, TOKS ) ; /* Skip SRATE */
- p = strtok( NULL, TOKS ) ; /* Get srate */
- channel->srate = atol(p) / 1000 ; /* Convert SRATE */
- return 0;
-}
-
-/* Warning: This function uses the last strtol string! */
-int GetChInfo( CHANNEL_DATA *channel )
-{
- /* s is: ID x NAME "name" SATID x TPID x SID x TYPE x VPID x APID x */
- char *p, *q ;
-
- p = strtok( NULL, TOKS ) ;
- while ( p ) {
- if ( !strcmp( p, "ID" )) {
- p = strtok( NULL, TOKS ) ;
- } else if ( !strcmp( p, "NAME")) {
- while ( *p++ ); /* Jump to end of "NAME" */
- p++ ; /* One More */
- while ( *p == '"' ) p++ ; /* Skip the " */
- q = channel->Name ;
- while ( *p != '"' )
- if ( *p == ':' )
- *q++ = '|', p++ ;
- else
- *q++ = *p++ ; /* Copy the name */
- *q = 0 ;
- p++ ;
- p = strtok( p, TOKS ) ;
- channel->apid = 8190;
- channel->vpid = 8190;
- channel->pcrpid = 0 ;
- channel->sid = 0;
- } else if ( !strcmp( p, "VPID")) {
- p = strtok( NULL, TOKS ) ;
- channel->vpid = strtol( p, NULL, 16 ) ;
- p = strtok( NULL, TOKS ) ;
- } else if ( !strcmp( p, "APID")) {
- p = strtok( NULL, TOKS ) ;
- channel->apid = strtol( p, NULL, 16 ) ;
- p = strtok( NULL, TOKS ) ;
- } else if ( !strcmp( p, "SID")) {
- p = strtok( NULL, TOKS ) ;
- channel->sid = strtol( p, NULL, 16 ) ;
- p = strtok( NULL, TOKS ) ;
- } else if ( !strcmp( p, "PCRPID")) {
- p = strtok( NULL, TOKS ) ;
- channel->pcrpid = strtol( p, NULL, 16 ) ;
- p = strtok( NULL, TOKS ) ;
- } else {
- p = strtok( NULL, TOKS ) ;
- }
- }
- return 1;
-}
-
-int ReadChannel( FILE *f, CHANNEL_DATA *channel ) {
- static char s[MAX_LINE_LEN+1];
- char *p;
-
- while (fgets( s, MAX_LINE_LEN, f )){
- p = strtok( s, TOKS ) ;
- strupr( p ) ;
-
- if ( !strcmp( p, "TRANSPONDER" )){
- GetTpInfo( channel ) ;
- } else if ( !strcmp( p, "CHANNEL" ) ) {
- GetChInfo( channel ) ;
- return 1 ;
- }
- }
- return 0 ;
-}
-
-int main ( int argc, char *argv[] ){
- FILE *f, *fo ;
- int cnt = 0;
- CHANNEL_DATA channel ;
-
- if ( argc != 3 ){
- printf("USAGE: %s <dvbrc file> <vdr file>\n\n", argv[0] ) ;
- return 0;
- }
-
- if ( !(f=fopen(argv[1], "rt"))){
- printf("Can't open %s for reading\n\n", argv[1]);
- return 0;
- }
-
- if ( !(fo=fopen(argv[2], "wt"))){
- printf("Can't open %s for writing\n\n", argv[2]);
- return 0;
- }
-
- while ( ReadChannel( f, &channel ) ) {
- cnt++;
- fprintf(fo, "%s:%d:%c:%d:%d:%d:%d:%d:%d\n",
- channel.Name ,
- channel.freq ,
- channel.pol ? 'v' : 'h' ,
- 1, //channel.lnbnum ,
- channel.srate ,
- channel.vpid ,
- channel.apid ,
- 0, //channel.type ,
- channel.sid ) ;
- }
-
- printf( "%d channels read.\n\n", cnt ) ;
-
- fclose(f);
- fclose(fo);
- return 1;
-}