next if (defined $artist && !$accept{albumdir($t_file)});
- $t_artist = sanitise($t_artist);
- $t_title = sanitise($t_title);
+ $t_artist = sanitise($t_artist, 0);
+ $t_title = sanitise($t_title, 0);
my $cmd = sprintf "AddToMenu $menu \"%d\t%s - %s\""
." Exec mpc playid %d",
use locale;
foreach (sort keys(%albums)) {
my $key = $_;
- my $a_album = sanitise($key);
+ my $a_album = sanitise($key, 1);
open THUMB, "-|", "$FVWM/scripts/thumbnail.zsh",
"--small", "--music", $albums{$key};
$menu = "MenuMPDTitle" unless defined $menu;
# Open and close brackets.
- my ($ob, $cb) = ("[\[~〜<(ー−-]", "[\]~〜>)ー−-]");
+ my ($ob, $cb) = ("[\[~〜<〈(ー−-]", "[\]~〜>〉)ー−-]");
$_ = $title;
s/\s*-remix-$//; # Otherwise "D-THREAD -remix-" doesn't work right.
# Deal with titles like "blah (ABC version)".
- s/\s*$ob.*(style|mix|edit|edition|ver\.?|version|カラオケ)$cb?$//i;
+ s/\s*$ob.*(style|mix|edit|edition|ver\.?|version|melody|カラオケ)$cb?$//i;
# Deal with titles like "blah (without XYZ)".
s/\s*$ob\s*((e\.)?piano|english|japanese|inst|tv|without|w\/o|off|back|short|karaoke|game).*//i;
# MPD searches are case-insensitive.
next if (!($t_title =~ m/(\P{Latin}|^)\Q$basetitle\E(\P{Latin}|$)/ || $t_title =~ m/\Q$basetitle\E/i));
- $t_artist = sanitise($t_artist);
- $t_title = sanitise($t_title);
+ $t_artist = sanitise($t_artist, 1);
+ $t_title = sanitise($t_title, 1);
open THUMB, "-|", "$FVWM/scripts/thumbnail.zsh",
"--small", "--music", $t_file;
cmd("AddToMenu $menu \"*$thumb*\" "
."Exec exec gqview ".shellify($scan, 0));
}
- cmd("AddToMenu $menu \"Title: ".sanitise($entry{Title})."\" "
- ."Popup MenuMPDTitle");
- cmd("AddToMenu $menu \"Artist: ".sanitise($entry{Artist})."\" "
- ."Popup MenuMPDArtist");
- cmd("AddToMenu $menu \"Album: ".sanitise($entry{Album})."\" "
- ."Popup MenuMPDAlbum");
+ cmd("AddToMenu $menu \"Title: ".sanitise($entry{Title}, 0)
+ ."\" Popup MenuMPDTitle");
+ cmd("AddToMenu $menu \"Artist: ".sanitise($entry{Artist}, 0)
+ ."\" Popup MenuMPDArtist");
+ cmd("AddToMenu $menu \"Album: ".sanitise($entry{Album}, 0)
+ ."\" Popup MenuMPDAlbum");
cmd("AddToMenu $menu \"\" Nop");
} else {
cmd("AddToMenu $menu \"<Song info unavailable>\"");
sub sanitise
{
$_ = $_[0];
- s/([\$&@%^*])/\1\1/g;
+ s/&/&&/g if ($_[1]);
+ s/([\$@%^*])/\1\1/g;
s/"/\\"/g;
return $_;
}