Add obs_source_filter as output target
Enables outputting URL/API data directly to OBS filter properties (e.g., Color Correction's multiply field). Supports dynamic filter control from external sources like Google Sheets.
Changes
Data model
- Added
filter_nameandfilter_setting_nametooutput_mappingstruct with JSON persistence
UI
- Filters enumerated in dropdown as
(Type) SourceName -> FilterName - Added filter setting name input field, enabled when filter selected
Output routing
- New
setFilterCallback()applies values viaobs_source_get_filter_by_name()andobs_source_update() - Type detection: boolean strings → bool,
0xprefix → hex int, numeric → int/double, fallback → string - Helper functions
is_filter_output()andparse_filter_output()to detect and parse filter targets
Usage
Output dropdown: (Image) Scoreboard -> Color Correction
Filter Setting Name: multiply
Template: {{output}}
API returns: "0xFFFF0000" → filter updates to red
Supports any OBS filter (built-in or third-party), any property type. See FILTER_OUTPUT_USAGE.md for details.
Original prompt
This section details on the original issue you should resolve
<issue_title>Add obs_source_filter as Output</issue_title> <issue_description>Could it be possible to add obs_source_filter as an Output for URL Source. I use the plugin to pull data from Google sheets to create dynamic overlay for esports events (scoreboard and such) and it would be helpful if I could edit Filter "Color Correction" and it's field "Color Multiply" with the plugin.
I understand if this specific use-case is out of the scope. If it can't be added officially I will compile my own version with support for that specific filter.</issue_description>
Comments on the Issue (you are @copilot in this section)
- Fixes royshil/obs-urlsource#139
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.