#! /usr/bin/perl
#
# Read a list of Chunk files and construct a long praat script to edit them all
#
# use:
#> ListAllNewFiles.pl pattern
#
###############################################################################
#
# Copyright R.J.J.H. van Son © 2000, 2001
#
# Author Rob van Son
# Institute of Phonetic Sciences & ACLC
# University of Amsterdam
# Herengracht 338
# NL-1016CG Amsterdam, The Netherlands
# Email: Rob.van.Son@hum.uva.nl
#        rob.van.son@workmail.com
# WWW  : http://www.fon.hum.uva.nl/rob/
# mail:  Institute of Phonetic Sciences
#        University of Amsterdam
#        Herengracht 338
#        NL-1016CG Amsterdam
#        The Netherlands
#        tel +31 205252183
#        fax +31 205252197
#
# License for use and disclaimers
#
# 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.
#
#
#######################################################
#
# Define and initialize
my @GlobFileList = @ARGV;
my $FilePattern;
my $SafeDir = '/data1/rob/Labels/chunks/';

my @PraatScript = ("#! praat\n");
foreach $FilePattern (@GlobFileList)
{
        # Get the real filenames (expand * and ?)
        my @FileList = glob("$FilePattern");
        my $FileName;

        # Handle All files
        foreach $FileName (@FileList)
        {
        	my $SpeakerID;
        	my $ItemID;
        	my $Labeler;
        	my $LabelFileName;
        	my $HomeDirectory;
        	
        	# Take apart the file path to get the relevant directories and ID numbers
        	# e.g., "./Labels/chunks/F28G/F28G1FPA1.translit"
        	# -> $`=".", $1="Labels/chunks", $2="F28G", $3="translit", $4="F28G1FPA1" , $5="translit"
        	$FileName =~ m@([^/\.\/]+)\.([\w]+)$@i;
        	my $Code = $1;
         	$LabelFileType = $3;
         	
         	# Tear apart the CodeName
         	$Code =~ /([FM][\d]+[A-Z]+)/;
        	$SpeakerID = $1;
        	$ItemCode = $';
        	
        	# Construct the script
            next if -e "$SafeDir$SpeakerID/${Code}.translit";
          push(@PraatScript,
          "execute EditChunksTranslit.praat $SpeakerID $ItemCode\n");
    };
};

# Close praat
push(@PraatScript, "Quit\n");
# Output script
print STDOUT @PraatScript;

