obsproject / obs-websocket

Remote-control of OBS Studio through WebSocket
GNU General Public License v2.0
3.84k stars 704 forks source link

Feature Request: Add GetInputSettingsSchema / GetSourceFilterSettingsSchema #1099

Open LordTocs opened 1 year ago

LordTocs commented 1 year ago

Feature Request Type

RPC Request

Feature Request Type (Other)

No response

Requested Feature

A RPC Request to query the structure of an input's settings properties object. The obs properties api allows the settings of an input to have bools, floats, ints, text, file paths, lists, colors, fonts, buttons, and more. It stores meta data like min, max, step, and a description.

GetInputSettingsSchema would return a JSON schema like object that describes the format SetInputSettings expects along with the metadata in the properties object.

Requested Feature Usage Scenario

OBS uses this metadata to generate UI. Which is essentially the use case I have for such a request.

I make automation software and would like to auto generate the settings configuration UI for a given source. Currently I can pre-author these settings schemas myself, but if a user installs a plugin for a source or filter that I haven't authored a schema for I cannot display UI for it.

I can sort of guess a schema by observing the object returned by GetInputDefaultSettings, but this is an imperfect solution that doesn't give the precious metadata OBS is storing.