X-Git-Url: https://git.draconx.ca/gitweb/fvwmconf.git/blobdiff_plain/d32d59422a2b565be746785ca82cf3d835be290a..e63947b275af6479d3027c8cf3631d9505c27b83:/scripts/mpdmenu.pl diff --git a/scripts/mpdmenu.pl b/scripts/mpdmenu.pl index 192c28e..4ef7ece 100755 --- a/scripts/mpdmenu.pl +++ b/scripts/mpdmenu.pl @@ -100,8 +100,8 @@ if (defined $album) { 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", @@ -136,7 +136,7 @@ if (defined $album) { 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}; @@ -173,7 +173,7 @@ if (defined $album) { $menu = "MenuMPDTitle" unless defined $menu; # Open and close brackets. - my ($ob, $cb) = ("[\[~〜<(ー−-]", "[\]~〜>)ー−-]"); + my ($ob, $cb) = ("[\[~〜<〈(ー−-]", "[\]~〜>〉)ー−-]"); $_ = $title; @@ -191,13 +191,13 @@ if (defined $album) { 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; # Deal with titles like "blah instrumental". - s/\s+(instrumental|off vocal|short|tv)([\s-]+(size|version|s))?$//i; + s/\s+(instrumental|off vocal|short|tv)([\s-]+(mix|size|version))?$//i; s/\s+without\s+\w+$//i; my $basetitle = $_; @@ -231,9 +231,10 @@ if (defined $album) { ); # MPD searches are case-insensitive. - next if (!($t_title =~ m/(\P{Latin}|^)\Q$basetitle\E(\P{Latin}|$)/)); - $t_artist = sanitise($t_artist); - $t_title = sanitise($t_title); + next if (!($t_title =~ m/(\P{Latin}|^)\Q$basetitle\E(\P{Latin}|$)/ || $t_title =~ m/\Q$basetitle\E/i)); + + $t_artist = sanitise($t_artist, 1); + $t_title = sanitise($t_title, 1); open THUMB, "-|", "$FVWM/scripts/thumbnail.zsh", "--small", "--music", $t_file; @@ -294,14 +295,14 @@ if (defined $album) { if (-f $thumb) { cmd("AddToMenu $menu \"*$thumb*\" " - ."Exec exec gqview ".shellify($scan, 0)); + ."Exec exec geeqie ".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 \"\""); @@ -369,7 +370,8 @@ print $sock "close\n"; sub sanitise { $_ = $_[0]; - s/([\$&@%^*])/\1\1/g; + s/&/&&/g if ($_[1]); + s/([\$@%^*])/\1\1/g; s/"/\\"/g; return $_; }