/usr/bin/rpld-showplaying is in roarplaylistd-tools 0.1.9-3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | #!/usr/bin/perl
# Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2010
#
# This file is part of RoarAudio PlayList Daemon,
# a playlist management daemon for RoarAudio.
# See README for details.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3
# as published by the Free Software Foundation.
#
# RoarAudio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this software; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
use strict;
use Audio::RPLD;
my $rpld = Audio::RPLD->new();
my $cur;
my $playing;
$rpld->connect_default();
$rpld->is_connected() or die;
$cur = $rpld->showcur();
$playing = $rpld->showplaying();
$rpld->disconnect();
$playing->{'state'} ||= 'STOPPED';
print 'Playback state: ', ucfirst(lc($playing->{'state'})), ".\n";
exit(0) if $playing->{'state'} eq 'STOPPED';
timedisplay($playing, $cur);
exit(0);
sub timedisplay {
my ($p, $c) = @_;
my $barlen = 50;
my $f = -1;
my $bar;
my $ptime;
my $ltime = 'unknown ';
local $_;
if ( $cur->{'length'} ) {
$ltime = time2lr($cur->{'length'});
$f = $p->{'time'}->{'s'} / $cur->{'length'};
}
if ( $f < 0 ) {
$bar = ' <unknown> ';
$bar .= ' ' x ($barlen - length($bar));
} else {
$bar = '=' x ($f * ($barlen - 1));
$bar .= '>';
$bar .= ' ' x ($barlen - length($bar));
}
$ptime = time2lr($p->{'time'}->{'s'});
printf("%s of %s [%s]\n", $ptime, $ltime, $bar);
printf("num:0 = %s, %s\n", $p->{'longgtn'}, $p->{'shortgtn'});
printf("UUID: %s\n", $p->{'uuid'}) if $p->{'uuid'};
printf("Signal: %i channels of %i bits at %i Hz\n",
$p->{'channels'}, $p->{'bits'}, $p->{'rate'});
foreach (keys(%{$p->{'meta'}})) {
printf("%-10s %s\n", ucfirst(lc($_)).':', $p->{'meta'}->{$_});
}
}
sub time2lr {
my ($s) = @_;
my $m;
my $h;
$h = int($s / 3600);
$s = $s % 3600;
$m = int($s / 60);
$s = $s % 60;
return sprintf('%.2i:%.2i:%.2i', $h, $m, $s);
}
#ll
|