summaryrefslogtreecommitdiff
path: root/cgi-bin/playlists/extwvx.pm
diff options
context:
space:
mode:
Diffstat (limited to 'cgi-bin/playlists/extwvx.pm')
-rw-r--r--cgi-bin/playlists/extwvx.pm64
1 files changed, 64 insertions, 0 deletions
diff --git a/cgi-bin/playlists/extwvx.pm b/cgi-bin/playlists/extwvx.pm
new file mode 100644
index 0000000..7decaee
--- /dev/null
+++ b/cgi-bin/playlists/extwvx.pm
@@ -0,0 +1,64 @@
+package extwvx;
+
+use strict;
+
+use Globals;
+use Globals qw($CGIROOT);
+use Globals qw($APPNAME);
+use Globals qw(%PLATTERS);
+use Globals qw($delim);
+use Globals qw(@VIDEO);
+
+sub new {
+ my $self = {
+ mime => "video/x-ms-wvx",
+ playlist => "<Asx Version = \"3.0\" >\n"};
+ bless ($self);
+ return $self;
+}
+
+sub desc {
+ return "Windows Media Player Playlist";
+ }
+
+sub header {
+ my $self = shift;
+ my ($artist, $album) = @_;
+ $album =~ /(\d{2} - |)(.*)(\((\d{4})\)|)/;
+ $self->{playlist} .= "<Title>$2</Title>".
+ "<Author>$artist</Author>".
+ "<Param Name = \"AllowShuffle\" Value = \"yes\" />\n";
+}
+
+sub track {
+ my $self = shift;
+
+ my ($folder, $trackartist, $album, $year, $track, $url, $platter) = @_;
+ my $artist = getArtistString($folder, $trackartist);
+
+ my $mediatype = "audio";
+ $track =~ /.*\.(.*?)/i;
+ my $filetype = $1;
+ foreach (@VIDEO) {
+ $mediatype = "video" if (/^$filetype$/i);
+ }
+
+ $self->{playlist} .= "<Entry>\n".
+ "<Title>".makeNice($track)."</Title>\n".
+ "<Ref href = \"".makeTrackURL( $PLATTERS{$platter}, $url, $folder, $trackartist, $track )."\"/>\n".
+ "<Param Name = \"Artist\" Value = \"".$artist."\" />\n".
+ "<Param Name = \"Album\" Value = \"".makeNice($album)."\" />\n".
+ "<Param Name = \"MediaType\" Value = \"".$mediatype."\" />\n".
+ "<Banner Href = \"http://$CGIROOT/platdoc/img/banner.png\">\n".
+ "<Abstract>Click to go to the ".makeNice($folder)." page</Abstract>\n".
+ "<Moreinfo Href=\"http://$CGIROOT/$APPNAME/front.plx?artist=".makeUnNice($folder)."&album=".makeUnNice($album)."\" />\n".
+ "</Banner>\n".
+ "</Entry>\n";
+ }
+
+sub dump {
+ my $self = shift;
+ return $self->{playlist}."</Asx>";
+ }
+
+return 1;