#!/usr/bin/perl -w
use strict;
use warnings;
use File::Basename;
use Cwd;
use constant TRUE => 1;
use constant FALSE => 0;
################################################
# UTILISATION #################################
#
# 1- Aller dans le bon dossier:
# $ cd /my/drumkit/directory
# 2- Et lancer le programme:
# $ ~/Desktop/h2xmlizer.pl
#
## SETTINGS ####################################
#
my $reg;
$reg->{'pan_L'} = '1';
$reg->{'pan_R'} = '1';
$reg->{'isMuted'} = 'false';
$reg->{'volume'} = '0.80';
$reg->{'min'} = '0';
$reg->{'max'} = '1';
$reg->{'gain'} = '1';
$reg->{'pitch'} = '0';
$reg->{'lastname'} = 'FOO';
$reg->{'firstname'} = 'BAR';
$reg->{'email'} = 'fooBar@myMail.com';
#
################################################
################################################
my $nl = "\r\n";
my $name; my $filename;
my $currentDir = basename(getcwd());
my $head =
"
$currentDir
".$reg->{'lastname'}." ".$reg->{'firstname'}."".$reg->{'email'}."
compuls's drumkit made using the knoodrake\@gmail.com's drumkit xml generator
";
my $footer =
"
";
# sauvegarde l'ancien drumkit.xml si existe
for (`ls -1|grep drumkit.xml`){
`mv drumkit.xml drumkit.xml.backup` if /(drumkit\.xml)$/;
}
my $i = 0;
open (COMMAND,'ls -1|');
`touch drumkit.xml`;
my $fh = open (FILE,'+>','drumkit.xml');
print FILE $nl.$head;
while () {
$_ =~ s/\s+$//;
if ($_ =~ /^(.+)\.(flac|wav|mp3|ogg)$/i) {
$name = $1;
$filename = $1.".".$2;
print FILE
"
$i
$name
".$reg->{'volume'}."
".$reg->{'isMuted'}."
".$reg->{'pan_L'}."
".$reg->{'pan_R'}."
$filename
".$reg->{'min'}."
".$reg->{'max'}."
".$reg->{'gain'}."
".$reg->{'pitch'}."
";
if($i==31){printFooterAndQuit()}
$i++;
}
}
while ($i<=31) {
print FILE
"
$i
$i
0.00
true
1
1
$filename
0
1
1
0
";
$i++;
}
sub printFooterAndQuit {
close COMMAND;
print FILE $nl.$footer.$nl;
close FILE;
exit 1;
}
printFooterAndQuit();