#!/usr/bin/perl

# These X and Y displacements have to be adjusted by trial and error
# under your window manager
$X_ADJ = 41;
$Y_ADJ = 20;

# CinelerraGG executable
#$CIN = '/disk2/sge/cin-git/bin/cin';
$CIN = '/where/cinelerra/installed/bin/cin';

# CinelerraGG user's rc-file and a tmpfile
$CINRC = $ENV{HOME} . '/.bcast5/Cinelerra_rc';
$TMPRC = $ENV{HOME} . '/.bcast5/tmp_rc';

# Run CinelerraGG
system ($CIN);

# After CinelerraGG exits, edit rc-file produced to correct for displacements
open CRC, $CINRC or die "Cannot open $CINRC: $!";
open TRC, ">$TMPRC" or die "Cannot create $TMPRC: $!";

# Four windows displacements will be corrected:
# Timeline, Compositor, Viewer, Resources
while (<CRC>)
{
  chomp;
  if (($val) = /^MWINDOW_X\s+(.+)$/)
  {
    $val += $X_ADJ;
    print TRC "MWINDOW_X $val\n";
    next;
  }
  if (($val) = /^MWINDOW_Y\s+(.+)$/)
  {
    $val += $Y_ADJ;
    print TRC "MWINDOW_Y $val\n";
    next;
  }
  if (($val) = /^CWINDOW_X\s+(.+)$/)
  {
    $val += $X_ADJ;
    print TRC "CWINDOW_X $val\n";
    next;
  }
  if (($val) = /^CWINDOW_Y\s+(.+)$/)
  {
    $val += $Y_ADJ;
    print TRC "CWINDOW_Y $val\n";
    next;
  }
  if (($val) = /^VWINDOW_X\s+(.+)$/)
  {
    $val += $X_ADJ;
    print TRC "VWINDOW_X $val\n";
    next;
  }
  if (($val) = /^VWINDOW_Y\s+(.+)$/)
  {
    $val += $Y_ADJ;
    print TRC "VWINDOW_Y $val\n";
    next;
  }
  if (($val) = /^AWINDOW_X\s+(.+)$/)
  {
    $val += $X_ADJ;
    print TRC "AWINDOW_X $val\n";
    next;
  }
  if (($val) = /^AWINDOW_Y\s+(.+)$/)
  {
    $val += $Y_ADJ;
    print TRC "AWINDOW_Y $val\n";
    next;
  }
  print TRC "$_\n";
}

close TRC;
unlink $CINRC;
rename $TMPRC, $CINRC;

exit 0;
