diff --git a/.vscode/schemas/device.json b/.vscode/schemas/device.json new file mode 100644 index 0000000..a2870ad --- /dev/null +++ b/.vscode/schemas/device.json @@ -0,0 +1,145 @@ +{ + "$id": "https://better-xcloud.github.io/schemas/device.json", + "$schema": "https://json-schema.org/draft/2019-09/schema", + "title": "Better xCloud: Device Schema", + "description": "", + "$defs": { + "EnumDeviceType": { + "enum": [ + "android", + "android-tv", + "android-handheld", + "webos" + ] + }, + + "EnumProfile": { + "enum": [ + "lowest", + "highest" + ] + }, + + "EnumStreamResolution": { + "enum": [ + "default", + "720p", + "1080p" + ] + }, + + "EnumStreamCodecProfile": { + "enum": [ + "default", + "low", + "normal", + "high" + ] + }, + + "EnumVideoPlayer": { + "enum": [ + "default", + "webgl", + "webgl2" + ] + }, + + "EnumVideoPowerPreference": { + "enum": [ + "default", + "low-power", + "high-performance" + ] + }, + + "EnumVideoProcessing": { + "enum": [ + "usm", + "cas" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "schema_version": { + "type": "number" + }, + + "device_name": { + "type": "string" + }, + + "device_type": { + "type": "string" + }, + + "settings": { + "type": "object", + "additionalProperties": false, + "properties": { + "app": { + "type": "object", + "additionalProperties": false + }, + "script": { + "type": "object", + "additionalProperties": false, + "properties": { + "_base": { + "anyOf": [ + { + "$ref": "#/$defs/EnumProfile" + }, + { + "type": "array", + "items": { + "$ref": "#/$defs/EnumProfile" + } + } + ] + }, + + "stream_target_resolution": { + "$ref": "#/$defs/EnumStreamResolution" + }, + + "stream_codec_profile": { + "$ref": "#/$defs/EnumStreamCodecProfile" + }, + + "bitrate_video_max": { + "type": "number" + }, + + "video_player_type": { + "$ref": "#/$defs/EnumVideoPlayer" + }, + + "video_power_preference": { + "$ref": "#/$defs/EnumVideoPowerPreference" + }, + + "video_processing": { + "$ref": "#/$defs/EnumVideoProcessing" + }, + + "video_sharpness": { + "type": "number" + } + } + } + }, + "required": [ + "script" + ] + } + }, + "required": [ + "schema_version", + "device_name", + "device_type", + "settings" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..0aabfcb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "json.schemas": [ + { + "fileMatch": [ + "devices/*.json" + ], + "url": ".vscode/schemas/device.json" + } + ], +} diff --git a/devices/kalama.json b/devices/kalama.json new file mode 100644 index 0000000..0be6495 --- /dev/null +++ b/devices/kalama.json @@ -0,0 +1,10 @@ +{ + "schema_version": 1, + "device_name": "AYN Odin2 mini", + "device_type": "android-handheld", + "settings": { + "script": { + "_base": "highest" + } + } +} diff --git a/devices/kona.json b/devices/kona.json new file mode 100644 index 0000000..36a4323 --- /dev/null +++ b/devices/kona.json @@ -0,0 +1,10 @@ +{ + "schema_version": 1, + "device_name": "Lenovo Y700 (2022)", + "device_type": "android", + "settings": { + "script": { + "_base": "highest" + } + } +}