File: mplength

package info (click to toggle)
mpdtoys 0.24
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 104 kB
  • ctags: 22
  • sloc: perl: 842; sh: 58; makefile: 21
file content (44 lines) | stat: -rwxr-xr-x 764 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl
use strict;
use warnings;
use Audio::MPD q{0.19.0};

=head1 NAME

mplength - calculates length of mpd playlist

=head1 SYNOPSIS

mplength [host]

=head1 DESCRIPTION

B<mplength> calculates the total length of the currently selected
playlist in mpd. The length is output to standard output in mm:ss format.

=head1 SEE ALSO

mpd(1)

=head1 AUTHOR

Copyright 2009 Joey Hess <joey@kitenet.net>

Licensed under the GNU GPL version 2 or higher.

http://kitenet.net/~joey/code/mpdtoys

=cut

if (@ARGV) {
	$ENV{MPD_HOST}=shift;
}
my $mpd=Audio::MPD->new(conntype => "reuse");
my $pl=$mpd->playlist;
my @list=$pl->as_items;
my $secs=0;
foreach my $item (@list) {
	$secs+=$item->time;
}
my $mins=int($secs/60);
printf "%i:%02i\n", $mins, ($secs-$mins*60);