#!/usr/bin/perl -w

use strict;

sub imcommand {
  my ($mit, $smith, $period) = @_;

  for ( $mit, $smith ) {
    if ( length $_ < 2 ) {
      $_ = " $_";
    }
  }


  my $describe;

  if ( $period eq "TO" ) {
    $describe = q{-pointsize 42 -font Helvetica-Bold -fill '#FFFFFF00' -draw "text 1072,98 'TO'"};
  } elsif ( $period eq "1" ) {
    $describe = q{-font Helvetica-Bold -fill '#FFFFFF00' -draw "text 1077,98 '1'" -pointsize 29 -font Helvetica-Bold -fill '#FFFFFF00' -draw "text 1096,89 'st'"};
  } elsif ( $period eq "2" ) {
    $describe = q{-font Helvetica-Bold -fill '#FFFFFF00' -draw "text 1070,98 '2'" -pointsize 29 -font Helvetica-Bold -fill '#FFFFFF00' -draw "text 1094,89 'nd'"};
  } elsif ( $period eq "HALF" ) {
    $describe = q{-pointsize 25 -font Helvetica-Bold -fill '#FFFFFF00' -draw "text 1067,94 'HALF'"};
  } else { $describe = "" }

  my $command = <<'END';
convert -size 1280x720 -depth 8 barstart.png -pointsize 42
-font Helvetica-Bold -fill '#66000000' -draw "text 135,98 'mit'"
-font Helvetica-Condensed -fill '#FFFFFF00' -draw "text 208,98 'sportcast'"
-font Helvetica-Bold -fill '#FFFFFF00' -draw "text 468,99 'MIT'"
-font Helvetica-Bold -fill '#00000000' -draw "text 554,98 'MIT_SCORE_GOES_HERE'"
-pointsize 29 -font Helvetica-Bold -fill '#FFFFFF00' -draw "text 688,95 'Smith'"
-pointsize 42 -font Helvetica-Bold -fill '#00000000' -draw "text 777,98 'SMITH_SCORE_GOES_HERE'"
DESCRIBE_GOES_HERE
-channel RGBA -depth 8 RGBA:/dev/stdout
END

  $command =~ s/MIT_SCORE_GOES_HERE/$mit/;
  $command =~ s/SMITH_SCORE_GOES_HERE/$smith/;
  $command =~ s/DESCRIBE_GOES_HERE/$describe/;
  $command =~ s/\n/ /gs;

  return $command;
}

my $mitscore = 0;
my $smithscore = 0;
my $period = "1";

while( <> ) {
  if ( /^M(.*)/ ) {
    $mitscore += $1;
  } elsif ( /^S(.*)/ ) {
    $smithscore += $1;
  } elsif ( /^P(.*)/ ) {
    $period = $1;
  }

  my $command = imcommand( $mitscore, $smithscore, $period );
  $command .= ' | ./toyuv | nc 250c 3000';

  system( $command );
}
