libobs-source-macro

Crates.iolibobs-source-macro
lib.rslibobs-source-macro
version0.1.1
sourcesrc
created_at2024-08-05 08:59:33.452823
updated_at2024-09-18 08:46:08.643465
descriptionHelper macro for libobs-sources
homepage
repositoryhttps://github.com/sshcrack/libobs-rs
max_upload_size
id1325694
size14,119
Hendrik Lind (sshcrack)

documentation

README

libOBS source macro

This is a helper macro for the libOBS sources crate.

Usage

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.

Commit count: 0

cargo fmt