コード例 #1
0
def script_properties():
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        'source',
        'Text Source:',
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )

    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == 'text_gdiplus' or source_id == 'text_ft2_source':
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_text(props, 'format', 'Text Format:',
                                obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_int_slider(props, 'seconds_between_lines',
                                      'Seconds Between:', 1, 60, 1)
    obs.obs_properties_add_button(props, 'start_button', 'Start Cycling',
                                  start_pressed)

    return props
コード例 #2
0
ファイル: livetime.py プロジェクト: VishalKumarSahu/LiveTime
def script_properties():
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        "source",
        "Text Source:",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )

    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_text(props, "format", "Text Format:",
                                obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_button(props, "reset_button", "Reset/Stop Timer",
                                  reset_pressed)
    obs.obs_properties_add_button(props, "start_button", "Start Timer",
                                  start_pressed)
    obs.obs_properties_add_bool(props, "auto_start",
                                "Start Automatically with Stream/Recording")
    obs.obs_properties_add_bool(props, "auto_stop",
                                "Stop Automatically with Stream/Recording")
    obs.obs_properties_add_bool(props, "recording", "Enable for Recording")
    obs.obs_properties_add_bool(props, "visible",
                                "Text Visible Only While Timer Running")

    return props
コード例 #3
0
def script_properties():

    props = obs.obs_properties_create()

    #campo de directorio
    obs.obs_properties_add_path(props, "file", "Archivo de frases",
                                obs.OBS_PATH_FILE, "*.txt", "")

    #campo de lectura d enumeros enteros
    obs.obs_properties_add_int(props, "interval",
                               "Intervalo de \nactualizacion (segundos)", 5,
                               3600, 1)

    #una combo list que meustra todas las fuentes de tipo texto
    p = obs.obs_properties_add_list(props, "source", "Fuente de texto",
                                    obs.OBS_COMBO_TYPE_EDITABLE,
                                    obs.OBS_COMBO_FORMAT_STRING)
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)
    #un boton que lanza la funcion update_text cuando se presiona
    obs.obs_properties_add_button(props, "button", "Refrescar",
                                  refresh_pressed)
    return props
コード例 #4
0
ファイル: now_playing.py プロジェクト: MegaRange/now_playing
def script_properties():
    if debug_mode:
        print("[CS] 配置已加载。")

    props = obs.obs_properties_create()
    obs.obs_properties_add_bool(props, "enabled", "启用该脚本")
    obs.obs_properties_add_bool(props, "debug_mode", "调试模式")
    obs.obs_properties_add_int(
        props, "check_frequency", "检查频率(毫秒)", 150, 10000, 100)
    obs.obs_properties_add_text(
        props, "display_text", "显示文本", obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_bool(props, "spotify", "Spotify")
    obs.obs_properties_add_bool(props, "vlc", "VLC")
    obs.obs_properties_add_bool(props, "yt_firefox", "Youtube for Firefox")
    obs.obs_properties_add_bool(props, "yt_chrome", "Youtube for Chrome")
    obs.obs_properties_add_bool(props, "foobar2000", "Foobar2000")
    obs.obs_properties_add_bool(props, "necloud", "网易云音乐")
    obs.obs_properties_add_bool(props, 'aimp', 'AIMP')

    p = obs.obs_properties_add_list(
        props, "source_name", "使用文本框",
        obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)

    sources = obs.obs_enum_sources()
    if sources:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id in ("text_gdiplus", "text_ft2_source"):
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)
    obs.source_list_release(sources)

    return props
def script_properties():  # ui
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        "source",
        "Text Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)
    number = obs.obs_properties_add_int(props, "_int", "Number", 1, 100, 1)
    text_value = obs.obs_properties_add_text(props, "_text",
                                             "Additional input:",
                                             obs.OBS_TEXT_DEFAULT)
    obs.obs_property_set_visible(text_value, False)
    obs.obs_property_set_modified_callback(number, callback)
    return props
コード例 #6
0
ファイル: hotkey_counter.py プロジェクト: upgradeQ/Obscounter
def script_properties():
    props = obs.obs_properties_create()

    obs.obs_properties_add_text(props, "counter_text1", "[1]Set counter text",
                                obs.OBS_TEXT_DEFAULT)

    p1 = obs.obs_properties_add_list(
        props,
        "source1",
        "[1]Text Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )

    obs.obs_properties_add_text(props, "counter_text2", "[2]Set counter text",
                                obs.OBS_TEXT_DEFAULT)
    p2 = obs.obs_properties_add_list(
        props,
        "source2",
        "[2]Text Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p1, name, name)
                obs.obs_property_list_add_string(p2, name, name)

        obs.source_list_release(sources)
    return props
def script_properties():  # ui
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        "source",
        "Browser source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    obs.obs_properties_add_button(props, "button1", "Press tab", press_tab)
    obs.obs_properties_add_button(props, "button2", "Press shift+tab",
                                  press_shift_tab)
    obs.obs_properties_add_button(props, "button3", "Send LMB at [100,200]",
                                  click_at)
    obs.obs_properties_add_button(props, "button4", "Move to 0,0 ",
                                  move_mouse0)
    obs.obs_properties_add_button(props, "button5", "Move to 100,200 ",
                                  move_mouse1)
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "browser_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)
    return props
コード例 #8
0
def script_properties():
    debug("[CS] Loaded properties.")

    props = obs.obs_properties_create()
    obs.obs_properties_add_bool(props, "enabled", "Enabled")
    obs.obs_properties_add_bool(props, "debug_mode", "Debug Mode")
    obs.obs_properties_add_int(props, "check_frequency", "Check frequency",
                               150, 10000, 100)
    obs.obs_properties_add_text(props, "display_text", "Display text",
                                obs.OBS_TEXT_DEFAULT)
    for i in filter(lambda x: not x.startswith('_'), calcingfunc.keys()):
        obs.obs_properties_add_bool(props,
                                    globals()[i].id,
                                    globals()[i].display_name)

    p = obs.obs_properties_add_list(props, "source_name", "Text source",
                                    obs.OBS_COMBO_TYPE_EDITABLE,
                                    obs.OBS_COMBO_FORMAT_STRING)

    sources = obs.obs_enum_sources()
    if sources:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id in ("text_gdiplus", "text_ft2_source"):
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)
    obs.source_list_release(sources)

    return props
コード例 #9
0
def script_properties():
    props = obs.obs_properties_create()
    obs.obs_properties_add_int(props, "xMaxSize", "Max x size:", 0, 10000, 1)
    obs.obs_properties_add_int(props, "yMaxSize", "Max y size:", 0, 10000, 1)
    obs.obs_properties_add_int(props, "followRate", "Follow speed %:", 0, 100,
                               1)
    obs.obs_properties_add_int(props, "zoomRate", "Zoom speed %:", 0, 100, 1)
    obs.obs_properties_add_bool(props, "keepAspectRatio",
                                "Keep aspect ratio on select rectangle:")
    sourceList1 = obs.obs_properties_add_list(props, "sourceName1",
                                              "Screen source 1:",
                                              obs.OBS_COMBO_TYPE_EDITABLE,
                                              obs.OBS_COMBO_FORMAT_STRING)
    sourceList2 = obs.obs_properties_add_list(props, "sourceName2",
                                              "Screen source 2:",
                                              obs.OBS_COMBO_TYPE_EDITABLE,
                                              obs.OBS_COMBO_FORMAT_STRING)
    sources = obs.obs_enum_sources()
    obs.obs_property_list_add_string(sourceList1, "", "")
    obs.obs_property_list_add_string(sourceList2, "", "")
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "monitor_capture":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(sourceList1, name, name)
                obs.obs_property_list_add_string(sourceList2, name, name)
        obs.source_list_release(sources)
    return props
コード例 #10
0
def script_properties():
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        'source',
        'Text Source:',
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )

    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == 'text_gdiplus' or source_id == 'text_ft2_source':
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_int_slider(props, 'timer_duration',
                                      'Timer Duration (Mins):', 1, 120, 1)
    obs.obs_properties_add_button(props, 'start_button', 'Start Countdown',
                                  start_pressed)

    return props
def script_properties():  # ui
    props = S.obs_properties_create()
    p = S.obs_properties_add_list(
        props,
        "source",
        "Text Source",
        S.OBS_COMBO_TYPE_EDITABLE,
        S.OBS_COMBO_FORMAT_STRING,
    )
    sources = S.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = S.obs_source_get_unversioned_id(source)
            name = S.obs_source_get_name(source)
            S.obs_property_list_add_string(p, name, name)

        S.source_list_release(sources)

    _p = S.obs_properties_add_list(
        props,
        "scene",
        "Scene",
        S.OBS_COMBO_TYPE_EDITABLE,
        S.OBS_COMBO_FORMAT_STRING,
    )

    scenes = S.obs_frontend_get_scenes()
    for scene in scenes:
        name = S.obs_source_get_name(scene)
        S.obs_property_list_add_string(_p, name, name)
    S.source_list_release(scenes)

    S.obs_properties_add_button(props, "button", "Duplicate", button_pressed)
    return props
コード例 #12
0
def script_properties():
    props = obs.obs_properties_create()

    # obs_property_t *obs_properties_add_text(obs_properties_t *props, const char *name, const char *description, enum obs_text_type type)
    obs.obs_properties_add_text(
        props, "api_endpoint", "API Endpoint", obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_text(
        props, "jsonpath", "Path to json string (ex menu.state)", obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_text(
        props, "format_rule", "Formatting rule (python format)", obs.OBS_TEXT_MULTILINE)
    # obs_property_t *obs_properties_add_int(obs_properties_t *props, const char *name, const char *description, int min, int max, int step)

    p = obs.obs_properties_add_list(
        props, "text_source", "Text Source (old FreeType 2)", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_ft2_source":
            # gdiplus lags!!!!!! if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_button(
        props, "button", "Save/Refresh", save_pressed)
    return props
コード例 #13
0
def script_properties():
    props = obs.obs_properties_create()

    obs.obs_properties_add_text(props, "counter_text", "Set counter text",
                                obs.OBS_TEXT_DEFAULT)

    p = obs.obs_properties_add_list(
        props,
        "source",
        "Text Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_button(props, "button", "Refresh", refresh)
    return props
コード例 #14
0
def script_properties():
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        'source',
        'Text Source:',
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )

    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == 'text_gdiplus' or source_id == 'text_ft2_source':
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_text(props, 'format', 'Text Format:', obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_button(props, 'start_button', 'Start Timer', start_pressed)
    obs.obs_properties_add_bool(props, 'auto_start', 'Start Automatically with Stream')

    return props
コード例 #15
0
def get_active_song():
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_name = obs.obs_source_get_name(source)
            source_id = obs.obs_source_get_unversioned_id(source)
            active = obs.obs_source_active(source)
            if source_id == "ffmpeg_source" and active is True:
                return source
コード例 #16
0
def script_properties():
    props = obs.obs_properties_create()

    obs.obs_properties_add_text(props, "scripted_text", "Scripted text",
                                obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_int(props, "refresh_rate", "Refresh rate(ms)", 15,
                               5 * 1000, 1)
    obs.obs_properties_add_int(props, "duration", "Duration shown(ms)",
                               1 * 1000, 3600 * 1000, 1)

    p = obs.obs_properties_add_list(
        props,
        "source",
        "Text Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sp = obs.obs_properties_add_list(
        props,
        "playsound",
        "Media Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    tp = obs.obs_properties_add_list(
        props,
        "text_effect",
        "Text effect",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )

    for i in scripted_text_driver.txt_efcts.keys():
        obs.obs_property_list_add_string(tp, i, i)

    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)
            if source_id == "ffmpeg_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(sp, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_button(
        props, "button1", "PREVIEW",
        lambda *props: scripted_text_driver.hotkey_hook())

    obs.obs_properties_add_button(
        props, "button2", "RESET",
        lambda *props: scripted_text_driver.reset_duration())

    return props
コード例 #17
0
def fill_source_list(p):
    obs.obs_property_list_clear(p)
    obs.obs_property_list_add_string(p, "", "")
    with source_list_ar() as sources:
        if sources is not None:
            for source in sources:
                source_id = obs.obs_source_get_unversioned_id(source)
                if (source_id == "text_gdiplus"
                        or source_id == "text_ft2_source"):
                    name = obs.obs_source_get_name(source)
                    obs.obs_property_list_add_string(p, name, name)
コード例 #18
0
def script_properties():
    "https://obsproject.com/docs/reference-properties.html"
    props = obs.obs_properties_create()

    obs.obs_properties_add_text(props, "scripted_text", "Scripted text",
                                obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_int(props, "refresh_rate", "Refresh rate(ms)", 50,
                               5000, 1)
    obs.obs_properties_add_int(props, "duration", "Duration shown(ms)", 5000,
                               15000, 1)

    p = obs.obs_properties_add_list(
        props,
        "source",
        "Text Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sp = obs.obs_properties_add_list(
        props,
        "playsound",
        "Media Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    tp = obs.obs_properties_add_list(
        props,
        "text_effect",
        "Text effect",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )

    for i in ["rainbow", "static", "random_chars", "blink"]:
        obs.obs_property_list_add_string(tp, i, i)

    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)
            if source_id == "ffmpeg_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(sp, name, name)
                print(name)

        obs.source_list_release(sources)

    obs.obs_properties_add_button(props, "button", "Refresh and preview(5s)",
                                  refresh)
    return props
コード例 #19
0
def script_properties():
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        "source",
        "Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            name = obs.obs_source_get_name(source)
            obs.obs_property_list_add_string(p, name, source_id)
        obs.source_list_release(sources)
    return props
コード例 #20
0
def set_source_text(source_name: str, text: str, color: int):
    if source_name is None or source_name == "":
        return
    # copied and modified from scripted-text.py by UpgradeQ
    with source_ar(source_name) as source, data_ar() as settings:
        obs.obs_data_set_string(settings, "text", text)
        source_id = obs.obs_source_get_unversioned_id(source)
        if color is not None:
            if source_id == "text_gdiplus":
                obs.obs_data_set_int(settings, "color", color)  # colored text

            # freetype2 is BGR, should be reversed for getting correct color
            else:
                number = "".join(hex(color)[2:])
                color = int("0xff" f"{number}", base=16)
                obs.obs_data_set_int(settings, "color1", color)

        obs.obs_source_update(source, settings)
コード例 #21
0
ファイル: props.py プロジェクト: zooba/obs-python
    def _add(self, props, on_changed):
        flag = _obs.OBS_COMBO_TYPE_EDITABLE if self.editable else _obs.OBS_COMBO_TYPE_LIST
        fmt = _obs.OBS_COMBO_FORMAT_STRING
        p = _obs.obs_properties_add_list(props, self.name, self.text, flag,
                                         fmt)
        super()._add(p, on_changed)

        _obs.obs_property_list_add_string(p, "(None)", None)
        sources = _obs.obs_enum_sources()
        if sources is not None:
            try:
                for s in sources:
                    s_id = _obs.obs_source_get_unversioned_id(s)
                    if _contains_pattern(s_id, self.kinds):
                        v = _obs.obs_source_get_name(s)
                        _obs.obs_property_list_add_string(p, v, v)
            finally:
                _obs.source_list_release(sources)
def script_properties():  # ui
    props = S.obs_properties_create()
    p = S.obs_properties_add_list(
        props,
        "source",
        "Text Source",
        S.OBS_COMBO_TYPE_EDITABLE,
        S.OBS_COMBO_FORMAT_STRING,
    )
    sources = S.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = S.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = S.obs_source_get_name(source)
                S.obs_property_list_add_string(p, name, name)

        S.source_list_release(sources)
    return props
コード例 #23
0
def script_properties():
    props = obs.obs_properties_create()

    obs.obs_properties_add_text(props, "url", "URL", obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_int(props, "interval", "Update Interval (seconds)", 5, 3600, 1)

    p = obs.obs_properties_add_list(props, "source", "Text Source", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_button(props, "button", "Refresh", refresh_pressed)
    return props
コード例 #24
0
def script_properties():
    props = obs.obs_properties_create()

    s = obs.obs_properties_add_list(props, "scene", "Scene",
                                    obs.OBS_COMBO_TYPE_EDITABLE,
                                    obs.OBS_COMBO_FORMAT_STRING)
    p = obs.obs_properties_add_list(props, "source", "Text Source",
                                    obs.OBS_COMBO_TYPE_EDITABLE,
                                    obs.OBS_COMBO_FORMAT_STRING)

    obs.obs_properties_add_bool(props, "reset_time",
                                "Reset time on scene switch")

    obs.obs_properties_add_int(props, "stop_stream_time",
                               "Stop stream/record after (seconds):", 10, 7200,
                               1)
    obs.obs_properties_add_bool(props, "stop_stream", "Enabled")
    sources = obs.obs_enum_sources()

    if sources is not None:

        for source in sources:
            name = obs.obs_source_get_name(source)
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)

    scenes = obs.obs_frontend_get_scenes()
    if scenes is not None:
        for scene in scenes:
            name = obs.obs_source_get_name(scene)
            obs.obs_property_list_add_string(s, name, name)

        obs.source_list_release(scenes)

    obs.obs_properties_add_button(props, "reset_button", "Reset Stopwatch",
                                  reset_stopwatch_pressed)
    obs.obs_properties_add_button(props, "button", "Refresh", refresh_pressed)
    return props
コード例 #25
0
    def get_source_list(self):
        """
        Get list of text sources
        """

        _sources = obs.obs_enum_sources()
        _names = []

        if _sources is not None:

            for _source in _sources:

                _source_id = obs.obs_source_get_unversioned_id(_source)

                if _source_id == "text_gdiplus"\
                    or _source_id == "text_ft2_source":

                    _names.append(obs.obs_source_get_name(_source))

        return _names
コード例 #26
0
def script_properties():  # ui
    props = obs.obs_properties_create()
    p = obs.obs_properties_add_list(
        props,
        "source",
        "Text Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)
    obs.obs_properties_add_bool(props, "_obs_bool", "Words")
    obs.obs_properties_add_button(props, "button", "Refresh", refresh_pressed)
    return props
コード例 #27
0
def script_properties():  # ui
    props = obs.obs_properties_create()
    number = obs.obs_properties_add_int(props, "refresh_rate",
                                        "Refresh rate (ms)", 15, 300, 5)
    p = obs.obs_properties_add_list(
        props,
        "source",
        "Select cursor source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            name = obs.obs_source_get_name(source)
            obs.obs_property_list_add_string(p, name, name)
        obs.source_list_release(sources)
    obs.obs_properties_add_button(props, "button", "Stop", stop_pressed)
    obs.obs_properties_add_button(props, "button2", "Start", start_pressed)
    obs.obs_properties_add_bool(props, "bool_yn", "Update crop")
    return props
コード例 #28
0
def script_properties():  # ui
    props = obs.obs_properties_create()
    obs.obs_properties_add_int(props, "max_value", "Max value", 1, 1_000_000,
                               1)
    p = obs.obs_properties_add_list(
        props,
        "source",
        "Color Source",
        obs.OBS_COMBO_TYPE_EDITABLE,
        obs.OBS_COMBO_FORMAT_STRING,
    )
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            name = obs.obs_source_get_name(source)
            obs.obs_property_list_add_string(p, name, name)

        obs.source_list_release(sources)
    obs.obs_properties_add_button(props, "button", "Start", start_pressed)
    obs.obs_properties_add_button(props, "button1", "Stop",
                                  lambda *props: eg.toggle())
    return props
コード例 #29
0
def script_properties():
    props = obs.obs_properties_create()
    source_list = obs.obs_properties_add_list(props, "text_source_list",
                                              "Source List",
                                              obs.OBS_COMBO_TYPE_EDITABLE,
                                              obs.OBS_COMBO_FORMAT_STRING)
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                source_name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(source_list, source_name,
                                                 source_name)
    obs.obs_properties_add_path(props, "path", "List of reproduction folder",
                                obs.OBS_PATH_DIRECTORY, None, None)
    obs.obs_properties_add_text(props, "scene", "Target scene",
                                obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_text(props, "group", "Target group name",
                                obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_button(props, "refresh", "Refresh folder",
                                  button_handler)
    obs.source_list_release(sources)
    return props
コード例 #30
0
def script_properties():
    props = obs.obs_properties_create()

    obs.obs_properties_add_text(props, "unrealserver", "Server Address - unreal://", obs.OBS_TEXT_DEFAULT)
    obs.obs_properties_add_int(props, "interval", "Update Interval (seconds)", 5, 3600, 1)
    
    ut_t0n = obs.obs_properties_add_list(props, "team0name", "Red Team Name", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_t0s = obs.obs_properties_add_list(props, "team0score", "Red Team Score", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_t1n = obs.obs_properties_add_list(props, "team1name", "Blue Team Name", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_t1s = obs.obs_properties_add_list(props, "team1score", "Blue Team Score", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_sts = obs.obs_properties_add_list(props, "serverstatus", "Server Status", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_map = obs.obs_properties_add_list(props, "servermap", "Current Map", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_tim = obs.obs_properties_add_list(props, "gametime", "Remaining Time", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_obj = obs.obs_properties_add_list(props, "gameobjs", "Objective Stats", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    ut_dbg = obs.obs_properties_add_list(props, "debug", "Debug", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
    
    sources = obs.obs_enum_sources()
    if sources is not None:
        for source in sources:
            source_id = obs.obs_source_get_unversioned_id(source)
            if source_id == "text_gdiplus" or source_id == "text_ft2_source":
                name = obs.obs_source_get_name(source)
                obs.obs_property_list_add_string(ut_t0n, name, name)
                obs.obs_property_list_add_string(ut_t0s, name, name)
                obs.obs_property_list_add_string(ut_t1n, name, name)
                obs.obs_property_list_add_string(ut_t1s, name, name)
                obs.obs_property_list_add_string(ut_sts, name, name)
                obs.obs_property_list_add_string(ut_map, name, name)
                obs.obs_property_list_add_string(ut_tim, name, name)
                obs.obs_property_list_add_string(ut_obj, name, name)
                obs.obs_property_list_add_string(ut_dbg, name, name)

        obs.source_list_release(sources)

    obs.obs_properties_add_button(props, "button", "&Save && Run", refresh_pressed)
    return props