| Crates.io | libobs-source-macro |
| lib.rs | libobs-source-macro |
| version | 2.0.2 |
| created_at | 2024-08-05 08:59:33.452823+00 |
| updated_at | 2025-05-01 21:27:08.996456+00 |
| description | Helper macro for libobs-sources |
| homepage | |
| repository | https://github.com/joshprk/libobs-rs |
| max_upload_size | |
| id | 1325694 |
| size | 24,395 |
This is a helper macro for the libobs-sources crate.
This is an example for the window_capture source:
#[obs_source_builder("window_capture")]
pub struct WindowCaptureSourceBuilder {
#[obs_property(type_t = "enum")]
capture_method: ObsWindowCaptureMethod,
// This attribute has to be on each field that should change any obs data setting.
// notice the `settings_key` attribute, which sets the key that should be used when setting obs data (so data.set_string("window", 'your_window') would be called). Otherwise defaults to the field name.
// The `type_t` attribute is the type that should be used in the obs data. This is used to generate the correct obs data setter.
// Can be enum,enum_string,int,bool,string
#[obs_property(type_t = "string", settings_key = "window")]
window_raw: String,
#[obs_property(type_t = "bool")]
cursor: bool,
}
For more examples look at the libobs-sources crate.