This commit is contained in:
root
2023-08-31 15:30:17 +02:00
commit dea16b40a8
833 changed files with 142024 additions and 0 deletions

View File

@@ -0,0 +1 @@
define(["./../common/playback/playbackmanager.js","./../emby-apiclient/connectionmanager.js","./../emby-apiclient/events.js","./../common/itemmanager/itemmanager.js"],function(_playbackmanager,_connectionmanager,_events,_itemmanager){var currentPlayer;function pushImageUrl(item,height,list){var imageOptions={height:height},item=function(item,options){return"Episode"!==item.Type?null:((options=options||{}).type=options.type||"Primary","Primary"===options.type&&item.SeriesPrimaryImageTag?(options.tag=item.SeriesPrimaryImageTag,_connectionmanager.default.getApiClient(item).getImageUrl(item.SeriesId,options)):"Thumb"===options.type&&item.ParentThumbImageTag?(options.tag=item.ParentThumbImageTag,_connectionmanager.default.getApiClient(item).getImageUrl(item.ParentThumbItemId,options)):null)}(item,imageOptions)||function(item,options){return(options=options||{}).type=options.type||"Primary",item.ImageTags&&item.ImageTags[options.type]?(options.tag=item.ImageTags[options.type],_connectionmanager.default.getApiClient(item).getImageUrl(item.Id,options)):item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,_connectionmanager.default.getApiClient(item).getImageUrl(item.AlbumId,options)):null}(item,imageOptions);item&&list.push({src:item,sizes:height+"x"+height})}function updatePlayerState(player,state){var title,albumArtist,artist,album,itemId,duration,currentTime,item=state.NowPlayingItem;!item||"Video"!==item.MediaType&&"Audio"!==item.MediaType?hideMediaControls():(title=_itemmanager.default.getDisplayName(item,{}),item.AlbumArtists&&item.AlbumArtists[0]&&(albumArtist=item.AlbumArtists[0].Name),item.ArtistItems?item.ArtistItems.length&&(artist=item.ArtistItems[0].Name):artist=item.SeriesName,album=item.Album||"",itemId=item.Id,duration=parseInt(item.RunTimeTicks?item.RunTimeTicks/1e4:0),state=state.PlayState||{},currentTime=parseInt(state.PositionTicks?state.PositionTicks/1e4:0),state=state.IsPaused||!1,navigator.mediaSession.metadata=new MediaMetadata({title:title,artist:artist,album:album,artwork:function(item){var list=[];return pushImageUrl(item,96,list),pushImageUrl(item,128,list),pushImageUrl(item,192,list),pushImageUrl(item,256,list),pushImageUrl(item,384,list),pushImageUrl(item,512,list),list}(item),albumArtist:albumArtist,currentTime:currentTime,duration:duration,paused:state,itemId:itemId,mediaType:item.MediaType,trackNumber:item.IndexNumber}))}function onGeneralEvent(e){updatePlayerState(0,_playbackmanager.default.getPlayerState(this),e.type)}function onStateChanged(e,state){updatePlayerState(0,state)}function onPlaybackStart(e,state){updatePlayerState(0,state,e.type)}function onPlaybackStopped(e,state){state.NextMediaType||hideMediaControls()}function hideMediaControls(){navigator.mediaSession.metadata=null}function bindToPlayer(player){currentPlayer&&(_events.default.off(currentPlayer,"playbackstart",onPlaybackStart),_events.default.off(currentPlayer,"playbackstop",onPlaybackStopped),_events.default.off(currentPlayer,"unpause",onGeneralEvent),_events.default.off(currentPlayer,"pause",onGeneralEvent),_events.default.off(currentPlayer,"statechange",onStateChanged),_events.default.off(currentPlayer,"timeupdate",onGeneralEvent),currentPlayer=null,hideMediaControls()),player&&(currentPlayer=player,updatePlayerState(0,_playbackmanager.default.getPlayerState(player)),_events.default.on(currentPlayer,"playbackstart",onPlaybackStart),_events.default.on(currentPlayer,"playbackstop",onPlaybackStopped),_events.default.on(currentPlayer,"unpause",onGeneralEvent),_events.default.on(currentPlayer,"pause",onGeneralEvent),_events.default.on(currentPlayer,"statechange",onStateChanged),_events.default.on(currentPlayer,"timeupdate",onGeneralEvent))}function execute(name){_playbackmanager.default[name](currentPlayer)}navigator.mediaSession.setActionHandler("previoustrack",function(){execute("previousTrack")}),navigator.mediaSession.setActionHandler("nexttrack",function(){execute("nextTrack")}),navigator.mediaSession.setActionHandler("play",function(){execute("unpause")}),navigator.mediaSession.setActionHandler("pause",function(){execute("pause")});try{navigator.mediaSession.setActionHandler("stop",function(){_playbackmanager.default.isPairing()||execute("stop")})}catch(err){console.log(err)}try{navigator.mediaSession.setActionHandler("seekto",function(data){data.fastSeek||(data=1e3*data.seekTime*1e4,_playbackmanager.default.seek(data,currentPlayer))})}catch(err){console.log(err)}navigator.mediaSession.setActionHandler("seekbackward",function(){execute("rewind")}),navigator.mediaSession.setActionHandler("seekforward",function(){execute("fastForward")}),_events.default.on(_playbackmanager.default,"playerchange",function(){bindToPlayer(_playbackmanager.default.getCurrentPlayer())}),bindToPlayer(_playbackmanager.default.getCurrentPlayer())});

View File

@@ -0,0 +1 @@
define(["exports","./../common/globalize.js","./../common/playback/playbackmanager.js","./../approuter.js","./../loading/loading.js","./../emby-apiclient/events.js","./../common/servicelocator.js"],function(_exports,_globalize,_playbackmanager,_approuter,_loading,_events,_servicelocator){var currentItem;function showDialog(options){return Emby.importModule("./modules/dialog/dialog.js").then(function(dialog){return dialog(options)})}function mirrorIfEnabled(item){var currentPlayer;item?currentItem=item:item=currentItem,!item||item.IsFolder&&"Series"!==item.Type&&"MusicAlbum"!==item.Type&&"MusicArtist"!==item.Type||(currentPlayer=_playbackmanager.default.getCurrentPlayer())&&!currentPlayer.isLocalPlayer&&_playbackmanager.default.displayContent({ItemName:item.Name,ItemId:item.Id,ItemType:item.Type},currentPlayer)}function emptyCallback(){}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,document.addEventListener("itemshow",function(e){e=e.detail.item;e&&e.ServerId&&mirrorIfEnabled(e)}),_events.default.on(_playbackmanager.default,"pairing",function(e){_loading.default.show()}),_events.default.on(_playbackmanager.default,"paired",function(e){_loading.default.hide()}),_events.default.on(_playbackmanager.default,"pairerror",function(e){_loading.default.hide()}),_exports.default={show:function(button){var playerInfo,items,currentDeviceName,currentPlayerId,currentPlayerInfo=_playbackmanager.default.getPlayerInfo();currentPlayerInfo&&!currentPlayerInfo.isLocalPlayer?(items=[],playerInfo={title:currentDeviceName=(playerInfo=currentPlayerInfo).deviceName||playerInfo.name},items.push({name:_globalize.default.translate("HeaderRemoteControl"),id:"remote"}),items.push({name:_globalize.default.translate("Disconnect"),id:"disconnect"}),items.push({name:_globalize.default.translate("Cancel"),id:"cancel",type:"cancel"}),playerInfo.buttons=items,showDialog(playerInfo).then(function(result){return"remote"===result?_approuter.default.showNowPlaying():("disconnect"===result&&function(currentDeviceName){{var menuItems;-1!==_playbackmanager.default.getSupportedCommands().indexOf("EndSession")?((menuItems=[]).push({name:_globalize.default.translate("Yes"),id:"yes"}),menuItems.push({name:_globalize.default.translate("No"),id:"no"}),showDialog({buttons:menuItems,text:_globalize.default.translate("ConfirmEndPlayerSession",currentDeviceName)}).then(function(id){switch(id){case"yes":_playbackmanager.default.getCurrentPlayer().endSession(),_playbackmanager.default.setDefaultPlayerActive();break;case"no":_playbackmanager.default.setDefaultPlayerActive()}},emptyCallback)):_playbackmanager.default.setDefaultPlayerActive()}}(currentDeviceName),Promise.resolve())},emptyCallback)):(currentPlayerId=currentPlayerInfo?currentPlayerInfo.id:null,_loading.default.show(),_playbackmanager.default.getTargets().then(function(targets){var options,menuItems=targets.map(function(t){var target;return{name:t.name,nameSubtitle:t.appName,id:t.id,selected:currentPlayerId===t.id,secondaryText:(target=t).user?target.user.Name:null,icon:function(target){switch(target.deviceType||"tv"){case"smartphone":return"&#xE32C;";case"tablet":return"&#xE32F;";case"tv":return"&#xE333;";case"cast":return"&#xE307;";case"desktop":return"&#xE30A;";default:return"&#xE333;"}}(t)}}),menuItems=(_loading.default.hide(),{title:_globalize.default.translate("HeaderPlayOn"),items:menuItems,positionTo:button,positionY:"bottom",resolveOnClick:!0,iconRight:!1,hasItemIcon:!0,showNameSubtitle:!0});_servicelocator.appHost.supports("castmenuhashchange")&&!function(){for(var brands=(navigator.userAgentData||{}).brands||[],i=0,length=brands.length;i<length;i++)if("chromium"===(brands[i].brand||"").toLowerCase())return 1}()||(menuItems.enableHistory=!1),options=menuItems,Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(ActionSheet){return ActionSheet.show(options)}).then(function(id){var target=targets.filter(function(t){return t.id===id})[0];_playbackmanager.default.trySetActivePlayer(target.playerName,target),mirrorIfEnabled()},emptyCallback)}))}}});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
define(["./../common/playback/playbackmanager.js","./../emby-apiclient/events.js"],function(_playbackmanager,_events){_events.default.on(_playbackmanager.default,"playerchange",function(e,newPlayer,newTarget,oldPlayer){if(oldPlayer)if(newPlayer)if(oldPlayer.isLocalPlayer&&newPlayer.isLocalPlayer)console.log("Skipping remote control autoplay because both old and new players are local");else{if(!newPlayer.isLocalPlayer)return function(oldPlayer,newPlayer){console.log("transferPlayback");var resumePositionTicks,state=_playbackmanager.default.getPlayerState(oldPlayer),item=state.NowPlayingItem;if(item)return resumePositionTicks=(state.PlayState||{}).PositionTicks||0,console.log("stopping player"),_playbackmanager.default.stop(oldPlayer).then(function(){console.log("player stopped"),_playbackmanager.default.play({ids:[item.Id],serverId:item.ServerId,startPositionTicks:resumePositionTicks},newPlayer)});console.log("aborting transferPlayback because item is null")}(oldPlayer,newPlayer);console.log("Skipping remote control autoplay because newPlayer is a local player")}else console.log("Skipping remote control autoplay because new player is null")})});