compatibility-schema-v1.json 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "type": "object",
  4. "properties": {
  5. "format_version": {
  6. "type": "integer",
  7. "description": "Version identifier for parsing this file."
  8. },
  9. "entries": {
  10. "type": "array",
  11. "items": {
  12. "type": "object",
  13. "properties": {
  14. "name": {
  15. "type": "string",
  16. "description": "Name of application affected by this entry."
  17. },
  18. "translation_key": {
  19. "type": "string",
  20. "description": "Translation key OBS should use to provide a localized message."
  21. },
  22. "executable": {
  23. "type": "string",
  24. "description": "Executable name to match."
  25. },
  26. "window_class": {
  27. "type": "string",
  28. "description": "Window class to match."
  29. },
  30. "window_title": {
  31. "type": "string",
  32. "description": "Window title to match."
  33. },
  34. "message": {
  35. "type": "string",
  36. "description": "Message displayed to the user about the issue (if not translated)."
  37. },
  38. "url": {
  39. "$ref": "#/definitions/URL",
  40. "description": "Link that provides additional info about the compatibility issue."
  41. },
  42. "window_capture": {
  43. "type": "boolean",
  44. "description": "Whether or not the issue affects BitBlt window capture.",
  45. "default": false
  46. },
  47. "window_capture_wgc": {
  48. "type": "boolean",
  49. "description": "Whether or not the issue affects WGC window capture.",
  50. "default": false
  51. },
  52. "game_capture": {
  53. "type": "boolean",
  54. "description": "Whether or not the issue affects game capture.",
  55. "default": false
  56. },
  57. "severity": {
  58. "$ref": "#/definitions/severityLevels",
  59. "description": "Level of notice displayed to the user. 0 = Info, 1 = Warning, 2 = Error.\nError should be used if an application cannot be captured using the affected source type(s).\nWarning should be used for correctable errors (e.g., change a game or source setting)\nInfo should be used to provide tips in cases where there is no strict incompatibility.",
  60. "default": 0
  61. },
  62. "match_flags": {
  63. "$ref": "#/definitions/matchFlags",
  64. "description": "Match Flags: 1 = exe, 2 = title, 4 = class. Can be combined."
  65. }
  66. },
  67. "additionalProperties": false,
  68. "required": [
  69. "name",
  70. "message",
  71. "match_flags"
  72. ]
  73. },
  74. "additionalItems": true
  75. }
  76. },
  77. "additionalProperties": true,
  78. "required": [
  79. "format_version",
  80. "entries"
  81. ],
  82. "definitions": {
  83. "URL": {
  84. "type": "string",
  85. "format": "uri",
  86. "pattern": "^(https?://.+)?"
  87. },
  88. "matchFlags": {
  89. "type": "integer",
  90. "minimum": 1,
  91. "maximum": 7
  92. },
  93. "severityLevels": {
  94. "type": "integer",
  95. "minimum": 0,
  96. "maximum": 2
  97. }
  98. }
  99. }