#!/usr/bin/perl # use module use XML::Simple; use Data::Dumper; use File::Temp; use strict; # read parameters from titantv xml my $input; if (scalar(@ARGV) == 0) { $input = \*STDIN; } else { $input = $ARGV[0]; } my $xs = new XML::Simple(keeproot => 1,searchpath => ".",forcearray => 1,); my $tvpi_input = $xs->XMLin($input); my $psip_major = $tvpi_input->{'tv-program-info'}->[0]->{program}->[0]->{'psip-major'}->[0]; my $psip_minor = $tvpi_input->{'tv-program-info'}->[0]->{program}->[0]->{'psip-minor'}->[0]; $tvpi_input->{'tv-program-info'}->[0]->{program}->[0]->{'tv-mode'}->[0] = "analog"; $tvpi_input->{'tv-program-info'}->[0]->{program}->[0]->{'rf-channel'}->[0] = $psip_major . $psip_minor; #print Dumper($tvpi_input); my $tmp_fname = "C:\\temp\\" . mktemp('tgXXXXXX') . ".tvpi"; #print "temp file name is: " . $tmp_fname . "\n"; open(F, ">$tmp_fname"); my $tvpi_output = $xs->XMLout($tvpi_input); print F $tvpi_output; close (F); system("C:\\Program Files\\WinTV\\Scheduler\\pvrfile_applet.exe", $tmp_fname); exit 0;