EmbyCrackedClient/web/transcoding/transcodingtab.js

1 line
12 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import BaseTab from"./../modules/tabbedview/basetab.js";import loading from"./../modules/loading/loading.js";import globalize from"./../modules/common/globalize.js";import formHelper from"./../modules/common/responsehelper.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import"./../modules/emby-elements/emby-input/emby-input.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-checkbox/emby-checkbox.js";import"./../modules/emby-elements/emby-select/emby-select.js";import"./../modules/emby-elements/emby-premierecontainer/emby-premierecontainer.js";import listView from"./../modules/listview/listview.js";import layoutManager from"./../modules/layoutmanager.js";import"./codeccontroller.js";function loadPage(instance,config,codecs,defaultCodecConfigurations){var view=instance.view,selectHwa=view.querySelector(".selectHwa"),defaultCodecConfigurations=(selectHwa.value=config.HardwareAccelerationMode||0,1===config.HardwareAccelerationMode?defaultCodecConfigurations:config.CodecConfigurations||[]);instance.codecList||(instance.codecList=codecs,renderCodecs(instance,view,codecs,defaultCodecConfigurations)),view.querySelector(".chkEnableThrottle").checked=config.EnableThrottling,view.querySelector(".txtDownMixAudioBoost").value=config.DownMixAudioBoost,view.querySelector(".txtTranscodingTempPath").value=config.TranscodingTempPath||"",view.querySelector(".chkEnableSubtitleExtraction").checked=config.EnableSubtitleExtraction||!1,onHwaModeChange.call(instance,{target:selectHwa,currentTarget:selectHwa}),loading.hide()}function getCodecItems(instance,filterFn,query){let items=instance.codecList.filter(filterFn);items.sort(function(c1,c2){return c2.Priority-c1.Priority});let serverId=instance.getApiClient().serverId();filterFn=(items=items.map(function(i){let name=i.Name;return i.IsHardwareCodec||(name=i.MediaTypeName),{OriginalItem:i,Type:"Codec",Id:i.Id,IsFolder:!1,ServerId:serverId,Name:name,CanReorder:i.IsHardwareCodec}})).length;for(let i=0,length=items.length;i<length;i++){var item=items[i];item.CanMoveUp=0<i,item.CanMoveDown=i<items.length-1}return Promise.resolve({Items:items,TotalRecordCount:filterFn})}function getSoftwareEncoderItems(query){return getCodecItems(this,function(codec){return"Encoder"===codec.Direction&&!codec.IsHardwareCodec&&codec.SupportsParameters},query)}function getCodecGroupItems(query){let options=this;return getCodecItems(options.instance,function(codec){return codec.MediaTypeName===options.Group&&codec.Direction===options.Direction&&codec.IsHardwareCodec===options.IsHardwareCodec},query)}function getSoftwareEncoderListOptions(items){return{renderer:listView,options:{defaultBackground:!1,moreButton:!1,action:layoutManager.tv?"edit":"none",multiSelect:!1,image:!1,draggable:!1,draggableXActions:!1,buttonCommands:["edit"],fields:["Name"]}}}function getCodecGroupListOptions(items){items=1<items.length;return{renderer:listView,options:{defaultBackground:!1,moreButton:!1,action:layoutManager.tv?"menu":"none",multiSelect:!1,image:!1,buttonCommands:["codecinfo","edit"],dragReorder:items,draggable:items,draggableXActions:!1,fields:["ItemCheckbox","Name"],checkboxAction:onItemsChecked,getIsItemChecked:getIsItemChecked,commandActions:{moveInOrder:onItemsMoved.bind(this)}}}}function getIsItemChecked(item){return item.OriginalItem.IsEnabled}function onItemsChecked(options){var items=options.items,checked=options.checked;for(let i=0,length=items.length;i<length;i++)items[i].OriginalItem.IsEnabled=checked;return Promise.resolve()}function arraymove(arr,fromIndex,toIndex){var element=arr[fromIndex];arr.splice(fromIndex,1),arr.splice(toIndex,0,element)}function onItemsMovedToNewIndex(movedItems,allItems,options){console.log("onItemsMovedToNewIndex");movedItems=allItems.indexOf(movedItems[0].OriginalItem),options=options.newIndex;if(console.log("onItemsMovedToNewIndex, fromIndex: "+movedItems+", newIndex: "+options),movedItems!==options){arraymove(allItems,movedItems,options);for(let i=0,length=allItems.length;i<length;i++)allItems[i].P