diff options
Diffstat (limited to 'cgi-bin/playlists/extrmp.pm')
| -rw-r--r-- | cgi-bin/playlists/extrmp.pm | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/cgi-bin/playlists/extrmp.pm b/cgi-bin/playlists/extrmp.pm new file mode 100644 index 0000000..f17eb82 --- /dev/null +++ b/cgi-bin/playlists/extrmp.pm @@ -0,0 +1,53 @@ +package extrmp; + +use strict; +use Globals; +use Globals qw(%PLATTERS); +use Globals qw($delim); + +sub new { + my $self = { + mime => "application/vnd.rn-rn_music_package", + playlist => "<PACKAGE>\n". + "<ACTION>import,play,replace</ACTION>\n". + '<SERVER><LOCATION>%f</LOCATION></SERVER>', + count => 0}; + bless ($self); + return $self; +} + +sub desc { + return "RealOne Player"; + } + +sub header { + my $self = shift; + my ($artist, $album) = @_; + $self->{playlist} .= "<TITLE>".makeNice($album)."</TITLE>". + "<SERVER><LOCATION>%f</LOCATION></SERVER>". + "<TARGET>".makeNice($album)."</TARGET>". + "<TRACKLIST>\n"; + +} + +sub track { + my $self = shift; + my ($folder, $trackartist, $album, $year, $track, $url, $platter) = @_; + my $artist = getArtistString($folder, $trackartist); + $self->{count}++; + $self->{playlist} .= "<TRACK>\n". + "<TRACKID>".$self->{count}."</TRACKID>\n". + "<TITLE>".makeNice($track)."</TITLE>\n". + "<ARTIST>".makeNice($artist)."</ARTIST>\n". + "<ALBUM>".makeNice($album)."</ALBUM>\n". + "<FILENAME>".makeTrackURL( $PLATTERS{$platter}, $url, $folder, $trackartist, $track )."</FILENAME>\n". + "</TRACK>\n"; + + } + +sub dump { + my $self = shift; + return $self->{playlist}."</TRACKLIST></PACKAGE>"; + } + +return 1; |
