提交 07b2fd59 编写于 作者: J jp9000

Do not visually select audio-only sources

上级 d3e6148a
......@@ -1360,6 +1360,10 @@ void OBSBasic::on_sources_currentItemChanged(QListWidgetItem *current,
return;
OBSSceneItem item = current->data(Qt::UserRole).value<OBSSceneItem>();
obs_source_t source = obs_sceneitem_getsource(item);
if ((obs_source_get_output_flags(source) & OBS_SOURCE_VIDEO) == 0)
return;
obs_scene_enum_items(GetCurrentScene(), select_one, &item);
UNUSED_PARAMETER(prev);
......
......@@ -47,6 +47,13 @@ struct SceneFindData {
{}
};
static bool SceneItemHasVideo(obs_sceneitem_t item)
{
obs_source_t source = obs_sceneitem_getsource(item);
uint32_t flags = obs_source_get_output_flags(source);
return (flags & OBS_SOURCE_VIDEO) != 0;
}
static bool FindItemAtPos(obs_scene_t scene, obs_sceneitem_t item, void *param)
{
SceneFindData *data = reinterpret_cast<SceneFindData*>(param);
......@@ -54,6 +61,9 @@ static bool FindItemAtPos(obs_scene_t scene, obs_sceneitem_t item, void *param)
vec3 transformedPos;
vec3 pos3;
if (!SceneItemHasVideo(item))
return true;
vec3_set(&pos3, data->pos.x, data->pos.y, 0.0f);
obs_sceneitem_get_box_transform(item, &transform);
......@@ -155,6 +165,9 @@ static bool CheckItemSelected(obs_scene_t scene, obs_sceneitem_t item,
vec3 transformedPos;
vec3 pos3;
if (!SceneItemHasVideo(item))
return true;
vec3_set(&pos3, data->pos.x, data->pos.y, 0.0f);
obs_sceneitem_get_box_transform(item, &transform);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册