diff --git a/Changelog8.html b/Changelog8.html
index 9758e42fad0..8ef5d00b489 100644
--- a/Changelog8.html
+++ b/Changelog8.html
@@ -22,6 +22,7 @@
Version 8.3.0
#751 - Shuffle tracks added with "playlist loadtracks" for a given year (thanks philchillbill!)
#758 - Allow selection of regional language (eg. ZH_CH or EN_GB) through JSONRPC (thanks expectingtofly!)
Remove support for media types other than audio (video, pictures).
+ Remove more legacy plugins: Amazon, MP3Tunes, Orange, YALP
diff --git a/Slim/Plugin/Amazon/HTML/EN/plugins/Amazon/html/images/icon.png b/Slim/Plugin/Amazon/HTML/EN/plugins/Amazon/html/images/icon.png
deleted file mode 100644
index 123adf85d79..00000000000
Binary files a/Slim/Plugin/Amazon/HTML/EN/plugins/Amazon/html/images/icon.png and /dev/null differ
diff --git a/Slim/Plugin/Amazon/HTML/EN/plugins/Amazon/html/images/icon_40x40_m.png b/Slim/Plugin/Amazon/HTML/EN/plugins/Amazon/html/images/icon_40x40_m.png
deleted file mode 100644
index fb60c9fd838..00000000000
Binary files a/Slim/Plugin/Amazon/HTML/EN/plugins/Amazon/html/images/icon_40x40_m.png and /dev/null differ
diff --git a/Slim/Plugin/Amazon/Plugin.pm b/Slim/Plugin/Amazon/Plugin.pm
deleted file mode 100644
index 8ae4a9d0fb2..00000000000
--- a/Slim/Plugin/Amazon/Plugin.pm
+++ /dev/null
@@ -1,72 +0,0 @@
-package Slim::Plugin::Amazon::Plugin;
-
-
-use strict;
-use base qw(Slim::Plugin::OPMLBased);
-
-use URI::Escape qw(uri_escape_utf8);
-
-sub initPlugin {
- my $class = shift;
-
- $class->SUPER::initPlugin(
- feed => Slim::Networking::SqueezeNetwork->url( '/api/amazon/v1/opml' ),
- tag => 'amazon',
- menu => 'music_stores',
- weight => 30,
- is_app => 1,
- );
-
- # Track Info item
- Slim::Menu::TrackInfo->registerInfoProvider( amazon => (
- after => 'middle',
- func => \&trackInfoMenu,
- ) );
-}
-
-sub getDisplayName {
- return 'PLUGIN_AMAZON_MODULE_NAME';
-}
-
-# Don't add this item to any menu
-sub playerMenu { }
-
-sub trackInfoMenu {
- my ( $client, $url, $track, $remoteMeta ) = @_;
-
- return unless $client;
-
- # Only show if in the app list
- return unless $client->isAppEnabled('amazon');
-
- my $artist = $track->remote ? $remoteMeta->{artist} : $track->artistName;
- my $album = $track->remote ? $remoteMeta->{album} : ( $track->album ? $track->album->name : undef );
- my $title = $track->remote ? $remoteMeta->{title} : $track->title;
-
- my $snURL = '/api/amazon/v1/opml/context';
-
- # Check for amazon-specific metadata
- if ( my $amazon = $remoteMeta->{amazon} ) {
- $snURL .= '?album_asin=' . $amazon->{album_asin}
- . '&album_asin_digital=' . $amazon->{album_asin_digital}
- . '&song_asin_digital=' . $amazon->{song_asin_digital};
- }
- else {
- # Search by artist/album/track
- $snURL .= '?artist=' . uri_escape_utf8($artist)
- . '&album=' . uri_escape_utf8($album)
- . '&track=' . uri_escape_utf8($title)
- . '&upc=' . $remoteMeta->{upc};
- }
-
- if ( $artist && ( $album || $title ) ) {
- return {
- type => 'link',
- name => $client->string('PLUGIN_AMAZON_ON_AMAZON'),
- url => Slim::Networking::SqueezeNetwork->url($snURL),
- favorites => 0,
- };
- }
-}
-
-1;
diff --git a/Slim/Plugin/Amazon/install.xml b/Slim/Plugin/Amazon/install.xml
deleted file mode 100644
index ad87aef0b40..00000000000
--- a/Slim/Plugin/Amazon/install.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- 587A25E9-49AB-4497-BE47-2962E5742DC4
- PLUGIN_AMAZON_MODULE_NAME
- Slim::Plugin::Amazon::Plugin
- 1.0
- PLUGIN_AMAZON_MODULE_NAME
- Logitech
- enabled
- true
- http://www.mysqueezebox.com/appgallery/Amazon
- plugins/Amazon/html/images/icon.png
- 2
-
- Logitech Media Server
- 7.3
- *
-
-
diff --git a/Slim/Plugin/Amazon/strings.txt b/Slim/Plugin/Amazon/strings.txt
deleted file mode 100644
index 4c17b66a1dd..00000000000
--- a/Slim/Plugin/Amazon/strings.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-PLUGIN_AMAZON_MODULE_NAME
- CS Amazon - CD obchod
- DA Amazons cd-butik
- DE Amazon-CD-Store
- EN Amazon CD Store
- ES Amazon CD Store
- FI Amazonin CD-kauppa
- FR Magasin de CD Amazon
- IT Amazon CD Store
- NL Amazon CD Store
- NO Amazons cd-butikk
- PL Amazon - sklep z płytami CD
- RU Магазин CD Amazon
- SV Amazon CD Store
-
-PLUGIN_AMAZON_ON_AMAZON
- CS Na Amazonu
- DA På Amazon
- DE Bei Amazon
- EN On Amazon
- ES En Amazon
- FI Amazonilla
- FR Sur Amazon
- IT Su Amazon
- NL Op Amazon
- NO På Amazon
- PL Na stronie Amazon
- RU На Amazon
- SV På Amazon
-
diff --git a/Slim/Plugin/MP3tunes/HTML/EN/plugins/MP3tunes/html/images/icon.png b/Slim/Plugin/MP3tunes/HTML/EN/plugins/MP3tunes/html/images/icon.png
deleted file mode 100755
index a97b5de99ac..00000000000
Binary files a/Slim/Plugin/MP3tunes/HTML/EN/plugins/MP3tunes/html/images/icon.png and /dev/null differ
diff --git a/Slim/Plugin/MP3tunes/HTML/EN/plugins/MP3tunes/html/images/icon_40x40_m.png b/Slim/Plugin/MP3tunes/HTML/EN/plugins/MP3tunes/html/images/icon_40x40_m.png
deleted file mode 100644
index 6f620c23648..00000000000
Binary files a/Slim/Plugin/MP3tunes/HTML/EN/plugins/MP3tunes/html/images/icon_40x40_m.png and /dev/null differ
diff --git a/Slim/Plugin/MP3tunes/Plugin.pm b/Slim/Plugin/MP3tunes/Plugin.pm
deleted file mode 100644
index b90105bef4b..00000000000
--- a/Slim/Plugin/MP3tunes/Plugin.pm
+++ /dev/null
@@ -1,136 +0,0 @@
-package Slim::Plugin::MP3tunes::Plugin;
-
-
-# Browse MP3tunes via SqueezeNetwork
-
-use strict;
-use base qw(Slim::Plugin::OPMLBased);
-use Date::Parse;
-
-use Slim::Formats::RemoteMetadata;
-use Slim::Networking::SqueezeNetwork;
-
-sub initPlugin {
- my $class = shift;
-
- Slim::Player::ProtocolHandlers->registerIconHandler(
- qr/(?:mysqueezebox\.com.*\/mp3tunes|mp3tunes\.com\/)/,
- sub { return $class->_pluginDataFor('icon'); }
- );
-
- $class->SUPER::initPlugin(
- feed => Slim::Networking::SqueezeNetwork->url('/api/mp3tunes/v1/opml'),
- tag => 'mp3tunes',
- menu => 'music_services',
- weight => 50,
- is_app => 1,
- );
-
- Slim::Formats::RemoteMetadata->registerProvider(
- match => qr{mp3tunes\.com|mysqueezebox\.com/mp3tunes},
- func => \&metaProvider,
- );
-}
-
-sub getDisplayName () {
- return 'PLUGIN_MP3TUNES_MODULE_NAME';
-}
-
-# Don't add this item to any menu
-sub playerMenu { }
-
-# If the HTTP protocol handler sees an mp3tunes X-Locker-Info header, it will
-# pass it to us
-sub setLockerInfo {
- my ( $class, $client, $url, $info ) = @_;
-
- if ( $info =~ /(.+) - (.+) - (\d+) - (.+)/ ) {
- my $artist = $1;
- my $album = $2;
- my $tracknum = $3;
- my $title = $4;
-
- # DAR.fm has slightly different formatting: $title would be the same as the track no.
- # let's shuffle things around to get the recording title as the track title
- if ($artist && $title && $title + 0 == $tracknum) {
- $title = $artist;
- $artist = '';
-
- # DAR.fm appends the station name to the title - move it to the $artist value
- if ($title =~ s/ \((.*?)\)$//) {
- $artist = $1;
- }
-
- # try to localize the recording date
- if (my $date = Date::Parse::str2time($album)) {
- $album = Slim::Utils::DateTime::shortDateF($date);
- }
- }
-
- my $cover;
-
- if ( $url =~ /hasArt=1/ ) {
- my ($id) = $url =~ m/([0-9a-f]+\?sid=[0-9a-f]+)/;
- $cover = "http://content.mp3tunes.com/storage/albumartget/$id";
- }
-
- $client->master->pluginData( currentTrack => {
- url => $url,
- artist => $artist,
- album => $album,
- tracknum => $tracknum,
- title => $title,
- cover => $cover,
- } );
- }
-}
-
-sub getLockerInfo {
- my ( $class, $client, $url ) = @_;
-
- my $meta = $client->master->pluginData('currentTrack');
-
- if ( $meta->{url} eq $url ) {
- return $meta;
- }
-
- return;
-}
-
-sub metaProvider {
- my ( $client, $url ) = @_;
-
- my $icon = __PACKAGE__->_pluginDataFor('icon');
- my $meta = __PACKAGE__->getLockerInfo( $client, $url );
-
- if ( $meta ) {
- # Metadata for currently playing song
- return {
- artist => $meta->{artist},
- album => $meta->{album},
- tracknum => $meta->{tracknum},
- title => $meta->{title},
- cover => $meta->{cover} || $icon,
- icon => $icon,
- type => 'MP3tunes',
- };
- }
- else {
- # Metadata for items in the playlist that have not yet been played
-
- # We can still get cover art for items not yet played
- my $cover;
- if ( $url =~ /hasArt=1/ ) {
- my ($id) = $url =~ m/([0-9a-f]+\?sid=[0-9a-f]+)/;
- $cover = "http://content.mp3tunes.com/storage/albumartget/$id";
- }
-
- return {
- cover => $cover || $icon,
- icon => $icon,
- type => 'MP3tunes',
- };
- }
-}
-
-1;
diff --git a/Slim/Plugin/MP3tunes/install.xml b/Slim/Plugin/MP3tunes/install.xml
deleted file mode 100644
index 0cd8c460237..00000000000
--- a/Slim/Plugin/MP3tunes/install.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- D91733B9-C52A-4D15-AEBC-8C0257FC3E0A
- PLUGIN_MP3TUNES_MODULE_NAME
- Slim::Plugin::MP3tunes::Plugin
- 1.0
- PLUGIN_MP3TUNES_MODULE_NAME_DESC
- Logitech
- enabled
- true
- http://www.mysqueezebox.com/appgallery/MP3tunes
- plugins/MP3tunes/html/images/icon.png
- 2
-
- Logitech Media Server
- 7.0a
- *
-
-
diff --git a/Slim/Plugin/MP3tunes/strings.txt b/Slim/Plugin/MP3tunes/strings.txt
deleted file mode 100644
index b2c73c58572..00000000000
--- a/Slim/Plugin/MP3tunes/strings.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-PLUGIN_MP3TUNES_MODULE_NAME
- CS Úschovna MP3tunes Music
- DA MP3tunes Music Locker
- DE MP3tunes-Musiktruhe
- EN MP3tunes Music Locker
- ES Armario de música de MP3tunes
- FI MP3tunes-musiikkilokero
- FR Librairie musicale en ligne - MP3tunes
- IT Raccoglitore musicale MP3tunes
- NL MP3tunes Music Locker
- NO MP3tunes Music Locker
- PL MP3tunes Music Locker
- RU Музыкальный архив MP3tunes
- SV MP3tunes Music Locker
-
-PLUGIN_MP3TUNES_LOADING
- CS Přihlašování...
- DA Logger på...
- DE Anmelden läuft ...
- EN Logging in...
- ES Iniciando sesión...
- FI Kirjaudutaan...
- FR Connexion en cours...
- IT Accesso in corso...
- NL Bezig met aanmelden...
- NO Logger på...
- PL Logowanie...
- RU Вход в систему...
- SV Loggar in...
-
-PLUGIN_MP3TUNES_MODULE_NAME_DESC
- CS Přístup k hudbě z vaší úschovny MP3tunes Music. Tento zásuvný modul vyžaduje účet mysqueezebox.com.
- DA Du kan høre numre som er gemt i din MP3tunes Music Locker. Dette udvidelsesmodul kræver at du har en konto til mysqueezebox.com.
- DE Zugriff auf den MP3tunes Music Locker gewähren. Dieses Plugin benötigt ein mysqueezebox.com-Konto.
- EN Access music from your MP3tunes Music Locker. This plugin requires a mysqueezebox.com account.
- ES Acceso a música en su Armario de música de MP3tunes. Este extra requiere una cuenta mysqueezebox.com.
- FI Käytä MP3tunes-musiikkilokerossa olevaa musiikkia. Laajennus vaatii mysqueezebox.com-tilin.
- FR Accès à la musique de votre librairie musicale en ligne MP3tunes. Cet extra nécessite un compte mysqueezebox.com.
- IT Accesso ai brani del raccoglitore musicale MP3tunes. Questo plugin richiede un account mysqueezebox.com.
- NL Krijg toegang tot muziek vanuit jouw MP3tunes Music Locker. Voor deze plug-in is een mysqueezebox.com account vereist.
- NO Hent musikk fra MP3tunes Music Locker. Du må ha en konto på mysqueezebox.com for å kunne bruke denne plugin-modulen.
- PL Uzyskaj dostęp do muzyki w usłudze MP3tunes Music Locker. Ten dodatek wymaga konta w usłudze mysqueezebox.com.
- RU Получайте доступ к песням в своем музыкальном архиве MP3tunes. Для этого подключаемого модуля требуется учетная запись mysqueezebox.com.
- SV Få tillgång till musiken i ditt MP3tunes-arkiv. Det här plugin-programmet kräver ett mysqueezebox.com-konto.
-
diff --git a/Slim/Plugin/Orange/HTML/EN/plugins/Orange/html/images/icon.png b/Slim/Plugin/Orange/HTML/EN/plugins/Orange/html/images/icon.png
deleted file mode 100644
index d5f71aec590..00000000000
Binary files a/Slim/Plugin/Orange/HTML/EN/plugins/Orange/html/images/icon.png and /dev/null differ
diff --git a/Slim/Plugin/Orange/Metadata.pm b/Slim/Plugin/Orange/Metadata.pm
deleted file mode 100644
index f65ed5d8c69..00000000000
--- a/Slim/Plugin/Orange/Metadata.pm
+++ /dev/null
@@ -1,222 +0,0 @@
-package Slim::Plugin::Orange::Metadata;
-
-# Logitech Media Server Copyright 2003-2020 Logitech.
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License,
-# version 2.
-
-use strict;
-
-use URI::Escape qw(uri_escape_utf8);
-use URI::Split qw(uri_split);
-
-use Slim::Formats::RemoteMetadata;
-use JSON::XS::VersionOneAndTwo;
-use Slim::Music::Info;
-use Slim::Networking::SimpleAsyncHTTP;
-use Slim::Utils::Log;
-
-my $ICON = Slim::Plugin::Orange::Plugin->_pluginDataFor('icon');
-
-my $log = logger('plugin.orange');
-
-sub init {
- my $class = shift;
-
- Slim::Formats::RemoteMetadata->registerParser(
- match => qr/api\/orange\/v1/,
- func => \&parser,
- );
-
- Slim::Formats::RemoteMetadata->registerProvider(
- match => qr/api\/orange\/v1/,
- func => \&provider,
- );
-}
-
-sub defaultMeta {
- my ( $client, $url ) = @_;
-
- return {
- title => Slim::Music::Info::getCurrentTitle($url),
- icon => $ICON,
- type => $client->string('RADIO'),
- ttl => time() + 30,
- };
-}
-
-sub provider {
- my ( $client, $url ) = @_;
-
- if ( !$client->isPlaying && !$client->isPaused ) {
- return defaultMeta( $client, $url );
- }
-
- if ( my $meta = $client->master->pluginData('metadata') ) {
-
- if ( $meta->{_url} eq $url ) {
- $meta->{title} ||= Slim::Music::Info::getCurrentTitle($url);
-
- # need to refresh meta data
- if ($meta->{ttl} < time()) {
- fetchMetadata( $client, $url );
- }
-
- return $meta;
- }
-
- }
-
- if ( !$client->master->pluginData('fetchingMeta') ) {
- fetchMetadata( $client, $url );
- }
-
- return defaultMeta( $client, $url );
-}
-
-sub fetchMetadata {
- my ( $client, $url ) = @_;
-
- return unless $client;
-
- Slim::Utils::Timers::killTimers( $client, \&fetchMetadata );
-
- # Make sure client is still playing this station
- if ( Slim::Player::Playlist::url($client) ne $url ) {
- main::DEBUGLOG && $log->is_debug && $log->debug( $client->id . " no longer playing $url, stopping metadata fetch" );
- return;
- }
-
- $client->master->pluginData( fetchingMeta => 1 );
-
- my ($scheme, $auth, $path, $query, $frag) = uri_split($url);
-
- # SN URL to fetch track info menu
- my $metaUrl = Slim::Networking::SqueezeNetwork->url(
- '/api/orange/v1/playback/getMetadata?' . $query
- );
-
- main::DEBUGLOG && $log->is_debug && $log->debug( "Fetching Orange metadata from $metaUrl" );
-
- my $http = Slim::Networking::SqueezeNetwork->new(
- \&_gotMetadata,
- \&_gotMetadataError,
- {
- client => $client,
- url => $url,
- timeout => 30,
- },
- );
-
- $http->get( $metaUrl );
-}
-
-sub _gotMetadata {
- my $http = shift;
- my $client = $http->params('client');
- my $url = $http->params('url');
-
- my $feed = eval { from_json( $http->content ) };
-
- if ( $@ ) {
- $http->error( $@ );
- _gotMetadataError( $http );
- return;
- }
-
- if ( main::DEBUGLOG && $log->is_debug ) {
- $log->debug( "Raw Orange metadata: " . Data::Dump::dump($feed) );
- }
-
- my $meta = defaultMeta( $client, $url );
- $meta->{_url} = $url;
-
- while (my ($k, $v) = each %{$feed}) {
- if ($v) {
- $meta->{$k} = $v;
- }
- }
-
- if ($meta->{ttl} < time()) {
- $meta->{ttl} = time() + ($meta->{ttl} || 60);
- }
-
- $client->master->pluginData( fetchingMeta => 0 );
- $client->master->pluginData( metadata => $meta );
-
- Slim::Control::Request::notifyFromArray( $client, [ 'newmetadata' ] );
-
- Slim::Utils::Timers::setTimer(
- $client,
- $meta->{ttl},
- \&fetchMetadata,
- $url,
- );
-}
-
-sub _gotMetadataError {
- my $http = shift;
- my $client = $http->params('client');
- my $url = $http->params('url');
- my $error = $http->error;
-
- main::DEBUGLOG && $log->is_debug && $log->debug( "Error fetching Orange metadata: $error" );
-
- $client->master->pluginData( fetchingMeta => 0 );
-
- # To avoid flooding the RT servers in the case of errors, we just ignore further
- # metadata for this station if we get an error
- my $meta = defaultMeta( $client, $url );
- $meta->{_url} = $url;
-
- $client->master->pluginData( metadata => $meta );
-
- Slim::Control::Request::notifyFromArray( $client, [ 'newmetadata' ] );
-
- Slim::Utils::Timers::setTimer(
- $client,
- $meta->{ttl},
- \&fetchMetadata,
- $url,
- );
-}
-
-sub parser {
- my ( $client, $url, $metadata ) = @_;
-
- # If a station is providing Icy metadata, disable metadata
- # provided by Orange
- if ( $metadata =~ /StreamTitle=\'([^']+)\'/ ) {
- if ( $1 ) {
- if ( $client->master->pluginData('metadata' ) ) {
- main::DEBUGLOG && $log->is_debug && $log->debug('Disabling Orange metadata, stream has Icy metadata');
-
- Slim::Utils::Timers::killTimers( $client, \&fetchMetadata );
- #$client->master->pluginData( metadata => undef );
- }
-
- # Let the default metadata handler process the Icy metadata
- $client->master->pluginData( hasIcy => $url );
- return;
- }
- }
-
- # If a station is providing WMA metadata, disable metadata
- # provided by Orange
- elsif ( $metadata =~ /(?:CAPTION|artist|type=SONG)/ ) {
- if ( $client->master->pluginData('metadata' ) ) {
- main::DEBUGLOG && $log->is_debug && $log->debug('Disabling Orange metadata, stream has WMA metadata');
-
- Slim::Utils::Timers::killTimers( $client, \&fetchMetadata );
- #$client->master->pluginData( metadata => undef );
- }
-
- # Let the default metadata handler process the WMA metadata
- $client->master->pluginData( hasIcy => $url );
- return;
- }
-
- return 1;
-}
-
-1;
diff --git a/Slim/Plugin/Orange/Plugin.pm b/Slim/Plugin/Orange/Plugin.pm
deleted file mode 100644
index 6e8921d0e63..00000000000
--- a/Slim/Plugin/Orange/Plugin.pm
+++ /dev/null
@@ -1,90 +0,0 @@
-package Slim::Plugin::Orange::Plugin;
-
-# Logitech Media Server Copyright 2003-2020 Logitech.
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License,
-# version 2.
-
-use strict;
-use base qw(Slim::Plugin::OPMLBased);
-
-use URI::Split qw(uri_split);
-use Slim::Player::ProtocolHandlers;
-use Slim::Plugin::Orange::Metadata;
-use Slim::Networking::SqueezeNetwork;
-use Slim::Utils::Strings qw(cstring);
-
-my $log = Slim::Utils::Log->addLogCategory( {
- category => 'plugin.orange',
- defaultLevel => 'ERROR',
- description => 'PLUGIN_ORANGE_LIVERADIO',
-} );
-
-sub initPlugin {
- my $class = shift;
-
- Slim::Plugin::Orange::Metadata->init();
-
- Slim::Player::ProtocolHandlers->registerIconHandler(
- qr|mysqueezebox\.com.*/api/orange/|,
- sub { $class->_pluginDataFor('icon') }
- );
-
- # Track Info handler
- Slim::Menu::TrackInfo->registerInfoProvider( infoOrange => (
- before => 'top',
- func => \&trackInfoHandler,
- ) );
-
- $class->SUPER::initPlugin(
- feed => Slim::Networking::SqueezeNetwork->url('/api/orange/v1/opml'),
- tag => 'orange',
- menu => 'radios',
- weight => 40,
- is_app => 1,
- );
-}
-
-sub getDisplayName () {
- return 'PLUGIN_ORANGE_LIVERADIO';
-}
-
-# Don't add this item to any menu
-sub playerMenu { }
-
-sub trackInfoHandler {
- my ( $client, $url, $track ) = @_;
-
- my $items = [];
-
- if ( $url =~ m{^http://.*/api/orange/v1} ) {
- push @$items, {
- name => cstring($client, 'PLUGIN_ORANGE_OPTIONS'),
- url => __PACKAGE__->trackInfoURL( $client, $url, 'orange_options' ),
- };
- push @$items , {
- name => cstring($client, 'PLUGIN_ORANGE_FAVORITES'),
- url => __PACKAGE__->trackInfoURL( $client, $url, 'orange_favorites' ),
- };
- }
-
- return $items;
-}
-
-# URL used for CLI trackinfo queries
-sub trackInfoURL {
- my ( $class, $client, $url, $type ) = @_;
-
- my ($scheme, $auth, $path, $query, $frag) = uri_split($url);
-
- $query .= '&type=' . $type;
-
- # SN URL to fetch track info menu
- my $trackInfoURL = Slim::Networking::SqueezeNetwork->url(
- '/api/orange/v1/opml/trackinfo?' . $query
- );
-
- return $trackInfoURL;
-}
-
-1;
diff --git a/Slim/Plugin/Orange/install.xml b/Slim/Plugin/Orange/install.xml
deleted file mode 100644
index a7a09231d05..00000000000
--- a/Slim/Plugin/Orange/install.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- 659FB200-642F-11E0-AE3E-0800200C9A66
- PLUGIN_ORANGE_LIVERADIO
- Slim::Plugin::Orange::Plugin
- 1.0
- PLUGIN_ORANGE_LIVERADIO
- Logitech
- enabled
- true
- http://www.mysqueezebox.com/appgallery/Orange
- plugins/Orange/html/images/icon.png
- 2
-
- Logitech Media Server
- 7.5
- *
-
-
diff --git a/Slim/Plugin/Orange/strings.txt b/Slim/Plugin/Orange/strings.txt
deleted file mode 100644
index 55ecc933446..00000000000
--- a/Slim/Plugin/Orange/strings.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-PLUGIN_ORANGE_LIVERADIO
- EN Orange Liveradio
- NL Orange Liveradio
- NO Orange Liveradio
-
-PLUGIN_ORANGE_FAVORITES
- CS Orange Liveradio – oblíbené
- DA Orange Liveradio-favoritter
- DE Orange Liveradio-Favoriten
- EN Orange Liveradio Favorites
- EN_GB Orange Liveradio Favourites
- ES Favoritos de Orange Liveradio
- FI Orangen Liveradio-suosikit
- FR Favoris Orange Liveradio
- IT Preferiti di Orange Liveradio
- NL Orange Liveradio favorieten
- NO Orange Liveradio-favoritter
- PL Ulubione Orange Liveradio
- RU Избранное Orange Liveradio
- SV Orange Liveradio-favoriter
-
-PLUGIN_ORANGE_ERROR
- CS Liveradio - chyba
- DA Liveradio har angivet en fejl
- DE LiveRadio-Fehler
- EN LiveRadio Error
- ES Error de LiveRadio
- FI LiveRadion virhe
- FR Erreur Liveradio
- IT Errore LiveRadio
- NL Fout bij Liveradio
- NO LiveRadio-feil
- PL Błąd usługi Liveradio
- RU LiveRadio Error
- SV LiveRadio-fel
-
-PLUGIN_ORANGE_OPTIONS
- CS Orange Liveradio - možnosti
- DA Orange Liveradio, valgmuligheder
- DE Optionen für Orange Liveradio
- EN Orange Liveradio Options
- ES Opciones de Orange Liveradio
- FI Orange Liveradion asetukset
- FR Options Orange Liveradio
- IT Opzioni Orange Liveradio
- NL Opties voor Orange Liveradio
- NO Alternativer for Orange Liveradio
- PL Opcje usługi Orange Liveradio
- RU Orange Liveradio Options
- SV Alternativ för Orange Liveradio
-
diff --git a/Slim/Plugin/YALP/Plugin.pm b/Slim/Plugin/YALP/Plugin.pm
deleted file mode 100644
index adf126d6f7d..00000000000
--- a/Slim/Plugin/YALP/Plugin.pm
+++ /dev/null
@@ -1,51 +0,0 @@
-package Slim::Plugin::YALP::Plugin;
-
-# WMA metadata parser for YALP radio
-# /tilive1.alice.cdn.interbusiness.it/
-
-use strict;
-
-use Slim::Formats::RemoteMetadata;
-use Slim::Utils::Log;
-
-my $log = logger('formats.metadata');
-
-use constant IMAGE_PREFIX => 'http://images.rossoalice.alice.it/musicbox/';
-
-sub initPlugin {
- Slim::Formats::RemoteMetadata->registerParser(
- match => qr/tilive1.alice.cdn.interbusiness.it/,
- func => \&parser,
- );
-}
-
-sub parser {
- my ( $client, $url, $metadata ) = @_;
-
- # Sequence number|Asset ID|Song Title|Artist Name|Comment|Sellable|Small Image|Large Image
- # There are 4 songs in the metadata, separated by semicolons,
- # the current song has sequence number 0
-
- my ($title, $artist, $comment, $simage, $limage)
- = $metadata =~ m{;0\|\d+\|([^|]+)?\|([^|]+)?\|([^|]+)?\|\d?\|([^|]+)?\|([^|]+)?;};
-
- my $cover
- = $limage =~ /\.(?:jpg|png|gif)/i ? IMAGE_PREFIX . $limage
- : $simage =~ /\.(?:jpg|png|gif)/i ? IMAGE_PREFIX . $simage
- : undef;
-
- my $meta = {
- title => $title,
- artist => $artist,
- cover => $cover,
- };
-
- # This metadata is read by HTTP's getMetadataFor
- $client->playingSong->pluginData( wmaMeta => $meta );
-
- main::DEBUGLOG && $log->is_debug && $log->debug( "YALP metadata: " . Data::Dump::dump($meta) );
-
- return 1;
-}
-
-1;
\ No newline at end of file
diff --git a/Slim/Plugin/YALP/install.xml b/Slim/Plugin/YALP/install.xml
deleted file mode 100644
index 49b1300055f..00000000000
--- a/Slim/Plugin/YALP/install.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- b29433d0-e9bc-4e3d-8907-89aa77bab5b8
- PLUGIN_YALP
- Slim::Plugin::YALP::Plugin
- 1.0
- PLUGIN_YALP
- Logitech
-
- disabled
-
- http://www.mysqueezebox.com/support
- 2
-
- Logitech Media Server
- 7.0a
- *
-
-
diff --git a/Slim/Plugin/YALP/strings.txt b/Slim/Plugin/YALP/strings.txt
deleted file mode 100644
index c45d9266a58..00000000000
--- a/Slim/Plugin/YALP/strings.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-PLUGIN_YALP
- EN WMA metadata parser for YALP radio
- FR Analyseur de métadonnées WMA pour la radio YALP
- NL WMA metadata parser voor YALP radio