X-Git-Url: https://git.draconx.ca/gitweb/mpdhacks.git/blobdiff_plain/b0f5f5741b234174958ade58a6e884df8b6b00e4..298442ad553cc0309818e7a435b1e349bc077d47:/mpdexec.pl diff --git a/mpdexec.pl b/mpdexec.pl index 496c558..72f81fe 100755 --- a/mpdexec.pl +++ b/mpdexec.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# Copyright © 2012,2019-2020 Nick Bowler +# Copyright © 2012,2019-2021 Nick Bowler # # Send commands to MPD. Each command-line argument is quoted as necessary # so it appears as a single argument at the protocol level. The result is @@ -32,7 +32,7 @@ my ($quiet, $binary, $ignore_errors, $download); sub print_version { print < 0); + print $fh "Try $0 --help for more information.\n" unless (@_ > 0); } sub print_help { @@ -61,10 +61,10 @@ Options: written. If FILE is specified, the data is written there. Otherwise, --quiet is automatically enabled and the data goes to standard output. - --download Enable automatic sequencing of albumart commands; if this - option is specified, albumart commands without offsets will - be expanded into multiple commands in order to download the - entire file. + --download Enable automatic sequencing of albumart and readpicture + commands; if this option is specified, such commands + without offsets will be expanded into multiple commands + in order to download the entire file. --ignore-errors In batch mode, continue submitting commands after errors. -V, --version Print a version message and then exit. -H, --help Print this message and then exit. @@ -118,13 +118,14 @@ sub read_binary { return $rc; } +my %downloadcmds = map { $_ => 1 } ( "albumart", "readpicture" ); sub mpd_exec { my $downloadseq; - # special case for "albumart"; if no offset is specified - # (invalid command) we synthesize a sequence of albumart + # special case for "albumart" and "readpicture"; if no offset is + # specified (invalid command) we synthesize a sequence of albumart # commands to retrieve the entire file. - if ($download && $_[0] eq "albumart" && @_ == 2) { + if ($download && $downloadcmds{$_[0]} && @_ == 2) { $_[2] = 0; $downloadseq = 2; }