This file is indexed.

/usr/bin/rpld-listq 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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/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 $server;
my $queue;

while (@ARGV) {
 $_ = shift(@ARGV);

 if ( $_ eq '--help' ) {
  print STDERR "Usage: $0 [OPTIONS] [PLAYLIST]\n";
  exit(0);
 } elsif ( $_ eq '--server' ) {
  $server = shift(@ARGV);
 } elsif ( $_ eq '--queue' ) {
  $queue = shift(@ARGV);
 } else {
  unshift(@ARGV, $_);
  last;
 }
}

my ($pl) = @ARGV;

my $rpld = Audio::RPLD->new();
if ( defined($server) ) {
 $rpld->connect($server);
} else {
 $rpld->connect_default();
}
$rpld->is_connected() or die;

if ( defined($queue) ) {
 $rpld->setqueue($queue) or die;
}

my $list = $rpld->listq($pl) or die;

my $c;
my $meta;
my $num    = 0;
my $length = '';
my $discid = '';

my ($h, $m, $s);

foreach $c (@{$list}) {
 $meta = $c->{'meta'};

 if ( $c->{'length'} ) {
  $s = $c->{'length'};

  $h = int($s / 3600);
  $s = $s % 3600;

  $m = int($s / 60);
  $s = $s % 60;

  $length = sprintf('%.2i:%.2i:%.2i', $h, $m, $s);
 } else {
  $length = 'unknown';
 }

 if ( $meta->{'discid'} ) {
  $discid = sprintf('0x%.8X', $meta->{'discid'});
 } else {
  $discid = 'unknown';
 }

 $meta->{'artist'} = undef if lc($meta->{'artist'}) eq 'unknown';

 $c->{'codec'} ||= 'unknown';

 #printf("num:%-4i = %s, %s, %s\n", $num++, $c->{"longid"}, $c->{"shortid"}, $c->{"uuid"});
 printf("num:%-4i = %s, %s\n", $num++, $c->{"longid"}, $c->{"shortid"});
 printf("UUID:      %s\n", $c->{'uuid'}) if $c->{'uuid'};
 printf("File:      %s\n", $c->{'file'}) if $c->{'file'};

 printf("Codec:     %-14s Length: %-8s\n", $c->{'codec'}, $length)
      if $c->{'codec'} ne 'unknown' || $length ne 'unknown';

 printf("Disc:      %-10s     Track:  %2i of %2i\n",
    $discid, $meta->{'tracknumber'}, $meta->{'totaltracks'})
      if $discid ne 'unknown' || $meta->{'tracknumber'} || $meta->{'totaltracks'};

 printf("Album: %-32s Title:   %s\n", $meta->{'album'}, $meta->{'title'});
 printf("                                        Version: %s\n", $meta->{'version'}) if $meta->{'version'};

 printf("Artist: %-31s ", $meta->{'artist'}) if $meta->{'artist'};
 printf("Performer: %s", $meta->{'performer'}) if $meta->{'performer'};

 printf("\n") if $meta->{'artist'} || $meta->{'performer'};

 printf("\n");
}

$rpld->disconnect();

#ll