$|++;
use Data::Dumper;

$config='E:\chartsweep\done\grabparts.cfg';
print "config is $config\n";
open CONFIG,"< $config";
@config=<CONFIG>;

sub switchtime
{
	#print "entered switchtime, @_ \n";
	my $sec=shift(@_);
	#print "$sec\n";
	#$sec +=20;
	my $min=0;
	while ($sec >= 100)
	{
		$sec -= 100;
		$min +=1;
	}
	my @localtime=();
	$localtime[0]=$min;
	$localtime[1]=$sec;
	#print "returning @localtime\n";
	return @localtime;
}

foreach $line (@config) 
{
	$failed=1;
	if ($line =~ /Imagesearch=/)
	{
		next;
	}
	
	if ($line =~ /(.*\.mp3)/)
	{
		$line=~/\\([0-9]{8})/;
		$date=$1;
		$failed=0;
	}
	elsif ($line =~ /Start=([0-9]+\.?[0-9]*)/)
	{
		$starttime=$1;
		@starttime=switchtime($starttime);
		$startsecs=$starttime[0]*60+$starttime[1];
		$failed=0;
	}
	elsif ($line =~ /End__=([0-9]+\.?[0-9]*)/)
	{
		$endtime=$1;
		@endtime=switchtime($endtime);
		$endsecs=$endtime[0]*60+$endtime[1];
		$failed=0;
		$length=$endsecs-$startsecs;
		$hits{$date}->{"length"}=$length;
		$mp3loc="";
		$starttime=0;
		$endtime=0;
	}
	elsif ($line =~ /^\n$/)
	{
		$failed=0;
	}
	elsif ($failed)
	{
		print "broke: nearby data is $mp3loc\n";
		last;
	}
}

foreach $date (grep(/1991/,sort keys %hits))
{
	print "working on $date\n";
	$imagedir='c:\projects\chartsweep90s\images\\'.$date;
	opendir(DIR,$imagedir);
	@images=readdir(DIR);
	foreach $imagename (@images)
	{
		#print "working on $imagename\n";
		if ($imagename =~ /^[0-9](\.[0-9]*)?$/)
		{
			#print "pushed $imagename\n";
			push (@included_images,$imagename);
		}
	}
	#print "@included_images"."\n";
	@included_images = sort {$a <=> $b} @included_images;
	#print "@included_images"."\n";
	$hits{$date}->{"imagelist"}="@included_images";
	$hits{$date}->{"imagedir"}=$imagedir;
	closedir(DIR);
	@included_images=();
}

#print Dumper (%hits);

$videomachfile='[Header]
  <BlockVersion>314</>
  <Id>VideoMach Project</>
  <Creator>VideoMach 3.5.2</>
[/Header]

[FileList]
  [Video]
    <BlockVersion>314</>
';
$totalitemcount=1;
$first=1;
foreach $date (sort keys %hits)
{
	print "working on $date\n";
	my $imagelist=$hits{$date}->{"imagelist"};
	print "imagelist is $imagelist\n";
	my $length=$hits{$date}->{"length"};
	my $lengthper=$length;
	my $imagedir=$hits{$date}->{"imagedir"};
	@imagelist=split(" ",$imagelist);
	my $imagecount=scalar @imagelist;
	foreach $imagename (@imagelist)
	{
		$toadd="";
		$lengthper=($length/$imagecount);
		my $framerate=1/$lengthper;
		print "imagename $imagename $date lengthper is $lengthper, for $imagecount images over $length seconds\n";
		print "totalitemcount $totalitemcount\n";
		$toadd .= "    [Item$totalitemcount]\n";
		$toadd .= '      <FileName>'.$imagedir."\\".$imagename.'</>
		<StartQuant>0</>
		<EndQuant>'.$first.'</>
		<MaxQuants>1</>
		<FrameRate>'.$framerate.'</>
		<ReadFwd>T</>
		';
		$toadd .= "[\/Item$totalitemcount]\n";
		$totalitemcount++;
		$first=0;
		print "about to add $toadd\n";
		$videomachfile .= $toadd;
	}
	
}

$videomachfile .= '  [/Video]
[/FileList]

[OutputSettings]
  [Common]
    <BlockVersion>314</>
    <OutputMode>0</>
    [SaveInfo]
      <Version>1</>
      <aviCustomInfoCnt>0</>
    [/SaveInfo]
  [/Common]
  [Video]
    <BlockVersion>314</>
    <vAutoFrameRate>F</>
    <vAutoBpp>T</>
    <vFFindex>5</>
    <vFileName>C:\Program Files\VideoMach-3.5.2\1990.avi</>
    <vFrameRate>10</>
    <vKeepDuration>T</>
    <vBpp>24</>
    <vSinglePal>T</>
    <vDither>2</>
    <vGrayScale>F</>
    [vParams]
      <Version>1</>
      <Count>18</>
      [TGA]
        <vFileFmtId>1</>
        <vCodecId>1</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>Run Length Encoding (RLE)</>
      [/TGA]
      [PCX]
        <vFileFmtId>2</>
        <vCodecId>0</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>F</>
        <vCodecName>Run Length Encoding (RLE)</>
      [/PCX]
      [BMP]
        <vFileFmtId>3</>
        <vCodecId>0</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>F</>
        <vCodecName>Uncompressed, full frames</>
      [/BMP]
      [GIF]
        <vFileFmtId>4</>
        <vCodecId>0</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>F</>
        <vCodecName>LZW compression</>
      [/GIF]
      [FLIC]
        <vFileFmtId>5</>
        <vCodecId>0</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>F</>
        <vCodecName>RLE + pixel difference from previous frame</>
      [/FLIC]
      [AVI]
        <vFileFmtId>6</>
        <vCodecId>1145656920</>
        <vCodecDataSize>3264</>
        <vCodecData>
1000000001000000C00C0000A1010000830001DF1E81000C66040F005C766964656F2E7061817309002E0070006100730073FF00F200006482000D28756E726
573747269637465642981000A6900630074006500640029FF00E800001086007F081112131517191B1112131517191B1C14151617181A1C1E151617181A1C1E
201617181A1C1E202317181A1C1E202326191A1C1E202326291B1C1E202326292D1011121314151617111213141516171812131415161718191314151617181
A1B14151617191A1B1C151617181A1B1C1E1617181A1B1C1E1F1718191B1C1E1F21930000018200000282000096820000648200000186000004820000038200
000182000001860000018600000186000064820001F401FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F100001082000
06482000064820000018200000A82000001820000148A000005820000058200000582000240420F840000018600001192000080820001413E81000006820000
01860000018600012C01850000018200001F820000018200001F820000018200001F82000001920000018600003FA20000018200</>
        <vFPS>10</>
        <vKeepDuration>T</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>100</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>320</>
        <vOutResY>240</>
        <vOutBpp>24</>
        <vHasDlg>T</>
        <vCodecName>XviD MPEG-4 Codec</>
      [/AVI]
      [HAV]
        <vFileFmtId>7</>
        <vCodecId>2</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>25</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>HAV-FAST compression</>
      [/HAV]
      [JPEG]
        <vFileFmtId>8</>
        <vCodecId>0</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>85</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>JPEG Quality: 85%</>
      [/JPEG]
      [PNG]
        <vFileFmtId>9</>
        <vCodecId>7</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>PNG Compression Level: 7 of 9</>
      [/PNG]
      [TIFF]
        <vFileFmtId>10</>
        <vCodecId>5</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>Variable-Length-Code LZW</>
      [/TIFF]
      [MPEG]
        <vFileFmtId>11</>
        <vCodecId>0</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>1700</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>1</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>MPEG-1 format</>
      [/MPEG]
      [SGI]
        <vFileFmtId>13</>
        <vCodecId>1</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>Run Length Encoding (RLE)</>
      [/SGI]
      [RGB]
        <vFileFmtId>14</>
        <vCodecId>1</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>Run Length Encoding (RLE)</>
      [/RGB]
      [PPM]
        <vFileFmtId>15</>
        <vCodecId>1</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>Binary encoded</>
      [/PPM]
      [XPM]
        <vFileFmtId>22</>
        <vCodecId>5</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>1700</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>0</>
        <vAsr>1</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>Quick-Time MPEG-4 video</>
      [/XPM]
      [JP2]
        <vFileFmtId>23</>
        <vCodecId>0</>
        <vCodecDataSize>0</>
        <vFPS>0</>
        <vKeepDuration>F</>
        <vBitRate>0</>
        <vBitRateMax>0</>
        <vBitRateMin>0</>
        <vKeyFrameRate>0</>
        <vQuality>1000</>
        <vAsr>0</>
        <vDpiX>0</>
        <vDpiY>0</>
        <vOutResX>0</>
        <vOutResY>0</>
        <vOutBpp>0</>
        <vHasDlg>T</>
        <vCodecName>JPEG-2000 Rate: 1,000 of 10,000</>
      [/JP2]
    [/vParams]
  [/Video]
  [VideoSize]
    <BlockVersion>314</>
    <vAutoResize>F</>
    <vInputX>1024</>
    <vInputY>768</>
    <vResizeX>320</>
    <vResizeY>240</>
    <vResizeType>0</>
    <vResizeEnlarge>1</>
    <vResizeShrink>1</>
    <vResizeColor>0</>
    <vCropLeft>0</>
    <vCropRight>0</>
    <vCropTop>0</>
    <vCropBottom>0</>
    <vCropKeepRes>F</>
    <vRotate>0</>
    <vDivBy>1</>
    <vFinalX>320</>
    <vFinalY>240</>
    <vAutoDpi>T</>
    <vDpiX>0</>
    <vDpiY>0</>
  [/VideoSize]
  [Audio]
    <BlockVersion>314</>
    <aAutoFreq>T</>
    <aAutoChan>T</>
    <aAutoBits>T</>
    <aFFindex>0</>
    <aFilename>C:\Program Files\VideoMach-3.5.2\1990.avi</>
    [aParams]
      <Version>1</>
      <Count>7</>
      [AVI]
        <aFileFmtId>6</>
        <aCodecId>6</>
        <aWaveFmtOut>10000000010000001200000013000000050600020044AC810006885801000200088200</>
        <aBitRate>705600</>
        <aQuality>0</>
        <aHasDlg>T</>
        <aCodecName>Microsoft CCITT G.711 - CCITT A-Law</>
      [/AVI]
      [HAV]
        <aFileFmtId>7</>
        <aCodecId>0</>
        <aBitRate>0</>
        <aQuality>0</>
        <aHasDlg>F</>
        <aCodecName>PCM, uncompressed</>
      [/HAV]
      [MPEG]
        <aFileFmtId>11</>
        <aCodecId>2</>
        <aBitRate>224</>
        <aQuality>0</>
        <aHasDlg>T</>
        <aCodecName>MPEG Layer-II</>
      [/MPEG]
      [WAV]
        <aFileFmtId>12</>
        <aCodecId>1</>
        <aBitRate>0</>
        <aQuality>0</>
        <aHasDlg>F</>
        <aCodecName>PCM, uncompressed</>
      [/WAV]
      [MPA]
        <aFileFmtId>18</>
        <aCodecId>2</>
        <aBitRate>224</>
        <aQuality>0</>
        <aHasDlg>T</>
        <aCodecName>MPEG Layer-II</>
      [/MPA]
      [OGG]
        <aFileFmtId>19</>
        <aCodecId>0</>
        <aBitRate>0</>
        <aQuality>2</>
        <aHasDlg>T</>
        <aCodecName>Ogg Vorbis audio</>
      [/OGG]
      [AC3]
        <aFileFmtId>21</>
        <aCodecId>4</>
        <aBitRate>192</>
        <aQuality>0</>
        <aHasDlg>T</>
        <aCodecName>AC3 compatible</>
      [/AC3]
    [/aParams]
    <aFormat>10000000010000001200000013000000050100020044AC81000610B102000400108200</>
  [/Audio]
[/OutputSettings]
';

$out="C:\\projects\\chartsweep90s\\images\\harkk\.vmp";
open OUT,"> $out";
print OUT "$videomachfile\n";
close OUT;
print "out is $out\n";
#print Dumper(%hits);