#!/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();