This commit is contained in:
UKDTOM 2021-03-06 14:25:55 +01:00
parent c24360949a
commit bb1d70d880
6 changed files with 1139 additions and 2986 deletions

View file

@ -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;

View file

@ -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"
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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 };