From 90e86c84555fe4cbb42db9f57d62b7d6b8c07c42 Mon Sep 17 00:00:00 2001 From: Luke Date: Mon, 23 Jan 2017 14:33:50 -0500 Subject: [PATCH 1/3] update mac project --- .../Emby.Server.Mac.csproj | 425 ++++++++---------- 1 file changed, 177 insertions(+), 248 deletions(-) diff --git a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj index 857a8e15f8..ef3b04a03d 100644 --- a/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj +++ b/MediaBrowser.Server.Mac/Emby.Server.Mac.csproj @@ -58,6 +58,7 @@ Default None true + west full @@ -404,9 +405,6 @@ Resources\dashboard-ui\manifest.json - - Resources\dashboard-ui\metadata.html - Resources\dashboard-ui\metadataimages.html @@ -548,6 +546,9 @@ Resources\dashboard-ui\userprofiles.html + + Resources\dashboard-ui\videoosd.html + Resources\dashboard-ui\wizardagreement.html @@ -914,6 +915,9 @@ Resources\dashboard-ui\bower_components\emby-apiclient\apiclient.js + + Resources\dashboard-ui\bower_components\emby-apiclient\apiclientex.js + Resources\dashboard-ui\bower_components\emby-apiclient\appstorage-cache.js @@ -1013,6 +1017,9 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\browserdeviceprofile.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\chromecastplayer.js + Resources\dashboard-ui\bower_components\emby-webcomponents\clearbutton.css @@ -1061,15 +1068,24 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\multidownload.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\packagemanager.js + Resources\dashboard-ui\bower_components\emby-webcomponents\playmenu.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\pluginmanager.js + Resources\dashboard-ui\bower_components\emby-webcomponents\qualityoptions.js Resources\dashboard-ui\bower_components\emby-webcomponents\router.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\sanitizefilename.js + Resources\dashboard-ui\bower_components\emby-webcomponents\scrollhelper.js @@ -1079,6 +1095,9 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\servernotifications.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\sessionplayer.js + Resources\dashboard-ui\bower_components\emby-webcomponents\shell.js @@ -1223,194 +1242,92 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\emby-toggle\emby-toggle.js - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\2fcryfnatjcs6g4u3t-y5ewrjpiaoeww8aihgqwrjao.woff - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\2fcrYFNaTjcS6g4U3t-Y5ewrjPiaoEww8AihgqWRJAo.woff + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\2fcryfnatjcs6g4u3t-y5zjzjt5fdej140u2djyc3my.woff2 Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\style.css - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\montserrat\IQHow_FEYlDC4Gzy_m8fcgFhaRv2pGgT5Kf0An0s4MM.woff - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\montserrat\IQHow_FEYlDC4Gzy_m8fcoWiMMZ7xLd792ULpGE4W_Y.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\montserrat\style.css - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\montserrat\zhcz-_WihjSQC0oHJ9TCYBsxEYwM7FgeyaSgU71cLG0.woff - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\montserrat\zhcz-_WihjSQC0oHJ9TCYPk_vArhqVIZ0nv9q090hN8.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\-l14jk06m6puhb-5mxqqnrjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\0ec6fl06luxeywpbsjvxcbjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\2tsd397wlxj96qwhynikxpeszw2xoq-xsnqo47m55da.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\97uahxiqzroncbacei3awxjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\azmswpodyevhtrvuabjwvbtbgvql8ndjpwnre27mub0.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\style.css + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\cwb0xya8bzo0ksthx0utua.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\d-6iyplofoccackzxwxsoftxra8tvwticgirnjhmvjw.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\opensans\xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\e7mevayvogmqfwwl61pkhbtbgvql8ndjpwnre27mub0.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\-L14Jk06m6pUHB-5mXQQnRJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\fcx7wwv8ozt71a3e1xoajveszw2xoq-xsnqo47m55da.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\0eC6fl06luXEYWpBSJvXCBJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\fl4y0qdoxyythegmxx8kcrjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\2tsd397wLxj96qwHyNIkxPesZW2xOQ-xsNqO47m55DA.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\frnv30oaydlfrth2vnzzdhtbgvql8ndjpwnre27mub0.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\97uahxiqZRoncBaCEI3aWxJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\gwvjdern2amz39wrsoz7fxtbgvql8ndjpwnre27mub0.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\CWB0XYA8bzo0kSThX0UTuA.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\hgo13k-tfspn0qi1sfdufvtxra8tvwticgirnjhmvjw.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\Fcx7Wwv8OzT71A3E1XOAjvesZW2xOQ-xsNqO47m55DA.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\i3s1wsgsg9ycurv6puktorjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\Fl4y0QdOxyyTHEGMXX8kcRJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\nydwbdd4giq26g5xybhsfbjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\Hgo13k-tfSpn0qi1SFdUfVtXRa8TVwTICgirnJhmVJw.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\ooefwznlrtefzlymlvv1ubjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\I3S1wsgSg9YCurV6PUkTORJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\pru33qjshpzsmg3z6vywnrjtnkitppoi_ivcxxdnrsc.woff2 - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\NYDWBdD4gIq26G5XYbHsFBJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotobold.woff - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\Pru33qjShpZSmG3z6VYwnRJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotolight.woff - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\RobotoBold.woff + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotomedium.woff - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\RobotoLight.woff + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotoregular.woff - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\RobotoMedium.woff + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotothin.woff - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\RobotoRegular.woff - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\RobotoThin.woff - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\VvXUGKZXbHtX_S_VCTLpGhTbgVql8nDJpwnrE27mub0.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\aZMswpodYeVhtRvuABJWvBTbgVql8nDJpwnrE27mub0.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\d-6IYplOFocCacKzxwXSOFtXRa8TVwTICgirnJhmVJw.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\e7MeVAyvogMqFwwl61PKhBTbgVql8nDJpwnrE27mub0.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\frNV30OaYdlFRtH2VnZZdhTbgVql8nDJpwnrE27mub0.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\gwVJDERN2Amz39wrSoZ7FxTbgVql8nDJpwnrE27mub0.woff2 - - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\rxzjdnzeo3r5zsexge8uuvtxra8tvwticgirnjhmvjw.woff2 Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\style.css - - Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\ty9dfvLAziwdqQ2dHoyjphTbgVql8nDJpwnrE27mub0.woff2 + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\ty9dfvlaziwdqq2dhoyjphtbgvql8ndjpwnre27mub0.woff2 + + + Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\vvxugkzxbhtx_s_vctlpghtbgvql8ndjpwnre27mub0.woff2 Resources\dashboard-ui\bower_components\emby-webcomponents\fullscreen\fullscreen-doubleclick.js @@ -1436,6 +1353,18 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\guide\tvguide.template.html + + Resources\dashboard-ui\bower_components\emby-webcomponents\htmlaudioplayer\blank.mp3 + + + Resources\dashboard-ui\bower_components\emby-webcomponents\htmlaudioplayer\plugin.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\htmlvideoplayer\plugin.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\htmlvideoplayer\style.css + Resources\dashboard-ui\bower_components\emby-webcomponents\imageeditor\imageeditor.css @@ -1466,6 +1395,12 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\input\api.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\input\gamepadtokey.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\input\mouse.js + Resources\dashboard-ui\bower_components\emby-webcomponents\itemhovermenu\itemhovermenu.css @@ -1553,6 +1488,21 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\pagejs\page.js + + Resources\dashboard-ui\bower_components\emby-webcomponents\playback\nowplayinghelper.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\playback\playbackmanager.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\playback\playbackvalidation.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\playback\playerselection.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\playback\remotecontrolautoplay.js + Resources\dashboard-ui\bower_components\emby-webcomponents\playlisteditor\playlisteditor.js @@ -1682,8 +1632,8 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\strings\ar.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\bg-BG.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\bg-bg.json Resources\dashboard-ui\bower_components\emby-webcomponents\strings\ca.json @@ -1700,17 +1650,17 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\strings\el.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\en-GB.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\en-gb.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\en-US.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\en-us.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\es-AR.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\es-ar.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\es-MX.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\es-mx.json Resources\dashboard-ui\bower_components\emby-webcomponents\strings\es.json @@ -1718,8 +1668,8 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\strings\fi.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\fr-CA.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\fr-ca.json Resources\dashboard-ui\bower_components\emby-webcomponents\strings\fr.json @@ -1760,11 +1710,11 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\strings\pl.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\pt-BR.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\pt-br.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\pt-PT.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\pt-pt.json Resources\dashboard-ui\bower_components\emby-webcomponents\strings\ro.json @@ -1775,8 +1725,8 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\strings\sk.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\sl-SI.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\sl-si.json Resources\dashboard-ui\bower_components\emby-webcomponents\strings\sv.json @@ -1790,14 +1740,14 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\strings\vi.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\zh-CN.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\zh-cn.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\zh-HK.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\zh-hk.json - - Resources\dashboard-ui\bower_components\emby-webcomponents\strings\zh-TW.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\strings\zh-tw.json Resources\dashboard-ui\bower_components\emby-webcomponents\subtitleeditor\subtitleeditor.css @@ -1895,6 +1845,12 @@ Resources\dashboard-ui\bower_components\emby-webcomponents\voice\grammar\grammar.json + + Resources\dashboard-ui\bower_components\emby-webcomponents\youtubeplayer\plugin.js + + + Resources\dashboard-ui\bower_components\emby-webcomponents\youtubeplayer\style.css + Resources\dashboard-ui\bower_components\fetch\.bower.json @@ -2600,9 +2556,6 @@ Resources\dashboard-ui\components\remotecontrol.js - - Resources\dashboard-ui\components\remotecontrolautoplay.js - Resources\dashboard-ui\components\viewcontainer-lite.js @@ -2729,9 +2682,6 @@ Resources\dashboard-ui\css\livetv.css - - Resources\dashboard-ui\css\mediaplayer-video.css - Resources\dashboard-ui\css\metadataeditor.css @@ -3056,9 +3006,6 @@ Resources\dashboard-ui\scripts\channelslatest.js - - Resources\dashboard-ui\scripts\chromecast.js - Resources\dashboard-ui\scripts\connectlogin.js @@ -3092,9 +3039,6 @@ Resources\dashboard-ui\scripts\episodes.js - - Resources\dashboard-ui\scripts\externalplayer.js - Resources\dashboard-ui\scripts\favorites.js @@ -3128,9 +3072,6 @@ Resources\dashboard-ui\scripts\homeupcoming.js - - Resources\dashboard-ui\scripts\htmlmediarenderer.js - Resources\dashboard-ui\scripts\indexpage.js @@ -3197,21 +3138,9 @@ Resources\dashboard-ui\scripts\loginpage.js - - Resources\dashboard-ui\scripts\mediacontroller.js - Resources\dashboard-ui\scripts\medialibrarypage.js - - Resources\dashboard-ui\scripts\mediaplayer-video.js - - - Resources\dashboard-ui\scripts\mediaplayer.js - - - Resources\dashboard-ui\scripts\metadataconfigurationpage.js - Resources\dashboard-ui\scripts\metadataimagespage.js @@ -3311,9 +3240,6 @@ Resources\dashboard-ui\scripts\pluginspage.js - - Resources\dashboard-ui\scripts\remotecontrol.js - Resources\dashboard-ui\scripts\reports.js @@ -3401,6 +3327,9 @@ Resources\dashboard-ui\scripts\userprofilespage.js + + Resources\dashboard-ui\scripts\videoosd.js + Resources\dashboard-ui\scripts\wizardagreement.js @@ -3425,11 +3354,11 @@ Resources\dashboard-ui\strings\ar.json - - Resources\dashboard-ui\strings\be-BY.json + + Resources\dashboard-ui\strings\be-by.json - - Resources\dashboard-ui\strings\bg-BG.json + + Resources\dashboard-ui\strings\bg-bg.json Resources\dashboard-ui\strings\ca.json @@ -3440,8 +3369,8 @@ Resources\dashboard-ui\strings\da.json - - Resources\dashboard-ui\strings\de-DE.json + + Resources\dashboard-ui\strings\de-de.json Resources\dashboard-ui\strings\de.json @@ -3449,20 +3378,20 @@ Resources\dashboard-ui\strings\el.json - - Resources\dashboard-ui\strings\en-GB.json + + Resources\dashboard-ui\strings\en-gb.json - - Resources\dashboard-ui\strings\en-US.json + + Resources\dashboard-ui\strings\en-us.json - - Resources\dashboard-ui\strings\es-AR.json + + Resources\dashboard-ui\strings\es-ar.json - - Resources\dashboard-ui\strings\es-ES.json + + Resources\dashboard-ui\strings\es-es.json - - Resources\dashboard-ui\strings\es-MX.json + + Resources\dashboard-ui\strings\es-mx.json Resources\dashboard-ui\strings\es.json @@ -3470,11 +3399,11 @@ Resources\dashboard-ui\strings\fi.json - - Resources\dashboard-ui\strings\fr-CA.json + + Resources\dashboard-ui\strings\fr-ca.json - - Resources\dashboard-ui\strings\fr-FR.json + + Resources\dashboard-ui\strings\fr-fr.json Resources\dashboard-ui\strings\fr.json @@ -3503,8 +3432,8 @@ Resources\dashboard-ui\strings\ko.json - - Resources\dashboard-ui\strings\lt-LT.json + + Resources\dashboard-ui\strings\lt-lt.json Resources\dashboard-ui\strings\ms.json @@ -3518,11 +3447,11 @@ Resources\dashboard-ui\strings\pl.json - - Resources\dashboard-ui\strings\pt-BR.json + + Resources\dashboard-ui\strings\pt-br.json - - Resources\dashboard-ui\strings\pt-PT.json + + Resources\dashboard-ui\strings\pt-pt.json Resources\dashboard-ui\strings\ro.json @@ -3533,8 +3462,8 @@ Resources\dashboard-ui\strings\sk.json - - Resources\dashboard-ui\strings\sl-SI.json + + Resources\dashboard-ui\strings\sl-si.json Resources\dashboard-ui\strings\sv.json @@ -3548,14 +3477,14 @@ Resources\dashboard-ui\strings\vi.json - - Resources\dashboard-ui\strings\zh-CN.json + + Resources\dashboard-ui\strings\zh-cn.json - - Resources\dashboard-ui\strings\zh-HK.json + + Resources\dashboard-ui\strings\zh-hk.json - - Resources\dashboard-ui\strings\zh-TW.json + + Resources\dashboard-ui\strings\zh-tw.json Resources\dashboard-ui\themes\halloween\bg.jpg From a3b9d33248c94f04f630b73cba0cf5a886ab69a8 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 23 Jan 2017 16:51:23 -0500 Subject: [PATCH 2/3] key m3u based on tvgid --- .../IO/ManagedFileSystem.cs | 24 ++++++------------- .../HdHomerun/HdHomerunDiscovery.cs | 1 - .../TunerHosts/HdHomerun/HdHomerunHost.cs | 5 +--- .../LiveTv/TunerHosts/M3UTunerHost.cs | 2 +- .../LiveTv/TunerHosts/M3uParser.cs | 23 ++++++++++++++---- MediaBrowser.Model/LiveTv/LiveTvOptions.cs | 3 +-- .../Native/MonoFileSystem.cs | 4 ++-- MediaBrowser.Server.Mono/Program.cs | 2 +- .../LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs | 1 - .../LiveTv/TunerHosts/SatIp/SatIpHost.cs | 2 +- MediaBrowser.ServerApplication/MainStartup.cs | 2 +- OpenSubtitlesHandler/Utilities.cs | 4 ++-- 12 files changed, 35 insertions(+), 38 deletions(-) diff --git a/Emby.Common.Implementations/IO/ManagedFileSystem.cs b/Emby.Common.Implementations/IO/ManagedFileSystem.cs index 72b9d55eb1..3fe20f6596 100644 --- a/Emby.Common.Implementations/IO/ManagedFileSystem.cs +++ b/Emby.Common.Implementations/IO/ManagedFileSystem.cs @@ -20,10 +20,13 @@ namespace Emby.Common.Implementations.IO private readonly List _shortcutHandlers = new List(); private bool EnableFileSystemRequestConcat = true; - public ManagedFileSystem(ILogger logger, bool supportsAsyncFileStreams, bool enableManagedInvalidFileNameChars, bool enableFileSystemRequestConcat) + private string _tempPath; + + public ManagedFileSystem(ILogger logger, bool supportsAsyncFileStreams, bool enableManagedInvalidFileNameChars, bool enableFileSystemRequestConcat, string tempPath) { Logger = logger; _supportsAsyncFileStreams = supportsAsyncFileStreams; + _tempPath = tempPath; EnableFileSystemRequestConcat = enableFileSystemRequestConcat; SetInvalidFileNameChars(enableManagedInvalidFileNameChars); } @@ -487,12 +490,13 @@ namespace Emby.Common.Implementations.IO throw new ArgumentNullException("file2"); } - var temp1 = Path.GetTempFileName(); + var temp1 = Path.Combine(_tempPath, Guid.NewGuid().ToString("N")); // Copying over will fail against hidden files SetHidden(file1, false); SetHidden(file2, false); + Directory.CreateDirectory(_tempPath); CopyFile(file1, temp1, true); CopyFile(file2, file1, true); @@ -674,21 +678,7 @@ namespace Emby.Common.Implementations.IO private IEnumerable ToMetadata(string parentPath, IEnumerable infos) { - return infos.Select(i => - { - try - { - return GetFileSystemMetadata(i); - } - catch (PathTooLongException) - { - // Can't log using the FullName because it will throw the PathTooLongExceptiona again - //Logger.Warn("Path too long: {0}", i.FullName); - Logger.Warn("File or directory path too long. Parent folder: {0}", parentPath); - return null; - } - - }).Where(i => i != null); + return infos.Select(GetFileSystemMetadata); } public string[] ReadAllLines(string path) diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunDiscovery.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunDiscovery.cs index f2e48fbc0f..336469c500 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunDiscovery.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunDiscovery.cs @@ -104,7 +104,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun { Type = HdHomerunHost.DeviceType, Url = url, - DataVersion = 1, DeviceId = response.DeviceID }).ConfigureAwait(false); diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index 485596050a..1c7c0828c3 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -61,10 +61,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun { var id = ChannelIdPrefix + i.GuideNumber; - if (info.DataVersion >= 1) - { - id += '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N"); - } + id += '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N"); return id; } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs index 352f4fe958..cfcf51d46f 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs @@ -50,7 +50,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts protected override async Task> GetChannelsInternal(TunerHostInfo info, CancellationToken cancellationToken) { - return await new M3uParser(Logger, _fileSystem, _httpClient, _appHost).Parse(info.Url, ChannelIdPrefix, info.Id, cancellationToken).ConfigureAwait(false); + return await new M3uParser(Logger, _fileSystem, _httpClient, _appHost).Parse(info.Url, ChannelIdPrefix, info.Id, !info.EnableTvgId, cancellationToken).ConfigureAwait(false); } public Task> GetTunerInfos(CancellationToken cancellationToken) diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs index 06a7a0c2d7..cf36f7c6a9 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs @@ -33,14 +33,14 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts _appHost = appHost; } - public async Task> Parse(string url, string channelIdPrefix, string tunerHostId, CancellationToken cancellationToken) + public async Task> Parse(string url, string channelIdPrefix, string tunerHostId, bool enableStreamUrlAsIdentifier, CancellationToken cancellationToken) { var urlHash = url.GetMD5().ToString("N"); // Read the file and display it line by line. using (var reader = new StreamReader(await GetListingsStream(url, cancellationToken).ConfigureAwait(false))) { - return GetChannels(reader, urlHash, channelIdPrefix, tunerHostId); + return GetChannels(reader, urlHash, channelIdPrefix, tunerHostId, enableStreamUrlAsIdentifier); } } @@ -51,7 +51,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts // Read the file and display it line by line. using (var reader = new StringReader(text)) { - return GetChannels(reader, urlHash, channelIdPrefix, tunerHostId); + return GetChannels(reader, urlHash, channelIdPrefix, tunerHostId, false); } } @@ -71,7 +71,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } const string ExtInfPrefix = "#EXTINF:"; - private List GetChannels(TextReader reader, string urlHash, string channelIdPrefix, string tunerHostId) + private List GetChannels(TextReader reader, string urlHash, string channelIdPrefix, string tunerHostId, bool enableStreamUrlAsIdentifier) { var channels = new List(); string line; @@ -97,7 +97,15 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith("#", StringComparison.OrdinalIgnoreCase)) { var channel = GetChannelnfo(extInf, tunerHostId, line); - channel.Id = channelIdPrefix + urlHash + line.GetMD5().ToString("N"); + if (string.IsNullOrWhiteSpace(channel.Id) || enableStreamUrlAsIdentifier) + { + channel.Id = channelIdPrefix + urlHash + line.GetMD5().ToString("N"); + } + else + { + channel.Id = channelIdPrefix + channel.Id.GetMD5().ToString("N"); + } + channel.Path = line; channels.Add(channel); extInf = ""; @@ -126,6 +134,11 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts channel.Name = GetChannelName(extInf, attributes); channel.Number = GetChannelNumber(extInf, attributes, mediaUrl); + if (attributes.TryGetValue("tvg-id", out value)) + { + channel.Id = value; + } + return channel; } diff --git a/MediaBrowser.Model/LiveTv/LiveTvOptions.cs b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs index a27494dc51..3c2ace8964 100644 --- a/MediaBrowser.Model/LiveTv/LiveTvOptions.cs +++ b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs @@ -57,8 +57,7 @@ namespace MediaBrowser.Model.LiveTv public string SourceB { get; set; } public string SourceC { get; set; } public string SourceD { get; set; } - - public int DataVersion { get; set; } + public bool EnableTvgId { get; set; } public TunerHostInfo() { diff --git a/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs b/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs index 3d6a3e35dc..a5dc691a75 100644 --- a/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs +++ b/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs @@ -6,8 +6,8 @@ namespace MediaBrowser.Server.Mono.Native { public class MonoFileSystem : ManagedFileSystem { - public MonoFileSystem(ILogger logger, bool supportsAsyncFileStreams, bool enableManagedInvalidFileNameChars) - : base(logger, supportsAsyncFileStreams, enableManagedInvalidFileNameChars, true) + public MonoFileSystem(ILogger logger, bool supportsAsyncFileStreams, bool enableManagedInvalidFileNameChars, string tempPath) + : base(logger, supportsAsyncFileStreams, enableManagedInvalidFileNameChars, true, tempPath) { } diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index b3aeb2027b..8100dec8d7 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -108,7 +108,7 @@ namespace MediaBrowser.Server.Mono // Allow all https requests ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; }); - var fileSystem = new MonoFileSystem(logManager.GetLogger("FileSystem"), false, false); + var fileSystem = new MonoFileSystem(logManager.GetLogger("FileSystem"), false, false, appPaths.TempDirectory); fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem)); var environmentInfo = GetEnvironmentInfo(); diff --git a/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs b/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs index 8ecdca46b3..fded988626 100644 --- a/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs +++ b/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs @@ -113,7 +113,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp Type = SatIpHost.DeviceType, Url = deviceUrl, InfoUrl = infoUrl, - DataVersion = 1, DeviceId = info.DeviceId, FriendlyName = info.FriendlyName, Tuners = info.Tuners, diff --git a/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpHost.cs b/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpHost.cs index 5f0f28257f..ab057d4d88 100644 --- a/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpHost.cs +++ b/MediaBrowser.Server.Startup.Common/LiveTv/TunerHosts/SatIp/SatIpHost.cs @@ -44,7 +44,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp { if (!string.IsNullOrWhiteSpace(tuner.M3UUrl)) { - return await new M3uParser(Logger, _fileSystem, _httpClient, _appHost).Parse(tuner.M3UUrl, ChannelIdPrefix, tuner.Id, cancellationToken).ConfigureAwait(false); + return await new M3uParser(Logger, _fileSystem, _httpClient, _appHost).Parse(tuner.M3UUrl, ChannelIdPrefix, tuner.Id, false, cancellationToken).ConfigureAwait(false); } var channels = await new ChannelScan(Logger).Scan(tuner, cancellationToken).ConfigureAwait(false); diff --git a/MediaBrowser.ServerApplication/MainStartup.cs b/MediaBrowser.ServerApplication/MainStartup.cs index 8dcabb9500..70b86c4a61 100644 --- a/MediaBrowser.ServerApplication/MainStartup.cs +++ b/MediaBrowser.ServerApplication/MainStartup.cs @@ -324,7 +324,7 @@ namespace MediaBrowser.ServerApplication /// The options. private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, bool runService, StartupOptions options) { - var fileSystem = new ManagedFileSystem(logManager.GetLogger("FileSystem"), true, true, true); + var fileSystem = new ManagedFileSystem(logManager.GetLogger("FileSystem"), true, true, true, appPaths.TempDirectory); fileSystem.AddShortcutHandler(new LnkShortcutHandler()); fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem)); diff --git a/OpenSubtitlesHandler/Utilities.cs b/OpenSubtitlesHandler/Utilities.cs index c012da462d..f8cfa5c4fb 100644 --- a/OpenSubtitlesHandler/Utilities.cs +++ b/OpenSubtitlesHandler/Utilities.cs @@ -37,8 +37,8 @@ namespace OpenSubtitlesHandler public static IHttpClient HttpClient { get; set; } public static ITextEncoding EncodingHelper { get; set; } - //private static string XML_RPC_SERVER = "https://api.opensubtitles.org/xml-rpc"; - private static string XML_RPC_SERVER = "https://92.240.234.122/xml-rpc"; + private static string XML_RPC_SERVER = "https://api.opensubtitles.org/xml-rpc"; + //private static string XML_RPC_SERVER = "https://92.240.234.122/xml-rpc"; private static string HostHeader = "api.opensubtitles.org:443"; /// From 2ebcbdece8ad941e3a4d95000c1071c1e1ad81ab Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 24 Jan 2017 00:52:47 -0500 Subject: [PATCH 3/3] update now playing screen --- Emby.Server.Implementations/Library/MusicManager.cs | 3 +-- MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 9 +-------- .../Probing/ProbeResultNormalizer.cs | 2 ++ 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Emby.Server.Implementations/Library/MusicManager.cs b/Emby.Server.Implementations/Library/MusicManager.cs index 7669dd0bf1..9d07837c69 100644 --- a/Emby.Server.Implementations/Library/MusicManager.cs +++ b/Emby.Server.Implementations/Library/MusicManager.cs @@ -105,11 +105,10 @@ namespace Emby.Server.Implementations.Library return inputItems .Cast