diff --git a/GitVersion.yml b/GitVersion.yml
index d984e63..f3dad2e 100644
--- a/GitVersion.yml
+++ b/GitVersion.yml
@@ -3,4 +3,4 @@ ignore:
sha: []
merge-message-formats: {}
mode: ContinuousDelivery
-next-version: 2.11.4
+next-version: 2.11.5
diff --git a/assets/plexmovieposter/PMPDLib.php b/assets/plexmovieposter/PMPDLib.php
index 8ece9cf..330d594 100644
--- a/assets/plexmovieposter/PMPDLib.php
+++ b/assets/plexmovieposter/PMPDLib.php
@@ -285,10 +285,11 @@ function SetFullScreenMode($SetMode = FALSE) {
}
}
-function PMPD_DisplayMediaInfo(){
+function PMPD_DisplayMediaInfo() {
// Global Variables - Input
global $mediaContentRating, $mediaVideoCodec, $mediaVideoResolution, $mediaAudioCodec, $mediaAudioChannelLayout;
-
+ global $bottomSize;
+
// Global Variables - Output
global $bottomLine;
@@ -296,76 +297,76 @@ function PMPD_DisplayMediaInfo(){
$title = "PRESENTED IN";
- $iconSizeWidth = "20%";
-
// https://www.spectrum.net/support/tv/tv-and-movie-ratings-descriptions/
+ $iconChangeID = "2021-03-31";
+
switch ($mediaContentRating) {
case "TV-Y":
- $contentRatingProfile = "$iconPath/Rated-TVY.png";
+ $contentRatingProfile = "$iconPath/Rated-TVY.png?$iconChangeID";
break;
case "TV-Y7":
- $contentRatingProfile = "$iconPath/Rated-TVY7.png";
+ $contentRatingProfile = "$iconPath/Rated-TVY7.png?$iconChangeID";
break;
case "TV-Y7 FV":
- $contentRatingProfile = "$iconPath/Rated-TVY7FV.png";
+ $contentRatingProfile = "$iconPath/Rated-TVY7FV.png?$iconChangeID";
break;
case "G":
- $contentRatingProfile = "$iconPath/Rated-G.png";
+ $contentRatingProfile = "$iconPath/Rated-G.png?$iconChangeID";
break;
case "TV-G":
- $contentRatingProfile = "$iconPath/Rated-TVG.png";
+ $contentRatingProfile = "$iconPath/Rated-TVG.png?$iconChangeID";
break;
case "PG":
- $contentRatingProfile = "$iconPath/Rated-PG.png";
+ $contentRatingProfile = "$iconPath/Rated-PG.png?$iconChangeID";
break;
case "TV-PG":
- $contentRatingProfile = "$iconPath/Rated-TVPG.png";
+ $contentRatingProfile = "$iconPath/Rated-TVPG.png?$iconChangeID";
break;
case "PG-13":
- $contentRatingProfile = "$iconPath/Rated-PG13.png";
+ $contentRatingProfile = "$iconPath/Rated-PG13.png?$iconChangeID";
break;
case "TV-14":
- $contentRatingProfile = "$iconPath/Rated-TV14.png";
+ $contentRatingProfile = "$iconPath/Rated-TV14.png?$iconChangeID";
break;
case "R":
- $contentRatingProfile = "$iconPath/Rated-R.png";
+ $contentRatingProfile = "$iconPath/Rated-R.png?$iconChangeID";
break;
case "TV-MA":
- $contentRatingProfile = "$iconPath/Rated-TVMA.png";
+ $contentRatingProfile = "$iconPath/Rated-TVMA.png?$iconChangeID";
break;
case "NC-17":
- $contentRatingProfile = "$iconPath/Rated-NC17.png";
+ $contentRatingProfile = "$iconPath/Rated-NC17.png?$iconChangeID";
break;
case "XXX":
- $contentRatingProfile = "$iconPath/Rated-XXX.png";
+ $contentRatingProfile = "$iconPath/Rated-XXX.png?$iconChangeID";
break;
default:
- $contentRatingProfile = "$iconPath/Rated-NA.png";
+ $contentRatingProfile = "$iconPath/Rated-NA.png?$iconChangeID";
break;
}
switch ($mediaVideoResolution) {
case "sd":
- $videoResolutionProfile = "$iconPath/Res-SD.png";
+ $videoResolutionProfile = "$iconPath/Res-SD.png?$iconChangeID";
break;
case "720":
- $videoResolutionProfile = "$iconPath/Res-HD720.png";
+ $videoResolutionProfile = "$iconPath/Res-HD720.png?$iconChangeID";
break;
case "720p":
- $videoResolutionProfile = "$iconPath/Res-HD720.png";
+ $videoResolutionProfile = "$iconPath/Res-HD720.png?$iconChangeID";
break;
case "1080":
- $videoResolutionProfile = "$iconPath/Res-HD1080.png";
+ $videoResolutionProfile = "$iconPath/Res-HD1080.png?$iconChangeID";
break;
case "1080p":
- $videoResolutionProfile = "$iconPath/Res-HD1080.png";
+ $videoResolutionProfile = "$iconPath/Res-HD1080.png?$iconChangeID";
break;
case "4k":
- $videoResolutionProfile = "$iconPath/Res-UHD4K.png";
+ $videoResolutionProfile = "$iconPath/Res-UHD4K.png?$iconChangeID";
break;
case "8k":
- $videoResolutionProfile = "$iconPath/Res-UHD8K.png";
+ $videoResolutionProfile = "$iconPath/Res-UHD8K.png?$iconChangeID";
break;
default:
$videoResolutionProfile = "";
@@ -416,16 +417,17 @@ function PMPD_DisplayMediaInfo(){
switch ($mediaAudioChannelLayout) {
case "mono":
- $audioChannelLayoutProfile = "";
+ $audioChannelLayoutProfile = "$iconPath/Sound-Mono.png?$iconChangeID";
break;
case "stereo":
- $audioChannelLayoutProfile = "";
+ $audioChannelLayoutProfile = "$iconPath/Sound-2.0.png?$iconChangeID";
break;
- case "5.1":
- $audioChannelLayoutProfile = "";
+ // case "5.1":
+ case (preg_match('/5.1.*/', $mediaAudioChannelLayout) ? TRUE : FALSE):
+ $audioChannelLayoutProfile = "$iconPath/Sound-5.1.png?$iconChangeID";
break;
case "7.1":
- $audioChannelLayoutProfile = "$iconPath/Dolby_TRUEHD71.png";
+ $audioChannelLayoutProfile = "$iconPath/Dolby_TRUEHD71.png?$iconChangeID";
break;
default:
$audioCodecProfile = "";
@@ -433,17 +435,17 @@ function PMPD_DisplayMediaInfo(){
}
$profileHeader = "";
- $titleProfile = "
$title
";
+ $titleProfile = "
";
- $mediaProfiles = "$videoResolutionProfile $videoCodecProfile $audioChannelLayoutProfile $contentRatingProfile";
+ $mediaProfiles = $videoResolutionProfile . $videoCodecProfile . $audioChannelLayoutProfile . $contentRatingProfile;
$masterProfile = "$profileHeader $titleProfile $mediaProfiles $profileFooter";
diff --git a/assets/plexmovieposter/PlexLib.php b/assets/plexmovieposter/PlexLib.php
index 6438359..a078a76 100644
--- a/assets/plexmovieposter/PlexLib.php
+++ b/assets/plexmovieposter/PlexLib.php
@@ -3,6 +3,8 @@
// NEED TO SUPPORT "movie" and "show" as well as "clients"
function plex_metadata_base($mediaType = "episode", $mediaLogMode = "") {
+ // Global Variables - Input
+ global $PLEXMetadata;
switch ($mediaType) {
case "episode":
@@ -25,9 +27,12 @@ function plex_metadata_base($mediaType = "episode", $mediaLogMode = "") {
break;
}
+ $PLEXMetadata['LogClass'] = $media_logClass;
+
switch ($mediaLogMode) {
case "START":
pmp_Logging("$media_logClass", "\n--- Media START Point ---");
+ pmp_Logging("$media_logClass", "\tmediaURL @ $mediaType - " . $PLEXMetadata['rootMediaURL']);
break;
case "END":
pmp_Logging("$media_logClass", "--- Media END Point ---");
@@ -40,7 +45,8 @@ function plex_metadata_base($mediaType = "episode", $mediaLogMode = "") {
}
function plex_metadata_title($mediaType = "episode") {
- global $clients;
+ // Global Variables - Input
+ global $PLEXMetadata;
global $mediaTitle, $mediaTitle_MetadataID;
$media_MetadataID_STR = "";
@@ -48,42 +54,43 @@ function plex_metadata_title($mediaType = "episode") {
// Title
switch ($mediaType) {
case "episode":
- $media_logClass = "PLEX_getTVMetadata";
$media_metadata_name = 'title';
break;
case "season":
- $media_logClass = "PLEX_getTVMetadata";
$media_metadata_name = 'parentTitle';
break;
case "series":
- $media_logClass = "PLEX_getTVMetadata";
$media_metadata_name = 'grandparentTitle';
break;
case "movie":
- $media_logClass = "PLEX_getMovieMetadata";
$media_metadata_name = 'title';
break;
case "track":
- $media_logClass = "PLEX_getMusicMetadata";
$media_metadata_name = 'title'; // Track Title (future - title, parentTitle (Album), grandparentTitle (Artist))
break;
default:
- $media_logClass = "PLEX_getTVMetadata";
$media_metadata_name = 'title';
+ break;
}
- $mediaTitle = $clients[$media_metadata_name];
+ $media_logClass = $PLEXMetadata['LogClass'];
+
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement;
+ $mediaTitle = $subElement[$media_metadata_name];
// $media_MetadataID_TMP = preg_split("#/#", $mediaTitle);
// $media_MetadataID = $media_MetadataID_TMP[3];
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaTitle_MetadataID = $media_MetadataID;
+ $PLEXMetadata['title'] = $mediaTitle;
pmp_Logging("$media_logClass", "\tmediaTitle @ $mediaType ($media_metadata_name) $media_MetadataID_STR - $mediaTitle");
}
function plex_metadata_summary($mediaType = "episode") {
- global $clients;
+ // Global Variables - Input
+ global $PLEXMetadata;
global $mediaSummary, $mediaSummary_MetadataID;
$media_MetadataID_STR = "";
@@ -92,41 +99,42 @@ function plex_metadata_summary($mediaType = "episode") {
switch ($mediaType) {
case "episode":
$media_metadata_name = 'summary';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'summary';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'summary';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'summary';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'summary';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'summary';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
- $mediaSummary = $clients[$media_metadata_name];
+ $media_logClass = $PLEXMetadata['LogClass'];
+
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement;
+ $mediaSummary = $subElement[$media_metadata_name];
// $media_MetadataID_TMP = preg_split("#/#", $mediaSummary);
// $media_MetadataID = $media_MetadataID_TMP[3];
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaSummary_MetadataID = $media_MetadataID;
+ $PLEXMetadata['summary'] = $mediaSummary;
pmp_Logging("$media_logClass", "\tmediaSummary @ $mediaType ($media_metadata_name) $media_MetadataID_STR - \n $mediaSummary");
}
function plex_metadata_tagline($mediaType = "episode") {
- global $clients;
+ // Global Variables - Input
+ global $PLEXMetadata;
global $mediaTagline, $mediaTagline_MetadataID;
$media_MetadataID_STR = "";
@@ -137,41 +145,42 @@ function plex_metadata_tagline($mediaType = "episode") {
switch ($mediaType) {
case "episode":
$media_metadata_name = 'tagline';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'tagline';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'tagline';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'tagline';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'tagline';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'tagline';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
- $mediaTagline = $clients[$media_metadata_name];
+ $media_logClass = $PLEXMetadata['LogClass'];
+
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement;
+ $mediaTagline = $subElement[$media_metadata_name];
// $media_MetadataID_TMP = preg_split("#/#", $mediaTagline);
// $media_MetadataID = $media_MetadataID_TMP[3];
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaTagline_MetadataID = $media_MetadataID;
+ $PLEXMetadata['tagline'] = $mediaTagline;
pmp_Logging("$media_logClass", "\tmediaTagline @ $mediaType ($media_metadata_name) $media_MetadataID_STR - \n $mediaTagline");
}
function plex_metadata_art($mediaType = "episode") {
- global $clients;
+ // Global Variables - Input
+ global $PLEXMetadata;
global $mediaArt, $mediaArt_MetadataID;
$media_MetadataID_STR = "";
@@ -180,41 +189,42 @@ function plex_metadata_art($mediaType = "episode") {
switch ($mediaType) {
case "episode":
$media_metadata_name = 'art';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'art';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'art';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'art';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'art';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'art';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
- $mediaArt = $clients[$media_metadata_name];
+ $media_logClass = $PLEXMetadata['LogClass'];
+
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement;
+ $mediaArt = $subElement[$media_metadata_name];
$media_MetadataID_TMP = preg_split("#/#", $mediaArt);
$media_MetadataID = $media_MetadataID_TMP[3];
$media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
$mediaArt_MetadataID = $media_MetadataID;
+ $PLEXMetadata['art'] = $mediaArt;
pmp_Logging("$media_logClass", "\tmediaArt @ $mediaType ($media_metadata_name) $media_MetadataID_STR - $mediaArt");
}
function plex_metadata_contentRating($mediaType = "episode") {
- global $clients;
+ // Global Variables - Input
+ global $PLEXMetadata;
global $mediaContentRating, $mediaContentRating_MetadataID;
$media_MetadataID_STR = "";
@@ -225,77 +235,80 @@ function plex_metadata_contentRating($mediaType = "episode") {
switch ($mediaType) {
case "episode":
$media_metadata_name = 'contentRating';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'contentRating';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'contentRating';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'contentRating';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'contentRating';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'contentRating';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
- $mediaContentRating = $clients[$media_metadata_name];
+ $media_logClass = $PLEXMetadata['LogClass'];
+
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement;
+ $mediaContentRating = $subElement[$media_metadata_name];
// $media_MetadataID_TMP = preg_split("#/#", $mediaContentRating);
// $media_MetadataID = $media_MetadataID_TMP[3];
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaContentRating_MetadataID = $media_MetadataID;
+ $PLEXMetadata['contentRating'] = $mediaContentRating;
pmp_Logging("$media_logClass", "\tmediaContentRating @ $mediaType ($media_metadata_name) - \"$mediaContentRating\"");
}
function plex_metadata_decision($mediaType = "episode", $isPlayingMode = FALSE) {
- global $clients, $isPlaying;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $isPlaying, $clients;
global $mediaDecision, $mediaDecision_MetadataID;
$media_MetadataID_STR = "";
// Notes: decision -> directplay/transcode
// DirectPlay/Transcode (Only for Playing)
+ // Requires clients because the decision is not part of the main metadata of the media.
- // contentRating
+ // decision
switch ($mediaType) {
case "episode":
$media_metadata_name = 'decision';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'decision';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'decision';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'decision';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'decision';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'decision';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
+ $media_logClass = $PLEXMetadata['LogClass'];
+
if ($isPlayingMode == TRUE) {
- $mediaDecision = $clients->Media->Part[$media_metadata_name];
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $rootElement = $clients;
+ $subElement = $rootElement->Media->Part;
+ $mediaDecision = $subElement[$media_metadata_name];
}
else {
$mediaDecision = "N/A";
@@ -306,11 +319,14 @@ function plex_metadata_decision($mediaType = "episode", $isPlayingMode = FALSE)
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaDecision_MetadataID = $media_MetadataID;
- pmp_Logging("$media_logClass", "\tmediaDecision @ $mediaType ($media_metadata_name) - \"$mediaDecision\"");
+ $PLEXMetadata['decision'] = $mediaDecision;
+ pmp_Logging("$media_logClass", "\tmediaDecision @ $mediaType -- isPlaying -- ($media_metadata_name) - \"$mediaDecision\"");
}
function plex_metadata_audioCodec($mediaType = "episode", $isPlayingMode = FALSE) {
- global $clients, $isPlaying;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $isPlaying;
global $mediaAudioCodec, $mediaAudioCodec_MetadataID;
$media_MetadataID_STR = "";
@@ -322,31 +338,30 @@ function plex_metadata_audioCodec($mediaType = "episode", $isPlayingMode = FALSE
switch ($mediaType) {
case "episode":
$media_metadata_name = 'audioCodec';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'audioCodec';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'audioCodec';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'audioCodec';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'audioCodec';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'audioCodec';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
+ $media_logClass = $PLEXMetadata['LogClass'];
+
// if ($isPlayingMode == TRUE) {
- $mediaAudioCodec = $clients->Media[$media_metadata_name];
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement->Media;
+ $mediaAudioCodec = $subElement[$media_metadata_name];
// }
// else {
// $mediaAudioCodec = "N/A";
@@ -357,11 +372,14 @@ function plex_metadata_audioCodec($mediaType = "episode", $isPlayingMode = FALSE
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaAudioCodec_MetadataID = $media_MetadataID;
+ $PLEXMetadata['audioCodec'] = $mediaAudioCodec;
pmp_Logging("$media_logClass", "\tmediaAudioCodec @ $mediaType ($media_metadata_name) - \"$mediaAudioCodec\"");
}
function plex_metadata_audioChannelLayout($mediaType = "episode", $isPlayingMode = FALSE) {
- global $clients, $isPlaying;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $isPlaying;
global $mediaAudioChannelLayout, $mediaAudioChannelLayout_MetadataID;
$media_MetadataID_STR = "";
@@ -373,32 +391,30 @@ function plex_metadata_audioChannelLayout($mediaType = "episode", $isPlayingMode
switch ($mediaType) {
case "episode":
$media_metadata_name = 'audioChannelLayout';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'audioChannelLayout';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'audioChannelLayout';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'audioChannelLayout';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'audioChannelLayout';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'audioChannelLayout';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
+ $media_logClass = $PLEXMetadata['LogClass'];
+
// if ($isPlayingMode == TRUE) {
- $rootElement = $clients->Media->Part->Stream[0];
- $mediaAudioChannelLayout = $rootElement[$media_metadata_name];
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement->Media->Part->Stream[1];
+ $mediaAudioChannelLayout = $subElement[$media_metadata_name];
// }
// else {
// $mediaAudioChannelLayout = "N/A";
@@ -409,11 +425,14 @@ function plex_metadata_audioChannelLayout($mediaType = "episode", $isPlayingMode
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaAudioChannelLayout_MetadataID = $media_MetadataID;
+ $PLEXMetadata['audioChannelLayout'] = $mediaAudioChannelLayout;
pmp_Logging("$media_logClass", "\tmediaAudioChannelLayout @ $mediaType ($media_metadata_name) - \"$mediaAudioChannelLayout\"");
}
function plex_metadata_videoCodec($mediaType = "episode", $isPlayingMode = FALSE) {
- global $clients, $isPlaying;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $isPlaying;
global $mediaVideoCodec, $mediaVideoCodec_MetadataID;
$media_MetadataID_STR = "";
@@ -425,31 +444,30 @@ function plex_metadata_videoCodec($mediaType = "episode", $isPlayingMode = FALSE
switch ($mediaType) {
case "episode":
$media_metadata_name = 'videoCodec';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'videoCodec';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'videoCodec';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'videoCodec';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'videoCodec';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'videoCodec';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
+ $media_logClass = $PLEXMetadata['LogClass'];
+
// if ($isPlayingMode == TRUE) {
- $mediaVideoCodec = $clients->Media[$media_metadata_name];
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement->Media;
+ $mediaVideoCodec = $subElement[$media_metadata_name];
// }
// else {
// $mediaVideoCodec = "N/A";
@@ -460,11 +478,14 @@ function plex_metadata_videoCodec($mediaType = "episode", $isPlayingMode = FALSE
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaVideoCodec_MetadataID = $media_MetadataID;
+ $PLEXMetadata['videoCodec'] = $mediaVideoCodec;
pmp_Logging("$media_logClass", "\tmediaVideoCodec @ $mediaType ($media_metadata_name) - \"$mediaVideoCodec\"");
}
function plex_metadata_videoResolution($mediaType = "episode", $isPlayingMode = FALSE) {
- global $clients, $isPlaying;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $isPlaying;
global $mediaVideoResolution, $mediaVideoResolution_MetadataID;
$media_MetadataID_STR = "";
@@ -476,31 +497,30 @@ function plex_metadata_videoResolution($mediaType = "episode", $isPlayingMode =
switch ($mediaType) {
case "episode":
$media_metadata_name = 'videoResolution';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'videoResolution';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'videoResolution';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'videoResolution';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'videoResolution';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'videoResolution';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
+ $media_logClass = $PLEXMetadata['LogClass'];
+
// if ($isPlayingMode == TRUE) {
- $mediaVideoResolution = $clients->Media[$media_metadata_name];
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement->Media;
+ $mediaVideoResolution = $subElement[$media_metadata_name];
// }
// else {
// $mediaVideoResolution = "N/A";
@@ -511,11 +531,14 @@ function plex_metadata_videoResolution($mediaType = "episode", $isPlayingMode =
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaVideoResolution_MetadataID = $media_MetadataID;
+ $PLEXMetadata['videoResolution'] = $mediaVideoResolution;
pmp_Logging("$media_logClass", "\tmediaVideoResolution @ $mediaType ($media_metadata_name) - \"$mediaVideoResolution\"");
}
function plex_metadata_audioDisplay($mediaType = "episode", $isPlayingMode = FALSE) {
- global $clients, $isPlaying;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $isPlaying, $clients;
global $mediaAudioDisplay, $mediaAudioDisplay_MetadataID;
$media_MetadataID_STR = "";
@@ -527,32 +550,31 @@ function plex_metadata_audioDisplay($mediaType = "episode", $isPlayingMode = FAL
switch ($mediaType) {
case "episode":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
+ $media_logClass = $PLEXMetadata['LogClass'];
+
if ($isPlayingMode == TRUE) {
- $rootElement = $clients->Media->Part->Stream[1];
- $mediaAudioDisplay = $rootElement[$media_metadata_name];
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $rootElement = $clients;
+ $subElement = $rootElement->Media->Part->Stream[1];
+ $mediaAudioDisplay = $subElement[$media_metadata_name];
}
else {
$mediaAudioDisplay = "N/A";
@@ -563,11 +585,14 @@ function plex_metadata_audioDisplay($mediaType = "episode", $isPlayingMode = FAL
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaAudioDisplay_MetadataID = $media_MetadataID;
- pmp_Logging("$media_logClass", "\tmediaAudioDisplay @ $mediaType ($media_metadata_name) - \"$mediaAudioDisplay\"");
+ $PLEXMetadata['audioDisplay'] = $mediaAudioDisplay;
+ pmp_Logging("$media_logClass", "\tmediaAudioDisplay @ $mediaType -- isPlaying -- ($media_metadata_name) - \"$mediaAudioDisplay\"");
}
function plex_metadata_videoDisplay($mediaType = "episode", $isPlayingMode = FALSE) {
- global $clients, $isPlaying;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $isPlaying, $clients;
global $mediaVideoDisplay, $mediaVideoDisplay_MetadataID;
$media_MetadataID_STR = "";
@@ -579,32 +604,31 @@ function plex_metadata_videoDisplay($mediaType = "episode", $isPlayingMode = FAL
switch ($mediaType) {
case "episode":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "season":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "series":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
break;
case "movie":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getMovieMetadata";
break;
case "track":
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getMusicMetadata";
break;
default:
$media_metadata_name = 'displayTitle';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
+ $media_logClass = $PLEXMetadata['LogClass'];
+
if ($isPlayingMode == TRUE) {
- $rootElement = $clients->Media->Part->Stream[0];
- $mediaVideoDisplay = $rootElement[$media_metadata_name];
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $rootElement = $clients;
+ $subElement = $rootElement->Media->Part->Stream[0];
+ $mediaVideoDisplay = $subElement[$media_metadata_name];
}
else {
$mediaVideoDisplay = "N/A";
@@ -615,36 +639,39 @@ function plex_metadata_videoDisplay($mediaType = "episode", $isPlayingMode = FAL
// $media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
// $mediaVideoDisplay_MetadataID = $media_MetadataID;
- pmp_Logging("$media_logClass", "\tmediaVideoDisplay @ $mediaType ($media_metadata_name) - \"$mediaVideoDisplay\"");
+ $PLEXMetadata['videoDisplay'] = $mediaVideoDisplay;
+ pmp_Logging("$media_logClass", "\tmediaVideoDisplay @ $mediaType -- isPlaying -- ($media_metadata_name) - \"$mediaVideoDisplay\"");
}
function plex_metadata_thumb($mediaType = "episode", $ComingSoonMode = FALSE) {
- global $clients, $comingSoonShowSelection;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $comingSoonShowSelection;
global $mediaThumb, $mediaThumb_MetadataID;
$media_MetadataID_STR = "";
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement;
+
// Thumb
switch ($mediaType) {
case "episode":
$media_metadata_name = 'thumb';
- $media_logClass = "PLEX_getTVMetadata";
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
if ($mediaThumb == '') {
$media_metadata_name = 'parentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
}
if ($mediaThumb == '') {
$media_metadata_name = 'grandparentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
}
break;
case "season":
- $media_logClass = "PLEX_getTVMetadata";
-
if ($ComingSoonMode == TRUE) {
switch ($comingSoonShowSelection) {
case "all":
@@ -659,27 +686,25 @@ function plex_metadata_thumb($mediaType = "episode", $ComingSoonMode = FALSE) {
// break;
default:
$media_metadata_name = 'parentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
if ($mediaThumb == '') {
$media_metadata_name = 'grandparentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
}
}
}
else {
$media_metadata_name = 'parentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
if ($mediaThumb == '') {
$media_metadata_name = 'grandparentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
}
}
break;
case "series":
- $media_logClass = "PLEX_getTVMetadata";
-
if ($ComingSoonMode == TRUE) {
switch ($comingSoonShowSelection) {
case "all":
@@ -701,43 +726,46 @@ function plex_metadata_thumb($mediaType = "episode", $ComingSoonMode = FALSE) {
}
break;
case "movie":
- $media_logClass = "PLEX_getMovieMetadata";
$media_metadata_name = 'thumb';
-
break;
case "track":
- $media_logClass = "PLEX_getMusicMetadata";
-
$media_metadata_name = 'thumb'; // Track Thumb (Poster) (future - thumb, parentThumb (Album), grandparentThumb (Artist))
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
if ($mediaThumb == '') {
$media_metadata_name = 'parentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
}
if ($mediaThumb == '') {
$media_metadata_name = 'grandparentThumb';
- $mediaThumb = $clients[$media_metadata_name];
+ $mediaThumb = $subElement[$media_metadata_name];
}
break;
default:
$media_metadata_name = 'thumb';
- $media_logClass = "PLEX_getTVMetadata";
+ break;
}
- $mediaThumb = $clients[$media_metadata_name];
+ $media_logClass = $PLEXMetadata['LogClass'];
+
+ $rootElement = $PLEXMetadata['rootXMLData'];
+ $subElement = $rootElement;
+ $mediaThumb = $subElement[$media_metadata_name];
$media_MetadataID_TMP = preg_split("#/#", $mediaThumb);
$media_MetadataID = $media_MetadataID_TMP[3];
$media_MetadataID_STR = "(metadata ID: $media_MetadataID)";
$mediaThumb_MetadataID = $media_MetadataID;
+ $PLEXMetadata['thumb'] = $mediaThumb;
pmp_Logging("$media_logClass", "\tmediaTagline @ $mediaType ($media_metadata_name) $media_MetadataID_STR - $mediaThumb");
}
function plex_metadata_template($mediaType = "episode") {
- global $mediaTitle, $clients;
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $mediaTitle;
// Template
// switch ($mediaType) {
@@ -756,6 +784,10 @@ function plex_metadata_template($mediaType = "episode") {
// default:
// }
+
+ // $rootElement = $PLEXMetadata['rootXMLData'];
+ // $subElement = $rootElement;
+ // $mediaThumb = $subElement[$media_metadata_name];
}
function plex_random_media($mediaAttempt = 0) {
@@ -804,8 +836,6 @@ function plex_variable_presets($mode = "comingSoon") {
// $mediaArt_Status = $comingSoonBackgroundArt;
// $mediaArt_ShowTVThumb = $comingSoonShowTVThumb;
-
-
}
function plex_getMedia_thumb() {
@@ -1063,10 +1093,15 @@ function plex_isPlaying_dataProcess() {
function plex_metadata_PROCESS() {
// Global Variables - Input
- global $isPlaying, $clients;
+ global $isPlaying;
global $mediaType_Display, $elementType, $mediaType;
global $isPlayingMode, $ComingSoonMode;
+ // Global Variables - Output
+ global $PLEXMetadata;
+
+ $PLEXMetadata = []; // Variables - Future
+
if ($isPlaying == TRUE) {
$isPlayingMode = TRUE;
$ComingSoonMode = FALSE;
@@ -1076,6 +1111,8 @@ function plex_metadata_PROCESS() {
$ComingSoonMode = TRUE;
}
+ plex_metadata_getMediaKeys();
+
plex_metadata_base("$mediaType", "START");
plex_metadata_title("$mediaType");
@@ -1089,15 +1126,36 @@ function plex_metadata_PROCESS() {
plex_metadata_videoCodec("$mediaType");
plex_metadata_videoResolution("$mediaType");
- if ($isPlaying == TRUE) {
+ // if ($isPlaying == TRUE) {
plex_metadata_decision("$mediaType", $isPlayingMode); // isPlaying Mode
plex_metadata_audioDisplay("$mediaType", $isPlayingMode); // isPlaying Mode
plex_metadata_videoDisplay("$mediaType", $isPlayingMode); // isPlaying Mode
- }
+ // }
plex_metadata_base("$mediaType", "END");
}
+function plex_metadata_getMediaKeys() {
+ // Global Variables - Input
+ global $PLEXMetadata;
+ global $clients;
+ global $URLScheme, $plexServer, $plexToken;
+
+ $PLEXMetadata['rootMediaKey'] = $clients[key];
+ pmp_Logging("PLEX_getMediaMetadata", "rootMediaKey @ ". $PLEXMetadata['rootMediaKey']);
+
+ $PLEXMetadata['rootMediaURL'] = "${URLScheme}://${plexServer}:32400". $PLEXMetadata['rootMediaKey'] . "?X-Plex-Token=${plexToken}";
+ pmp_Logging("PLEX_getMediaMetadata", "rootMediaURL @ ". $PLEXMetadata['rootMediaURL']);
+
+ $getXMLDataRAW = file_get_contents($PLEXMetadata['rootMediaURL']);
+ $getXMLData = simplexml_load_string($getXMLDataRAW);
+
+ $PLEXMetadata['readMediaType'] = "Video";
+ $mediaCode = $PLEXMetadata['readMediaType'];
+
+ $PLEXMetadata['rootXMLData'] = $getXMLData->$mediaCode;
+}
+
function plex_metadata_viewGroup() {
// Global Variables - Input
global $viewGroup, $mediaArt_ShowTVThumb;
diff --git a/assets/plexmovieposter/css/DisplayStyle.css b/assets/plexmovieposter/css/DisplayStyle.css
index 9fd2a8d..ac4bac2 100644
--- a/assets/plexmovieposter/css/DisplayStyle.css
+++ b/assets/plexmovieposter/css/DisplayStyle.css
@@ -67,21 +67,38 @@
.modal-dialog {
width: 90%;
height: 90%;
- }
+}
- .modal-content {
+.modal-content {
width: 90%;
height: 90%;
- }
-
- .modal-body {
+}
+
+.modal-body {
padding: 0;
- }
-
- #settingFrame {
+}
+
+#settingFrame {
width: 100%;
height: 100%;
- }
+}
+
+.showMetadata {
+ font-size: 10px;
+}
+
+@media screen and (orientation: landscape) {
+ .showMetadata img {
+ width: 20%;
+ }
+}
+
+@media screen and (orientation: portrait) {
+ .showMetadata img {
+ width: 40%;
+ }
+}
+
/* -------------------------------------------------- */
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Rated-G.png b/assets/plexmovieposter/images/icons/mediaInfo/Rated-G.png
index 4181735..fab9ba1 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Rated-G.png and b/assets/plexmovieposter/images/icons/mediaInfo/Rated-G.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Rated-NC17.png b/assets/plexmovieposter/images/icons/mediaInfo/Rated-NC17.png
index 80e7c85..9fe4120 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Rated-NC17.png and b/assets/plexmovieposter/images/icons/mediaInfo/Rated-NC17.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG.png b/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG.png
index d1011dc..e8bab7e 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG.png and b/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG13.png b/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG13.png
index 6dbd9be..cc5f14e 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG13.png and b/assets/plexmovieposter/images/icons/mediaInfo/Rated-PG13.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Rated-R.png b/assets/plexmovieposter/images/icons/mediaInfo/Rated-R.png
index 989823d..7797732 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Rated-R.png and b/assets/plexmovieposter/images/icons/mediaInfo/Rated-R.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Rated-XXX.png b/assets/plexmovieposter/images/icons/mediaInfo/Rated-XXX.png
index c0b26b9..48b8ac0 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Rated-XXX.png and b/assets/plexmovieposter/images/icons/mediaInfo/Rated-XXX.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Res-HD1080.png b/assets/plexmovieposter/images/icons/mediaInfo/Res-HD1080.png
index 9739c87..4ea5d2e 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Res-HD1080.png and b/assets/plexmovieposter/images/icons/mediaInfo/Res-HD1080.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Res-HD720.png b/assets/plexmovieposter/images/icons/mediaInfo/Res-HD720.png
index 97d37ae..0b0d332 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Res-HD720.png and b/assets/plexmovieposter/images/icons/mediaInfo/Res-HD720.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Res-SD.png b/assets/plexmovieposter/images/icons/mediaInfo/Res-SD.png
index fb97bba..a1464b2 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Res-SD.png and b/assets/plexmovieposter/images/icons/mediaInfo/Res-SD.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD4K.png b/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD4K.png
index f87c01a..5d540ad 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD4K.png and b/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD4K.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD8K.png b/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD8K.png
index 5b27ad3..74ce526 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD8K.png and b/assets/plexmovieposter/images/icons/mediaInfo/Res-UHD8K.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Sound-2.0.png b/assets/plexmovieposter/images/icons/mediaInfo/Sound-2.0.png
new file mode 100644
index 0000000..8c8b6b9
Binary files /dev/null and b/assets/plexmovieposter/images/icons/mediaInfo/Sound-2.0.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Sound-5.1.png b/assets/plexmovieposter/images/icons/mediaInfo/Sound-5.1.png
new file mode 100644
index 0000000..0a193d6
Binary files /dev/null and b/assets/plexmovieposter/images/icons/mediaInfo/Sound-5.1.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/Sound-Mono.png b/assets/plexmovieposter/images/icons/mediaInfo/Sound-Mono.png
new file mode 100644
index 0000000..3d7efc4
Binary files /dev/null and b/assets/plexmovieposter/images/icons/mediaInfo/Sound-Mono.png differ
diff --git a/assets/plexmovieposter/images/icons/mediaInfo/_MediaInfo_Template.xcf b/assets/plexmovieposter/images/icons/mediaInfo/_MediaInfo_Template.xcf
index 18c9c10..2984177 100644
Binary files a/assets/plexmovieposter/images/icons/mediaInfo/_MediaInfo_Template.xcf and b/assets/plexmovieposter/images/icons/mediaInfo/_MediaInfo_Template.xcf differ
diff --git a/build/DockerSetup.config b/build/DockerSetup.config
index c47d55e..b03a859 100644
--- a/build/DockerSetup.config
+++ b/build/DockerSetup.config
@@ -3,7 +3,7 @@ portexternal = 80
portinternal = 80
osplatform = linux
imagenameroot = plexmovieposterdisplay
-tag = 2.11.4
+tag = 2.11.5
dockerfileroot = ../.
imagetype =
networktype =
diff --git a/build/UpdateVersion.py b/build/UpdateVersion.py
index c808230..4c55282 100644
--- a/build/UpdateVersion.py
+++ b/build/UpdateVersion.py
@@ -80,7 +80,7 @@ def UpdatePHP(DisplayMSG=False,ConfigSegment="DEFAULT",ConfigKey="version",Confi
# there for there might be trailing data we need to truncate away.
DisplayMSG = False
-SetVersion = "2.11.4"
+SetVersion = "2.11.5"
PYScriptRoot = os.path.abspath(os.path.dirname(__file__))
diff --git a/docs/ChangeLogs.md b/docs/ChangeLogs.md
index 88280e4..a9a1192 100644
--- a/docs/ChangeLogs.md
+++ b/docs/ChangeLogs.md
@@ -400,3 +400,22 @@ Enhancement: Images to the bottom of Now Showing for resolution, sound format, a
- Add icons for 720p & 1080p (explicit)
- BUG(s):
- If playing a lower quality video the 'current' video resolution is not displayed.
+
+**v2.11.5 Community Updates**\
+Enhancement: Images to the bottom of Now Showing for resolution, sound format, and aspect ratio (Issue #74)
+- Update icons to be better color coded and easier to read
+- Update to support audio information
+- Update CSS to support size of icons depending on screen orientation
+- Add support for font size 'Presented In' to use bottom font.
+- Add iconChangeID code to icon links to force a non-cache image so that when updating to newer versions of the project the new icons will be displayed.
+- TODO:
+ - Update TV Ratings icons to better match film icons
+ - Look at spacing between icons
+
+Enhancement: Full Path Logging (Issue #75)
+- Update logging system to provide full URL to media XML
+
+Enhancement: Plex Function Isolation (Issue #64)
+- Isolate PLEX read from using 'clients' variable and converted to PLEX object. Full conversion still in progress.
+- Clean up duplicated variables for 'logName' to use as part of PLEX object.
+- Move away from reading media session information xml to direct media information for much richer metadata. Media session information still required to get direct media library ID for direct read.
diff --git a/settings/PMPInfo.php b/settings/PMPInfo.php
index 213e7fd..253b699 100644
--- a/settings/PMPInfo.php
+++ b/settings/PMPInfo.php
@@ -1,6 +1,6 @@
\ No newline at end of file
diff --git a/tests/logging/ShowLog.php b/tests/logging/ShowLog.php
new file mode 100644
index 0000000..0c4cd17
--- /dev/null
+++ b/tests/logging/ShowLog.php
@@ -0,0 +1,20 @@
+
\ No newline at end of file
diff --git a/tests/logging/TestLogging.php b/tests/logging/TestLogging.php
index 540b7c4..f5776f3 100644
--- a/tests/logging/TestLogging.php
+++ b/tests/logging/TestLogging.php
@@ -19,7 +19,7 @@
$files = array_diff(scandir($path), array('.', '..'));
foreach ($files as $file) {
- echo "$file
";
+ echo "
$file";
}
?>
\ No newline at end of file