diff --git a/data/interfaces/default/css/plexpy.css b/data/interfaces/default/css/plexpy.css index b3d8ed3a..5a6d080e 100644 --- a/data/interfaces/default/css/plexpy.css +++ b/data/interfaces/default/css/plexpy.css @@ -779,10 +779,13 @@ a .users-poster-face:hover { color: #fff; font-weight: normal; } +.dashboard-activity-info-details-transcode-state { + line-height: 22px; +} .dashboard-activity-info-platform { width: 100%; height: 50px; - margin-bottom: 10px; + margin-bottom: 5px; } .dashboard-activity-info-platform-box { float: left; diff --git a/data/interfaces/default/current_activity_instance.html b/data/interfaces/default/current_activity_instance.html index 5b9061af..08f4c7d7 100644 --- a/data/interfaces/default/current_activity_instance.html +++ b/data/interfaces/default/current_activity_instance.html @@ -125,17 +125,21 @@ DOCUMENTATION :: END ${data['player']}
% if data['state'] == 'playing': - State  Playing + State  Playing ${'(' + data['quality_profile'] + ')' if data['media_type'] != 'track' else ''} % elif data['state'] == 'paused': - State  Paused + State  Paused ${'(' + data['quality_profile'] + ')' if data['media_type'] != 'track' else ''} % elif data['state'] == 'buffering': - State  Buffering + State  Buffering ${'(' + data['quality_profile'] + ')' if data['media_type'] != 'track' else ''} % endif - +
% if data['video_decision'] == 'transcode' or data['audio_decision'] == 'transcode': - Stream  Transcode (Speed: ${data['transcode_speed']}) + % if data['transcode_hardware'] == '1': + Stream  Transcode (HW) (Speed: ${data['transcode_speed']}) + % else: + Stream  Transcode (Speed: ${data['transcode_speed']}) + % endif % if data['transcode_throttled'] == '1': (Throttled) % endif @@ -148,24 +152,36 @@ DOCUMENTATION :: END
% if data['media_type'] in ('movie', 'episode', 'clip'): % if data['video_decision'] == 'transcode': - Video  Transcode (${data['transcode_video_codec']}) (${data['transcode_width']}x${data['transcode_height']}) + Video  Transcode (${data['video_codec']} ${data['video_resolution'].rstrip('p') + ('p' if data['video_resolution'].lower() != 'sd' else '')} → ${data['stream_video_codec']} ${data['stream_video_resolution'].rstrip('p') + ('p' if data['stream_video_resolution'].lower() != 'sd' else '')}) % elif data['video_decision'] == 'copy': - Video  Direct Stream (${data['transcode_video_codec']}) (${data['width']}x${data['height']}) + Video  Direct Stream (${data['video_codec']} ${data['video_resolution'].rstrip('p') + ('p' if data['video_resolution'].lower() != 'sd' else '')} → ${data['stream_video_codec']} ${data['stream_video_resolution'].rstrip('p') + ('p' if data['stream_video_resolution'].lower() != 'sd' else '')}) % else: - Video  Direct Play (${data['video_codec']}) (${data['width']}x${data['height']}) + Video  Direct Play (${data['video_codec']} ${data['video_resolution'].rstrip('p') + ('p' if data['video_resolution'].lower() != 'sd' else '')}) % endif
% endif % if data['media_type'] in ('movie', 'episode', 'clip', 'track'): % if data['audio_decision'] == 'transcode': - Audio  Transcode (${data['transcode_audio_codec']}) (${data['transcode_audio_channels']}ch) + Audio  Transcode (${data['audio_codec']} ${data['audio_channels']}ch → ${data['stream_audio_codec']} ${data['stream_audio_channels']}ch) % elif data['audio_decision'] == 'copy': - Audio  Direct Stream (${data['transcode_audio_codec']}) (${data['transcode_audio_channels']}ch) + Audio  Direct Stream (${data['audio_codec']} ${data['audio_channels']}ch → ${data['stream_audio_codec']} ${data['stream_audio_channels']}ch) % else: - Audio  Direct Play (${data['audio_codec']}) (${data['audio_channels']}ch) + Audio  Direct Play (${data['audio_codec']} ${data['audio_channels']}ch) % endif +
% endif - + % if data['media_type'] in ('movie', 'episode', 'clip') and data['subtitles'] == '1': + % if data['subtitle_decision'] == 'transcode': + Subtitle  Transcode (${data['subtitle_codec']} → ${data['stream_subtitle_codec']}) + % elif data['subtitle_decision'] == 'burn': + Subtitle  Burn + % else: + Subtitle  Direct Play (${data['subtitle_codec']}) + % endif + % elif data['media_type'] != 'track': + Subtitle  None + % endif +
% if data['media_type'] != 'photo': diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html index 98415229..325618a5 100644 --- a/data/interfaces/default/index.html +++ b/data/interfaces/default/index.html @@ -178,7 +178,8 @@ var overlay_state = 'State  Unknown'; var state_icon = ' '; } - $('#overlay-play-state-' + key).html(overlay_state); + var q = (s.media_type != 'track') ? ' (' + s.quality_profile + ')' : ''; + $('#overlay-play-state-' + key).html(overlay_state + q); $('#play-state-' + key).html(state_icon); % if config['pms_use_bif']: @@ -196,30 +197,44 @@ var ts = ''; if (s.video_decision == 'transcode' || s.audio_decision == 'transcode') { var throttled = (s.throttled == '1') ? ' (Throttled)' : ''; - ts += 'Stream  Transcode (Speed: ' + s.transcode_speed + ')' + throttled + '
'; + var hw = (s.transcode_hardware == '1') ? ' (HW)' : ''; + ts += 'Stream  Transcode' + hw + ' (Speed: ' + s.transcode_speed + ')' + throttled + '
'; } else if (s.video_decision == 'copy' || s.audio_decision == 'copy') { ts += 'Stream  Direct Stream
'; } else { ts += 'Stream  Direct Play
'; } if (s.video_decision != '' && s.media_type != 'photo') { + var v_res = s.video_resolution.replace(/p$/, '') + ((s.video_resolution.toLowerCase() == 'sd') ? '' : 'p'); + var sv_res = s.stream_video_resolution.replace(/p$/, '') + ((s.stream_video_resolution.toLowerCase() == 'sd') ? '' : 'p'); if (s.video_decision == 'transcode') { - ts += 'Video  Transcode (' + s.transcode_video_codec + ') (' + s.transcode_width + 'x' + s.transcode_height + ')
'; + ts += 'Video  Transcode (' + s.video_codec + ' ' + v_res + ' → ' + s.stream_video_codec + ' ' + sv_res + ')
'; } else if (s.video_decision == 'copy') { - ts += 'Video  Direct Stream (' + s.transcode_video_codec + ') (' + s.width + 'x' + s.height + ')
'; + ts += 'Video  Direct Stream (' + s.video_codec + ' ' + v_res + ' → ' + s.stream_video_codec + ' ' + sv_res + ')
'; } else { - ts += 'Video  Direct Play (' + s.video_codec + ') (' + s.width + 'x' + s.height + ')
'; + ts += 'Video  Direct Play (' + s.video_codec + ' ' + v_res + ')
'; } } if (s.audio_decision != '') { if (s.audio_decision == 'transcode') { - ts += 'Audio  Transcode (' + s.transcode_audio_codec + ') (' + s.transcode_audio_channels + 'ch)'; + ts += 'Audio  Transcode (' + s.audio_codec + ' ' + s.audio_channels + 'ch → ' + s.stream_audio_codec + ' ' + s.stream_audio_channels + 'ch)
'; } else if (s.audio_decision == 'copy') { - ts += 'Audio  Direct Stream (' + s.transcode_audio_codec + ') (' + s.transcode_audio_channels + 'ch)'; + ts += 'Audio  Direct Stream (' + s.audio_codec + ' ' + s.audio_channels + 'ch → ' + s.stream_audio_codec + ' ' + s.stream_audio_channels + 'ch)
'; } else { - ts += 'Audio  Direct Play (' + s.audio_codec + ') (' + s.audio_channels + 'ch)'; + ts += 'Audio  Direct Play (' + s.audio_codec + ' ' + s.audio_channels + 'ch)
'; } } + if (s.subtitles) { + if (s.subtitle_decision == 'transcode') { + ts += 'Subtitle  Transcode (' + s.subtitle_codec + ' → ' + s.stream_subtitle_codec + ')'; + } else if (s.audio_decision == 'burn') { + ts += 'Subtitle  Burn'; + } else { + ts += 'Subtitle  Direct Play (' + s.subtitle_codec + ')'; + } + } else if (s.media_type != 'track') { + ts += 'Subtitle  None'; + } $('#transcode-state-' + key).html(ts); // update the stream progress times