diff --git a/HTML/EN/songinfo_header.html b/HTML/EN/songinfo_header.html
index 7b27fdb6de4..a87ed2dd701 100644
--- a/HTML/EN/songinfo_header.html
+++ b/HTML/EN/songinfo_header.html
@@ -124,6 +124,10 @@
[% item = itemobj.albumlength.name; title = "LENGTH"; PROCESS songInfoItem %]
[% END %]
+ [% IF itemobj.release_type %]
+ [% item = itemobj.release_type.name | html; title = "RELEASE_TYPE"; PROCESS songInfoItem %]
+ [% END %]
+
[% IF itemobj.album.compilation || itemobj.compilation %]
[% item = "YES" | string; title = "COMPILATION"; PROCESS songInfoItem %]
[% END %]
diff --git a/Slim/Menu/AlbumInfo.pm b/Slim/Menu/AlbumInfo.pm
index a5c1246b37d..1320c1ca04f 100644
--- a/Slim/Menu/AlbumInfo.pm
+++ b/Slim/Menu/AlbumInfo.pm
@@ -110,8 +110,13 @@ sub registerDefaultInfoProviders {
func => \&infoDisc,
) );
- $class->registerInfoProvider( compilation => (
+ $class->registerInfoProvider( releaseType => (
after => 'year',
+ func => \&infoReleaseType,
+ ) );
+
+ $class->registerInfoProvider( compilation => (
+ after => 'releaseType',
func => \&infoCompilation,
) );
@@ -452,6 +457,22 @@ sub infoDuration {
return $item;
}
+sub infoReleaseType {
+ my ( $client, $url, $album ) = @_;
+
+ my $item;
+
+ if ( $album->release_type ) {
+ $item = {
+ type => 'text',
+ label => 'RELEASE_TYPE',
+ name => $album->releaseType,
+ };
+ }
+
+ return $item;
+}
+
sub infoCompilation {
my ( $client, $url, $album ) = @_;
diff --git a/Slim/Schema/Album.pm b/Slim/Schema/Album.pm
index 01b8f4cb4c5..df07ad2e15a 100644
--- a/Slim/Schema/Album.pm
+++ b/Slim/Schema/Album.pm
@@ -175,6 +175,11 @@ sub releaseTypeName {
return $name || $releaseType;
}
+sub releaseType {
+ my ($self, $client) = @_;
+ return $self->releaseTypeName($self->release_type, $client);
+}
+
# Update the title dynamically if we're part of a set.
sub title {
my $self = shift;
diff --git a/Slim/Web/XMLBrowser.pm b/Slim/Web/XMLBrowser.pm
index b4d17fc8d6a..214d9dd0e51 100644
--- a/Slim/Web/XMLBrowser.pm
+++ b/Slim/Web/XMLBrowser.pm
@@ -855,7 +855,7 @@ sub handleFeed {
my $i = 0;
my $roles = join ('|', Slim::Schema::Contributor->contributorRoles());
- my $allLabels = join ('|', $roles, qw(ALBUM GENRE YEAR ALBUMREPLAYGAIN ALBUMLENGTH COMPILATION WORK));
+ my $allLabels = join ('|', $roles, qw(ALBUM GENRE YEAR ALBUMREPLAYGAIN ALBUMLENGTH COMPILATION WORK RELEASE_TYPE));
foreach my $item ( @{ $feed->{'albumData'} || $stash->{'items'} } ) {
diff --git a/strings.txt b/strings.txt
index 221b99d6697..71b805d657a 100644
--- a/strings.txt
+++ b/strings.txt
@@ -12373,6 +12373,12 @@ ALBUM
SV Album
ZH_CN 专辑
+RELEASE_TYPE
+ DE Veröffentlichungstyp
+ EN Release type
+ FR Type de sorties
+ NL Releasetype
+
RELEASE_TYPE_SINGLE
EN Single