mirror of
https://github.com/WebTools-NG/WebTools-NG
synced 2024-11-30 06:50:21 +00:00
#265 WIP
This commit is contained in:
parent
c24360949a
commit
bb1d70d880
6 changed files with 1139 additions and 2986 deletions
|
@ -6,7 +6,7 @@
|
|||
</div>
|
||||
<br />
|
||||
|
||||
<!-- Media type to export -->
|
||||
<!-- Media type to export -->
|
||||
<b-form-group id="etTypeGroup" v-bind:label="$t('Modules.ET.HSelectMedia')" label-size="lg" label-class="font-weight-bold pt-0">
|
||||
<b-tooltip target="etTypeGroup" triggers="hover">
|
||||
{{ $t('Modules.ET.TT-ETType') }}
|
||||
|
@ -20,33 +20,33 @@
|
|||
</b-form-radio-group>
|
||||
</b-form-group>
|
||||
|
||||
<div> <!-- Select Custom Level -->
|
||||
<b-form-group id="etLevelGroup" v-bind:label="$t('Modules.ET.Custom.CustomLevel')" label-size="lg" label-class="font-weight-bold pt-0">
|
||||
<div> <!-- Select Custom Level -->
|
||||
<b-form-group id="etLevelGroup" v-bind:label="$t('Modules.ET.Custom.CustomLevel')" label-size="lg" label-class="font-weight-bold pt-0">
|
||||
<b-tooltip target="etLevelGroup" triggers="hover">
|
||||
{{ $t('Modules.ET.Custom.TT-ETEditLevel') }}
|
||||
</b-tooltip>
|
||||
</b-tooltip>
|
||||
<b-form-select
|
||||
class="form-control"
|
||||
v-model="selCustLevel"
|
||||
ref="selLevel"
|
||||
id="selLevel"
|
||||
v-on:change="selectExportLevel"
|
||||
v-on:change="selectExportLevel"
|
||||
:options="optionsLevels"
|
||||
name="selLevel">
|
||||
name="selLevel">
|
||||
</b-form-select>
|
||||
</b-form-group>
|
||||
</b-form-group>
|
||||
</div>
|
||||
|
||||
<b-modal ref="showNewLevel" hide-footer v-bind:title=this.customTitle >
|
||||
<div class="d-block text-center">
|
||||
<b-form-input v-model="NewLevelName" v-bind:placeholder=this.NewLevelInputTxt ></b-form-input>
|
||||
<b-form-input v-model="NewLevelName" v-bind:placeholder=this.NewLevelInputTxt ></b-form-input>
|
||||
</div>
|
||||
<b-button class="mt-3" variant="outline-primary" block @click="addNewLevel">{{ this.NewLevelSaveTxt }}</b-button>
|
||||
</b-modal>
|
||||
|
||||
<b-modal ref="confirmDeleteLevel" hide-footer v-bind:title=this.deleteLevel >
|
||||
<div class="d-block text-center">
|
||||
{{ $t('Modules.ET.Custom.confirmDelete', [this.selCustLevel]) }}
|
||||
{{ $t('Modules.ET.Custom.confirmDelete', [this.selCustLevel]) }}
|
||||
</div>
|
||||
<b-button class="mt-3" variant="info" block @click="deleteClose">{{ $t('Modules.ET.Custom.Cancel') }}</b-button>
|
||||
<b-button class="mt-3" variant="danger" block @click="deleteCustomLevel">{{ $t('Modules.ET.Custom.Delete') }}</b-button>
|
||||
|
@ -54,7 +54,7 @@
|
|||
|
||||
<!-- Buttons -->
|
||||
<div id="buttons" class="text-center">
|
||||
<b-button-group >
|
||||
<b-button-group >
|
||||
<b-button variant="success" class="mr-1" @click="saveCustomLevel"> {{ $t('Modules.ET.Custom.btnSave') }} </b-button>
|
||||
<b-button variant="danger" class="mr-1" :disabled="this.btnDeleteEnabled == 0" @click="confirmDeleteLevel">{{ $t('Modules.ET.Custom.btnDelete') }}</b-button>
|
||||
</b-button-group>
|
||||
|
@ -63,8 +63,8 @@
|
|||
<div class="row">
|
||||
<div class="col-md3">
|
||||
<div id="rowheader" class="font-weight-bold pt-0">
|
||||
{{ $t('Modules.ET.Custom.availFields') }}
|
||||
</div>
|
||||
{{ $t('Modules.ET.Custom.availFields') }}
|
||||
</div>
|
||||
<draggable class="list-group" :list="fieldList" group="fields">
|
||||
<div class="list-group-item" v-for="(element) in fieldList" :key="element.name">
|
||||
{{ element.name }}
|
||||
|
@ -81,42 +81,42 @@
|
|||
{{ element.name }}
|
||||
</div>
|
||||
</draggable>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</b-container>
|
||||
|
||||
</b-container>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { et } from "../scripts/et";
|
||||
import i18n from '../../../../i18n';
|
||||
import { wtconfig } from '../../General/wtutils';
|
||||
import { et } from "../scripts/et";
|
||||
import i18n from '../../../../i18n';
|
||||
import { wtconfig } from '../../General/wtutils';
|
||||
import draggable from 'vuedraggable'
|
||||
|
||||
const log = require("electron-log");
|
||||
|
||||
const log = require("electron-log");
|
||||
|
||||
export default {
|
||||
components: {
|
||||
draggable,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
return {
|
||||
selMediaType: "movie",
|
||||
optionsMediaType: [
|
||||
{ text: i18n.t('Modules.ET.RadioMovies'), value: 'movie', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioTVSeries'), value: 'show', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioMovies'), value: 'movie', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioTVSeries'), value: 'show', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioTVEpisodes'), value: 'episode', disabled: false },
|
||||
{ text: i18n.t('Modules.ET.RadioTVShowEpisodes'), value: 'showepisode', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioTVShowEpisodes'), value: 'showepisode', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioMusic'), value: 'artist', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioPhotos'), value: 'photo', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioPlayLists'), value: 'playlist', disabled: true }
|
||||
{ text: i18n.t('Modules.ET.RadioPhotos'), value: 'photo', disabled: true },
|
||||
{ text: i18n.t('Modules.ET.RadioPlayLists'), value: 'playlist', disabled: true }
|
||||
],
|
||||
selCustLevel: "",
|
||||
deleteLevel: this.$t('Modules.ET.Custom.DeleteLevel'),
|
||||
customTitle: this.$t('Modules.ET.Custom.NewLevelTitle'),
|
||||
NewLevelInputTxt: this.$t('Modules.ET.Custom.NewLevelName'),
|
||||
NewLevelSaveTxt: this.$t('Modules.ET.Custom.NewLevelSaveTxt'),
|
||||
NewLevelName: '',
|
||||
NewLevelSaveTxt: this.$t('Modules.ET.Custom.NewLevelSaveTxt'),
|
||||
NewLevelName: '',
|
||||
editable: true,
|
||||
isDragging: false,
|
||||
delayedDragging: false,
|
||||
|
@ -149,15 +149,15 @@
|
|||
listString() {
|
||||
return JSON.stringify(this.list, null, 2);
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
log.debug('Custom level page selected')
|
||||
// Populate combobox
|
||||
this.genExportLevels();
|
||||
},
|
||||
// Populate combobox
|
||||
this.genExportLevels();
|
||||
},
|
||||
methods: {
|
||||
getCustomLevel() {
|
||||
log.debug(`Customlevel ${this.selCustLevel} selected`);
|
||||
log.debug(`Customlevel ${this.selCustLevel} selected`);
|
||||
if (this.selCustLevel != 'NewLevel'){
|
||||
// Get fields from config.json file
|
||||
const custLevel = wtconfig.get(`ET.CustomLevels.${this.selMediaType}.level.${this.selCustLevel}`)
|
||||
|
@ -166,16 +166,16 @@
|
|||
return { name, order: index + 1, fixed: false };
|
||||
});
|
||||
log.debug(`Custom level ${this.selCustLevel} is set as: ${ JSON.stringify(this.resultList) }`);
|
||||
// Now remove already added from avail fields
|
||||
for (var idx in custLevel){
|
||||
for (var availidx in this.fieldList){
|
||||
// Now remove already added from avail fields
|
||||
for (var idx in custLevel){
|
||||
for (var availidx in this.fieldList){
|
||||
if (custLevel[idx] == this.fieldList[availidx].name)
|
||||
{
|
||||
this.fieldList.splice(availidx,1)
|
||||
{
|
||||
this.fieldList.splice(availidx,1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
deleteClose() {
|
||||
this.$refs['confirmDeleteLevel'].hide();
|
||||
|
@ -193,36 +193,36 @@
|
|||
(!relatedElement || !relatedElement.fixed) && !draggedElement.fixed
|
||||
);
|
||||
},
|
||||
genExportLevels() {
|
||||
genExportLevels() {
|
||||
et.getLevelDisplayName('My Level', this.selMediaType);
|
||||
// Returns valid levels for selected media type
|
||||
const etCustomLevel = et.getCustomLevels(this.selMediaType);
|
||||
const etCustomLevel = et.getCustomLevels(this.selMediaType);
|
||||
const options = [];
|
||||
const item = {};
|
||||
let custLabel = {};
|
||||
custLabel['text']=this.$t('Modules.ET.Custom.CustomLevels');
|
||||
custLabel['text']=this.$t('Modules.ET.Custom.CustomLevels');
|
||||
custLabel['disabled']=true;
|
||||
custLabel['value']='';
|
||||
options.push(custLabel);
|
||||
let newLabel = {}
|
||||
newLabel['text']=this.$t('Modules.ET.Custom.NewCustomLevel');
|
||||
options.push(custLabel);
|
||||
let newLabel = {}
|
||||
newLabel['text']=this.$t('Modules.ET.Custom.NewCustomLevel');
|
||||
newLabel['disabled']=false;
|
||||
newLabel['value']='NewLevel';
|
||||
options.push(newLabel);
|
||||
Object.keys(etCustomLevel).forEach(function(key) {
|
||||
newLabel['value']='NewLevel';
|
||||
options.push(newLabel);
|
||||
Object.keys(etCustomLevel).forEach(function(key) {
|
||||
let option = {}
|
||||
option['value'] = etCustomLevel[key];
|
||||
if (key === "No Level Yet") {
|
||||
option['text']=i18n.t('Modules.ET.NoLevelFound');
|
||||
option['disabled'] = true;
|
||||
}
|
||||
else { option['text'] = key; }
|
||||
options.push(option);
|
||||
});
|
||||
item['options']=options;
|
||||
this.optionsLevels = options;
|
||||
},
|
||||
addNewLevel(){
|
||||
option['value'] = etCustomLevel[key];
|
||||
if (key === "No Level Yet") {
|
||||
option['text']=i18n.t('Modules.ET.NoLevelFound');
|
||||
option['disabled'] = true;
|
||||
}
|
||||
else { option['text'] = key; }
|
||||
options.push(option);
|
||||
});
|
||||
item['options']=options;
|
||||
this.optionsLevels = options;
|
||||
},
|
||||
addNewLevel(){
|
||||
// Hide Modal box
|
||||
this.$refs['showNewLevel'].hide();
|
||||
// Get current level names
|
||||
|
@ -245,10 +245,10 @@
|
|||
wtconfig.set(`ET.CustomLevels.${this.selMediaType}.level`, curLevel);
|
||||
// Update combobox
|
||||
this.genExportLevels();
|
||||
//this.exportLevels;
|
||||
this.selCustLevel = this.NewLevelName;
|
||||
//this.exportLevels;
|
||||
this.selCustLevel = this.NewLevelName;
|
||||
},
|
||||
updateLevelCount() {
|
||||
updateLevelCount() {
|
||||
var def;
|
||||
// We need to load fields and defs into def var
|
||||
switch(this.selMediaType) {
|
||||
|
@ -274,7 +274,7 @@
|
|||
break;
|
||||
default:
|
||||
// code block
|
||||
}
|
||||
}
|
||||
var fields = def[this.selMediaType]['fields'];
|
||||
// Release def memory again
|
||||
def = null;
|
||||
|
@ -286,39 +286,39 @@
|
|||
if (count > curLevel)
|
||||
{
|
||||
curLevel = count;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
log.info(`LevelCount for "${this.selCustLevel}" of the type "${this.selMediaType}" was calculated as:${curLevel}`);
|
||||
wtconfig.set(`ET.CustomLevels.${this.selMediaType}.LevelCount.${this.selCustLevel}`, curLevel);
|
||||
},
|
||||
changeType: function() {
|
||||
// Triggers when lib type is changed
|
||||
// Triggers when lib type is changed
|
||||
this.genExportLevels();
|
||||
this.btnDeleteEnabled = false;
|
||||
this.btnDeleteEnabled = false;
|
||||
this.resultList = [];
|
||||
this.selCustLevel = "";
|
||||
this.fieldList = [];
|
||||
this.selCustLevel = "";
|
||||
this.fieldList = [];
|
||||
},
|
||||
deleteCustomLevel() {
|
||||
log.info(`User confirmed to delete custom level: ${this.selCustLevel}`);
|
||||
this.$refs['confirmDeleteLevel'].hide();
|
||||
this.$refs['confirmDeleteLevel'].hide();
|
||||
wtconfig.delete(`ET.CustomLevels.${this.selMediaType}.levels.${this.selCustLevel}`);
|
||||
wtconfig.delete(`ET.CustomLevels.${this.selMediaType}.LevelCount.${this.selCustLevel}`);
|
||||
wtconfig.delete(`ET.CustomLevels.${this.selMediaType}.level.${this.selCustLevel}`);
|
||||
this.genExportLevels();
|
||||
this.resultList = [];
|
||||
},
|
||||
saveCustomLevel() {
|
||||
saveCustomLevel() {
|
||||
let result = []
|
||||
for(var k in this.resultList) {
|
||||
result.push(this.resultList[k].name);
|
||||
result.push(this.resultList[k].name);
|
||||
}
|
||||
// Get current level names
|
||||
let curLevel = wtconfig.get(`ET.CustomLevels.${this.selMediaType}.level`);
|
||||
// Add new level to JSON
|
||||
curLevel[this.selCustLevel] = result;
|
||||
log.info(`Saving custom level ${this.selCustLevel} as ${JSON.stringify(result)}`)
|
||||
wtconfig.set(`ET.CustomLevels.${this.selMediaType}.level`, curLevel);
|
||||
let curLevel = wtconfig.get(`ET.CustomLevels.${this.selMediaType}.level`);
|
||||
// Add new level to JSON
|
||||
curLevel[this.selCustLevel] = result;
|
||||
log.info(`Saving custom level ${this.selCustLevel} as ${JSON.stringify(result)}`)
|
||||
wtconfig.set(`ET.CustomLevels.${this.selMediaType}.level`, curLevel);
|
||||
// Now we need to update levelcount for the level
|
||||
this.updateLevelCount();
|
||||
alert( i18n.t("Modules.ET.Custom.AlertSaved"));
|
||||
|
@ -329,33 +329,33 @@
|
|||
log.info(`User asked to delete a custom level`);
|
||||
this.$refs['confirmDeleteLevel'].show();
|
||||
},
|
||||
selectExportLevel: async function(value) {
|
||||
log.info(`Custom ExportLevel selected as: ${value}`)
|
||||
selectExportLevel: async function(value) {
|
||||
log.info(`Custom ExportLevel selected as: ${value}`)
|
||||
if ( value == 'NewLevel') {
|
||||
// Create new level
|
||||
this.NewLevelName = "";
|
||||
this.$refs['showNewLevel'].show();
|
||||
// Create new level
|
||||
this.NewLevelName = "";
|
||||
this.$refs['showNewLevel'].show();
|
||||
}
|
||||
else {
|
||||
else {
|
||||
this.btnDeleteEnabled = true;
|
||||
this.selCustLevel = value;
|
||||
}
|
||||
}
|
||||
this.resultList = [];
|
||||
await this.genExportLevels();
|
||||
this.fieldList = et.getAllFields( {libType: this.selMediaType});
|
||||
this.getCustomLevel();
|
||||
await this.genExportLevels();
|
||||
this.fieldList = et.getAllFields( {libType: this.selMediaType});
|
||||
this.getCustomLevel();
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped>
|
||||
#rowheader{
|
||||
margin-left: 25px;
|
||||
margin-left: 25px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.list-group{
|
||||
.list-group{
|
||||
width: 350px;
|
||||
height: 250px;
|
||||
margin-bottom: 10px;
|
||||
|
@ -380,7 +380,7 @@
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
#buttons {
|
||||
#buttons {
|
||||
width: auto;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 15px;
|
||||
|
|
|
@ -148,882 +148,6 @@
|
|||
"Writers",
|
||||
"Year"
|
||||
]
|
||||
},
|
||||
"fields": {
|
||||
"Intro Start":
|
||||
{
|
||||
"key": "$.Marker[?(@.type=='intro')]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "time",
|
||||
"subkey": "$.startTimeOffset"
|
||||
},
|
||||
"Intro Stop":
|
||||
{
|
||||
"key": "$.Marker[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "time",
|
||||
"subkey": "$.endTimeOffset"
|
||||
},
|
||||
"Media Video Resolution":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoResolution"
|
||||
},
|
||||
"Media Video Duration":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "time",
|
||||
"subkey": "$.duration"
|
||||
},
|
||||
"Media Video Bitrate":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.bitrate"
|
||||
},
|
||||
"Media Video Width":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.width"
|
||||
},
|
||||
"Media Video Height":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.height"
|
||||
},
|
||||
"Media Aspect Ratio":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.aspectRatio"
|
||||
},
|
||||
"Media Audio Channels":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.audioChannels"
|
||||
},
|
||||
"Media Audio Codec":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.audioCodec"
|
||||
},
|
||||
"Media Video Codec":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoCodec"
|
||||
},
|
||||
"Media Container":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.container"
|
||||
},
|
||||
"Media Video FrameRate":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoFrameRate"
|
||||
},
|
||||
"Media Video Profile":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoProfile"
|
||||
},
|
||||
"Media Title":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.title"
|
||||
},
|
||||
"Extras":
|
||||
{
|
||||
"key": "$.Extras.size",
|
||||
"call": 2,
|
||||
"type": "int"
|
||||
},
|
||||
"Audio Stream Extended Display Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.extendedDisplayTitle"
|
||||
},
|
||||
"Audio Stream Display Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.displayTitle"
|
||||
},
|
||||
"Audio Stream Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.title"
|
||||
},
|
||||
"Audio Stream Bitrate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitrate"
|
||||
},
|
||||
"Audio Stream Language":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "language"
|
||||
},
|
||||
"Audio Stream Language Code":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "languageCode"
|
||||
},
|
||||
"Audio Stream Audio Channel Layout":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "audioChannelLayout"
|
||||
},
|
||||
"Audio Stream Bit Depth":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitDepth"
|
||||
},
|
||||
"Audio Stream Selected":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "selected"
|
||||
},
|
||||
"Audio Stream Default":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "default"
|
||||
},
|
||||
"Audio Stream Codec":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.codec"
|
||||
},
|
||||
"Audio Stream Index":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "index"
|
||||
},
|
||||
"Audio Stream Bitrate Mode":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitrateMode"
|
||||
},
|
||||
"Audio Stream Codec ID":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.codecID"
|
||||
},
|
||||
"Audio Stream Duration":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.duration"
|
||||
},
|
||||
"Audio Stream Profile":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.profile"
|
||||
},
|
||||
"TVDB ID":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"MetaData Language":
|
||||
{
|
||||
"key": "$.guid",
|
||||
"call": 2,
|
||||
"type": "string",
|
||||
"postProcess": true
|
||||
},
|
||||
"IMDB ID":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"IMDB Link":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"TMDB ID":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"Part File Combined":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.file"
|
||||
},
|
||||
"Part File":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": true,
|
||||
"subtype": "string",
|
||||
"subkey": "$.file"
|
||||
},
|
||||
"Part File Path":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": true,
|
||||
"subtype": "string",
|
||||
"subkey": "$.file"
|
||||
},
|
||||
"Part Duration":
|
||||
{
|
||||
"key": "$..Media[*].Part[?(@.key.startsWith('/library/parts'))]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": false,
|
||||
"subtype": "time",
|
||||
"subkey": "$.duration"
|
||||
},
|
||||
"Part Size":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": true,
|
||||
"subtype": "string",
|
||||
"subkey": "$.size"
|
||||
},
|
||||
"Part Size as Bytes":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.size"
|
||||
},
|
||||
"Part Container":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.container"
|
||||
},
|
||||
"Part Video Profile":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoProfile"
|
||||
},
|
||||
"Part Optimized for Streaming":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.optimizedForStreaming"
|
||||
},
|
||||
"Part Indexed":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.indexes"
|
||||
},
|
||||
"Part Deep Analysis Version":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.deepAnalysisVersion"
|
||||
},
|
||||
"Video Stream Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "title"
|
||||
},
|
||||
"Video Stream Default":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "default"
|
||||
},
|
||||
"Video Stream Codec":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "codec"
|
||||
},
|
||||
"Video Stream Codec ID":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "codecID"
|
||||
},
|
||||
"Video Stream Chroma Sub Sampling":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "chromaSubsampling"
|
||||
},
|
||||
"Video Stream Cabac":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "cabac"
|
||||
},
|
||||
"Video Stream Bit Depth":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitDepth"
|
||||
},
|
||||
"Video Stream Language Code":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "languageCode"
|
||||
},
|
||||
"Video Stream Language":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "language"
|
||||
},
|
||||
"Video Stream Color Range":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorRange"
|
||||
},
|
||||
"Video Stream Color Space":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorSpace"
|
||||
},
|
||||
"Video Stream Color Primaries":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorPrimaries"
|
||||
},
|
||||
"Video Stream Color Trc":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorTrc"
|
||||
},
|
||||
"Video Stream Duration":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "duration"
|
||||
},
|
||||
"Video Stream Frame Rate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "frameRate"
|
||||
},
|
||||
"Video Stream Frame Rate Mode":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "frameRateMode"
|
||||
},
|
||||
"Video Stream Has Scaling Matrix":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "hasScalingMatrix"
|
||||
},
|
||||
"Video Stream Height":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "height"
|
||||
},
|
||||
"Video Stream Width":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "width"
|
||||
},
|
||||
"Video Stream Level":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "level"
|
||||
},
|
||||
"Video Stream Pixel Format":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "pixelFormat"
|
||||
},
|
||||
"Video Stream Profile":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "profile"
|
||||
},
|
||||
"Video Stream Ref Frames":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "refFrames"
|
||||
},
|
||||
"Video Stream Scan Type":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "scanType"
|
||||
},
|
||||
"Video Stream Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "requiredBandwidths"
|
||||
},
|
||||
"Accessible":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.accessible"
|
||||
},
|
||||
"Exists":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.exists"
|
||||
},
|
||||
"Part Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.requiredBandwidths"
|
||||
},
|
||||
"Subtitle Header Compression":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "headerCompression"
|
||||
},
|
||||
"Subtitle Stream Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "requiredBandwidths"
|
||||
},
|
||||
"Subtitle Stream Selected":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "selected"
|
||||
},
|
||||
"Subtitle Stream Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "title"
|
||||
},
|
||||
"Subtitle Stream Format":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "format"
|
||||
},
|
||||
"Subtitle Stream Codec ID":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "codecID"
|
||||
},
|
||||
"Subtitle Stream Language Code":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.languageCode"
|
||||
},
|
||||
"Subtitle Stream Language":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.language"
|
||||
},
|
||||
"Subtitle Stream Index":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.index"
|
||||
},
|
||||
"Subtitle Stream Forced":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.forced"
|
||||
},
|
||||
"Subtitle Stream Codec":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.codec"
|
||||
},
|
||||
"Audio Stream Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.requiredBandwidths"
|
||||
},
|
||||
"Audio Stream Sampling Rate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.samplingRate"
|
||||
},
|
||||
"Video Stream Bitrate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitrate"
|
||||
},
|
||||
"Video Stream Index":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "index"
|
||||
},
|
||||
"Audio Stream Channels":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "channels"
|
||||
},
|
||||
"Media ID":
|
||||
{
|
||||
"key": "$.ratingKey",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Series Title":
|
||||
{
|
||||
"key": "$.grandparentTitle",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Sort title":
|
||||
{
|
||||
"key": "$.titleSort",
|
||||
"call": 1,
|
||||
"type": "string",
|
||||
"postProcess": true
|
||||
},
|
||||
"Title":
|
||||
{
|
||||
"key": "$.title",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Year":
|
||||
{
|
||||
"key": "$.year",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Season":
|
||||
{
|
||||
"key": "$.parentIndex",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Episode":
|
||||
{
|
||||
"key": "$.index",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Content Rating":
|
||||
{
|
||||
"key": "$.contentRating",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Summary":
|
||||
{
|
||||
"key": "$.summary",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Rating":
|
||||
{
|
||||
"key": "$.rating",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"User Rating":
|
||||
{
|
||||
"key": "$.userRating",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Release Date":
|
||||
{
|
||||
"key": "$..originallyAvailableAt",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Directors":
|
||||
{
|
||||
"key": "$.Director[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Writers":
|
||||
{
|
||||
"key": "$.Writer[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Duration":
|
||||
{
|
||||
"key": "$.duration",
|
||||
"call": 1,
|
||||
"type": "time"
|
||||
},
|
||||
"Added":
|
||||
{
|
||||
"key": "$.addedAt",
|
||||
"call": 1,
|
||||
"type": "datetime"
|
||||
},
|
||||
"Updated":
|
||||
{
|
||||
"key": "$.updatedAt",
|
||||
"call": 1,
|
||||
"type": "datetime"
|
||||
},
|
||||
"Poster url":
|
||||
{
|
||||
"key": "$.thumb",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Locked Fields":
|
||||
{
|
||||
"key": "$.Field[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.name"
|
||||
},
|
||||
"View Count":
|
||||
{
|
||||
"key": "viewCount",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Deleted":
|
||||
{
|
||||
"key": "$.deletedAt",
|
||||
"call": 1,
|
||||
"type": "datetime"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1040
src/components/modules/ExportTools/defs/def-Fields.json
Normal file
1040
src/components/modules/ExportTools/defs/def-Fields.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -162,981 +162,6 @@
|
|||
"Subtitle Stream Index",
|
||||
"Part Video Profile"
|
||||
]
|
||||
},
|
||||
"fields": {
|
||||
"Part Video Profile":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoProfile"
|
||||
},
|
||||
"Subtitle Stream Index":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.index"
|
||||
},
|
||||
"Media ID":
|
||||
{
|
||||
"key": "$.ratingKey",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Title":
|
||||
{
|
||||
"key": "$.title",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Sort title":
|
||||
{
|
||||
"key": "$.titleSort",
|
||||
"call": 1,
|
||||
"type": "string",
|
||||
"postProcess": true
|
||||
},
|
||||
"Studio":
|
||||
{
|
||||
"key": "$.studio",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Content Rating":
|
||||
{
|
||||
"key": "$.contentRating",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Year":
|
||||
{
|
||||
"key": "$.year",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Rating":
|
||||
{
|
||||
"key": "$.rating",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Summary":
|
||||
{
|
||||
"key": "$.summary",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Genre":
|
||||
{
|
||||
"key": "$.Genre[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"View Count":
|
||||
{
|
||||
"key": "viewCount",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Last Viewed at":
|
||||
{
|
||||
"key": "$..lastViewedAt",
|
||||
"call": 1,
|
||||
"type": "datetime"
|
||||
},
|
||||
"Tagline":
|
||||
{
|
||||
"key": "tagline",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Release Date":
|
||||
{
|
||||
"key": "$..originallyAvailableAt",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Writers":
|
||||
{
|
||||
"key": "$.Writer[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Country":
|
||||
{
|
||||
"key": "$.Country[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Duration":
|
||||
{
|
||||
"key": "$.duration",
|
||||
"call": 1,
|
||||
"type": "time"
|
||||
},
|
||||
"Directors":
|
||||
{
|
||||
"key": "$.Director[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Roles":
|
||||
{
|
||||
"key": "$.Role[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"IMDB ID":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"IMDB Link":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"TMDB ID":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"TMDB Link":
|
||||
{
|
||||
"key": "$.Guid[*]",
|
||||
"call": 1,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.id",
|
||||
"postProcess": true
|
||||
},
|
||||
"Audience Rating":
|
||||
{
|
||||
"key": "audienceRating",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"User Rating":
|
||||
{
|
||||
"key": "userRating",
|
||||
"call": 1,
|
||||
"type": "string"
|
||||
},
|
||||
"Labels":
|
||||
{
|
||||
"key": "$.Label[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Locked Fields":
|
||||
{
|
||||
"key": "$.Field[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.name"
|
||||
},
|
||||
"Extras":
|
||||
{
|
||||
"key": "$.Extras.size",
|
||||
"call": 2,
|
||||
"type": "int"
|
||||
},
|
||||
"Extras-behindthescenes":
|
||||
{
|
||||
"key": "$..Extras.Metadata[?(@.subtype=='behindTheScenes')].ratingKey",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Extras-deleted":
|
||||
{
|
||||
"key": "$..Extras.Metadata[?(@.subtype=='deleted')].ratingKey",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Extras-featurette":
|
||||
{
|
||||
"key": "$..Extras.Metadata[?(@.subtype=='featurette')].ratingKey",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Extras-interview":
|
||||
{
|
||||
"key": "$..Extras.Metadata[?(@.subtype=='interview')].ratingKey",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Extras-scene":
|
||||
{
|
||||
"key": "$..Extras.Metadata[?(@.subtype=='scene')].ratingKey",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Extras-short":
|
||||
{
|
||||
"key": "$..Extras.Metadata[?(@.subtype=='short')].ratingKey",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Extras-trailer":
|
||||
{
|
||||
"key": "$..Extras.Metadata[?(@.subtype=='trailer')].ratingKey",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Collections":
|
||||
{
|
||||
"key": "$.Collection[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Original Title":
|
||||
{
|
||||
"key": "$..originalTitle",
|
||||
"call": 2,
|
||||
"type": "string",
|
||||
"postProcess": true
|
||||
},
|
||||
"Added":
|
||||
{
|
||||
"key": "$.addedAt",
|
||||
"call": 1,
|
||||
"type": "datetime"
|
||||
},
|
||||
"Updated":
|
||||
{
|
||||
"key": "$.updatedAt",
|
||||
"call": 1,
|
||||
"type": "datetime"
|
||||
},
|
||||
"Audio Stream Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.title"
|
||||
},
|
||||
"Subtitle Stream Language":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.language"
|
||||
},
|
||||
"Subtitle Stream Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.title"
|
||||
},
|
||||
"Subtitle Stream Forced":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.forced"
|
||||
},
|
||||
"Accessible":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.accessible"
|
||||
},
|
||||
"Exists":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.exists"
|
||||
},
|
||||
"MetaDB Link":
|
||||
{
|
||||
"key": "$.guid",
|
||||
"call": 2,
|
||||
"type": "string",
|
||||
"postProcess": true
|
||||
},
|
||||
"MetaData Language":
|
||||
{
|
||||
"key": "$.guid",
|
||||
"call": 2,
|
||||
"type": "string",
|
||||
"postProcess": true
|
||||
},
|
||||
"Poster url":
|
||||
{
|
||||
"key": "$.thumb",
|
||||
"call": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"Art url":
|
||||
{
|
||||
"key": "$.art",
|
||||
"call": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"Chapter Source":
|
||||
{
|
||||
"key": "$.chapterSource",
|
||||
"call": 2,
|
||||
"type": "string"
|
||||
},
|
||||
"Chapter Title":
|
||||
{
|
||||
"key": "$.Chapter[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.tag"
|
||||
},
|
||||
"Chapter Count":
|
||||
{
|
||||
"key": "$..Chapter[*]",
|
||||
"call": 2,
|
||||
"type": "array-count"
|
||||
},
|
||||
"Media Video Resolution":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoResolution"
|
||||
},
|
||||
"Media Video Bitrate":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.bitrate"
|
||||
},
|
||||
"Media Video Width":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.width"
|
||||
},
|
||||
"Media Video Height":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.height"
|
||||
},
|
||||
"Media Aspect Ratio":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.aspectRatio"
|
||||
},
|
||||
"Media Audio Channels":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.audioChannels"
|
||||
},
|
||||
"Media Audio Codec":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.audioCodec"
|
||||
},
|
||||
"Media Video Codec":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoCodec"
|
||||
},
|
||||
"Media Container":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.container"
|
||||
},
|
||||
"Media Video FrameRate":
|
||||
{
|
||||
"key": "$.Media[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.videoFrameRate"
|
||||
},
|
||||
"Part File Combined":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.file"
|
||||
},
|
||||
"Part File":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": true,
|
||||
"subtype": "string",
|
||||
"subkey": "$.file"
|
||||
},
|
||||
"Part File Path":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": true,
|
||||
"subtype": "string",
|
||||
"subkey": "$.file"
|
||||
},
|
||||
"Part Size":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": true,
|
||||
"subtype": "string",
|
||||
"subkey": "$.size"
|
||||
},
|
||||
"Part Size as Bytes":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.size"
|
||||
},
|
||||
"Part Indexed":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.indexes"
|
||||
},
|
||||
"Part Duration":
|
||||
{
|
||||
"key": "$..Media[*].Part[?(@.key.startsWith('/library/parts'))]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"postProcess": false,
|
||||
"subtype": "time",
|
||||
"subkey": "$.duration"
|
||||
},
|
||||
"Part Container":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.container"
|
||||
},
|
||||
"Part Optimized for Streaming":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.optimizedForStreaming"
|
||||
},
|
||||
"Part Deep Analysis Version":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.deepAnalysisVersion"
|
||||
},
|
||||
"Part Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.requiredBandwidths"
|
||||
},
|
||||
"Video Stream Title":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "title"
|
||||
},
|
||||
"Video Stream Default":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "default"
|
||||
},
|
||||
"Video Stream Index":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "index"
|
||||
},
|
||||
"Video Stream Pixel Format":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "pixelFormat"
|
||||
},
|
||||
"Video Stream Profile":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "profile"
|
||||
},
|
||||
"Video Stream Ref Frames":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "refFrames"
|
||||
},
|
||||
"Video Stream Scan Type":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "scanType"
|
||||
},
|
||||
"Video Stream Stream Identifier":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "streamIdentifier"
|
||||
},
|
||||
"Video Stream Width":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "width"
|
||||
},
|
||||
"Video Stream Pixel Aspect Ratio":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "pixelAspectRatio"
|
||||
},
|
||||
"Video Stream Height":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "height"
|
||||
},
|
||||
"Video Stream Has Scaling Matrix":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "hasScalingMatrix"
|
||||
},
|
||||
"Video Stream Frame Rate Mode":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "frameRateMode"
|
||||
},
|
||||
"Video Stream Frame Rate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "frameRate"
|
||||
},
|
||||
"Video Stream Codec":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "codec"
|
||||
},
|
||||
"Video Stream Codec ID":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "codecID"
|
||||
},
|
||||
"Video Stream Chroma Sub Sampling":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "chromaSubsampling"
|
||||
},
|
||||
"Video Stream Color Primaries":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorPrimaries"
|
||||
},
|
||||
"Video Stream Color Range":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorRange"
|
||||
},
|
||||
"Video Stream Color Space":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorSpace"
|
||||
},
|
||||
"Video Stream Color Trc":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "colorTrc"
|
||||
},
|
||||
"Video Stream Cabac":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "cabac"
|
||||
},
|
||||
"Video Stream Anamorphic":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "anamorphic"
|
||||
},
|
||||
"Video Stream Language Code":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "languageCode"
|
||||
},
|
||||
"Video Stream Language":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "language"
|
||||
},
|
||||
"Video Stream Bitrate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitrate"
|
||||
},
|
||||
"Video Stream Bit Depth":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitDepth"
|
||||
},
|
||||
"Video Stream Duration":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "duration"
|
||||
},
|
||||
"Video Stream Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "requiredBandwidths"
|
||||
},
|
||||
"Video Stream Level":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==1)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "level"
|
||||
},
|
||||
"Audio Stream Selected":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "selected"
|
||||
},
|
||||
"Audio Stream Default":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "default"
|
||||
},
|
||||
"Audio Stream Codec":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "codec"
|
||||
},
|
||||
"Audio Stream Index":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "index"
|
||||
},
|
||||
"Audio Stream Channels":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "channels"
|
||||
},
|
||||
"Audio Stream Bitrate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitrate"
|
||||
},
|
||||
"Audio Stream Language":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "language"
|
||||
},
|
||||
"Audio Stream Language Code":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "languageCode"
|
||||
},
|
||||
"Audio Stream Audio Channel Layout":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "audioChannelLayout"
|
||||
},
|
||||
"Audio Stream Bit Depth":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "bitDepth"
|
||||
},
|
||||
"Audio Stream Bitrate Mode":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.bitrateMode"
|
||||
},
|
||||
"Audio Stream Codec ID":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.codecID"
|
||||
},
|
||||
"Audio Stream Duration":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.duration"
|
||||
},
|
||||
"Audio Stream Profile":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.profile"
|
||||
},
|
||||
"Audio Stream Sampling Rate":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.samplingRate"
|
||||
},
|
||||
"Audio Stream Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==2)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.requiredBandwidths"
|
||||
},
|
||||
"Subtitle Stream Codec":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.profile"
|
||||
},
|
||||
"Subtitle Stream Language Code":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.languageCode"
|
||||
},
|
||||
"Subtitle Stream Codec ID":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "codecID"
|
||||
},
|
||||
"Subtitle Stream Format":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "format"
|
||||
},
|
||||
"Subtitle Stream Selected":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "selected"
|
||||
},
|
||||
"Subtitle Stream Required Bandwidths":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "requiredBandwidths"
|
||||
},
|
||||
"Subtitle Header Compression":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "headerCompression"
|
||||
},
|
||||
"Subtitle Stream Default":
|
||||
{
|
||||
"key": "$.Media[*].Part[*].Stream[?(@.streamType==3)]",
|
||||
"call": 2,
|
||||
"type": "array",
|
||||
"subtype": "string",
|
||||
"subkey": "$.default"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,6 @@
|
|||
var def;
|
||||
var defLevels = JSON.parse(JSON.stringify(require('./../defs/def-Levels.json')));
|
||||
var defFields = JSON.parse(JSON.stringify(require('./../defs/def-Fields.json')));
|
||||
|
||||
const log = require('electron-log');
|
||||
console.log = log.log;
|
||||
|
@ -287,19 +288,20 @@ const et = new class ET {
|
|||
}
|
||||
|
||||
getField(libType, fieldName) {
|
||||
return def[libType]['fields'][fieldName]
|
||||
return defFields['fields'][fieldName];
|
||||
}
|
||||
|
||||
getFieldType(libType, fieldName) {
|
||||
return def[libType]['fields'][fieldName]['type']
|
||||
//return def[libType]['fields'][fieldName]['type']
|
||||
return defFields['fields'][fieldName]['type'];
|
||||
}
|
||||
|
||||
getFieldCall(libType, fieldName) {
|
||||
return def[libType]['fields'][fieldName]['call']
|
||||
return defFields['fields'][fieldName]['call'];
|
||||
}
|
||||
|
||||
getFieldSubtype(libType, fieldName) {
|
||||
return def[libType]['fields'][fieldName]['subtype']
|
||||
return defFields['fields'][fieldName]['subtype'];
|
||||
}
|
||||
|
||||
|
||||
|
@ -359,7 +361,7 @@ const et = new class ET {
|
|||
// code block
|
||||
}
|
||||
// Get all the fields keys
|
||||
var filteredFields = JSONPath({path: '$.' + libType + '.fields.*~', json: typeFields});
|
||||
var filteredFields = JSONPath({path: '$.' + libType + '.level.all.*', json: typeFields});
|
||||
// Sort them, and add an index as well, so drageble is happy
|
||||
return filteredFields.sort().map((name, index) => {
|
||||
return { name, order: index + 1 };
|
||||
|
|
Loading…
Reference in a new issue