diff options
Diffstat (limited to 'Tools/xtvrc2vdr/xtvrc2vdr.c')
-rw-r--r-- | Tools/xtvrc2vdr/xtvrc2vdr.c | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/Tools/xtvrc2vdr/xtvrc2vdr.c b/Tools/xtvrc2vdr/xtvrc2vdr.c deleted file mode 100644 index 772db66..0000000 --- a/Tools/xtvrc2vdr/xtvrc2vdr.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * * xtvrc2vdr.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; -} CHANNEL_DATA ; - -void strlwr( char *s ){ - while ( s && *s ){ - *s = tolower(*s); - s++; - } -} - -int ReadChannel( FILE *f, CHANNEL_DATA *channel ) { - static char s[MAX_LINE_LEN+1]; - char *p; - - memset( channel, sizeof( CHANNEL_DATA ), 0 ) ; - - while ((p=fgets( s, MAX_LINE_LEN, f ))!=NULL){ -// printf("%s", s ) ; - if (s[0] == '*') - break ; - } - - if ( !p ) { /* EOF? */ -// printf("EOF\n"); - return 0 ; - } - - while (fgets( s, MAX_LINE_LEN, f )){ - if ( s[0] == '\n' ) - return channel->freq ? 1 : 0; - p = strtok( s, TOKS ) ; - if ( !p ) { - return 0; - } - strlwr( p ) ; - if ( !strcmp( p, "channel" )){ - p=strtok( NULL, NAMETOKS ); - while ( p && *p==' ') - p++; - strcpy( channel->Name, p ); -// printf("%d ", channel->freq ) ; - } else if ( !strcmp( p, "frequency")) { - channel->freq = atoi( p=strtok( NULL, TOKS )); -// printf("%d ", channel->freq ) ; - } else if ( !strcmp( p, "cbhc")) { - channel->color = atoi(p=strtok(NULL,TOKS)); - channel->hue = atoi(p=strtok(NULL,TOKS)); - channel->bright = atoi(p=strtok(NULL,TOKS)); - channel->saturation = atoi(p=strtok(NULL,TOKS)); - } else if ( !strcmp( p, "ni")) { - channel->nitv = atoi(p=strtok(NULL,TOKS)); - channel->input = atoi(p=strtok(NULL,TOKS)); - } else if ( !strcmp( p, "sat")) { - channel->pol = atoi(p=strtok(NULL,TOKS)); - channel->srate = atoi(p=strtok(NULL,TOKS)); - channel->fec = atoi(p=strtok(NULL,TOKS)); - channel->vpid = atoi(p=strtok(NULL,TOKS)); - channel->apid = atoi(p=strtok(NULL,TOKS)); - channel->lnbnum = atoi(p=strtok(NULL,TOKS)); - channel->type = atoi(p=strtok(NULL,TOKS)); - } else - printf("Unknown token %s\n", p ) ; - } - return 1 ; -} - -int main ( int argc, char *argv[] ){ - FILE *f, *fo ; - int cnt = 0; - CHANNEL_DATA channel ; - - if ( argc != 3 ){ - printf("USAGE: %s <xtvrc 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 , - 0 ); //channel.fec ) ; - } - - printf( "%d channels read.\n\n", cnt ) ; - - fclose(f); - fclose(fo); - return 1; -} |