commit fcab926e7d242afc099f1c2fa36da80e1530e886
Author: spesk1 <spesk@pm.me>
Date: Sun Jun 30 17:32:34 2019 -0400
Added small script to rename wavs from cds
diff --git a/rename_wavs.pl b/rename_wavs.pl
new file mode 100755
index 0000000..2442aa6
--- /dev/null
+++ b/rename_wavs.pl
@@ -0,0 +1,92 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+if ( ! defined $ARGV[0] ) {
+ print "Need to pass dir\n";
+ exit 1;
+}
+
+my $dir_path = shift(@ARGV);
+
+if ( ! -d $dir_path ) {
+ print "$dir_path doesnt look like a dir\n";
+ exit 1;
+}
+
+my @info_files;
+my @audio_files;
+
+foreach my $file ( split("\n",`ls $dir_path`) ) {
+
+ if ( $file =~ m/^(audio_[0-9]{2}.inf)/ ) {
+ push(@info_files, $1);
+ } elsif ( $file =~ m/^(audio_[0-9]{2}.wav)/ ) {
+ push(@audio_files, $1);
+ }
+
+}
+
+my %tracks_map;
+@tracks_map{@audio_files} = @info_files;
+
+sub sanitize_title($) {
+
+ my $title = shift;
+ my $san_title;
+ open(my $fh, ">>", \$san_title) or die "Couldnt open $!\n";
+ foreach my $char ( split("",$title) ) {
+ if ( $char =~ m/[\'\"\:\,\.\&\(\)]/ ) {
+ print $fh "";
+ } elsif ( $char =~ m/\s/ ) {
+ print $fh "_";
+ } else {
+ print $fh "$char";
+ }
+ }
+
+ close $fh;
+ return $san_title;
+
+}
+
+foreach my $audio_file ( sort keys %tracks_map ) {
+ my $track_title = "null";
+ foreach my $line ( split("\n", `cat $dir_path/$tracks_map{$audio_file}`) ) {
+ if ( $line =~ m/^Tracktitle=\s+(.*)$/ ) {
+ $track_title = sanitize_title($1);
+ }
+ }
+ if ( $track_title eq "null" ) {
+ print "Couldnt get title from $tracks_map{$audio_file}\n";
+ exit 1;
+ }
+ #print "$audio_file -> $tracks_map{$audio_file} -> '$track_title'\n";
+ $tracks_map{$audio_file} = $track_title;
+}
+
+foreach my $audio_file ( sort keys %tracks_map ) {
+
+ my $filename;
+ if ( $audio_file =~ m/^audio_([0-9]{2}).wav/ ) {
+ $filename = $1 . "_" . $tracks_map{$audio_file} . ".wav";
+ } else {
+ print "could get track number\n";
+ exit 1;
+ }
+
+ print "mv $dir_path/$audio_file $dir_path/$filename\n";
+ system("mv $dir_path/$audio_file $dir_path/$filename") == 0
+ or die "Failed to mv $audio_file\n";
+
+}
+
+
+
+
+
+
+
+
+