aja: Disable plugin if no devices are found
This commit is contained in:
parent
b4cfc6bcf4
commit
54e5252906
@ -83,27 +83,59 @@ add_library(aja-output-ui MODULE
|
||||
${aja-output-ui_SOURCES}
|
||||
${aja-output-ui_UI_HEADERS})
|
||||
|
||||
if (APPLE)
|
||||
target_compile_definitions(aja-output-ui PUBLIC
|
||||
AJAMac
|
||||
AJA_MAC)
|
||||
set(aja_LIBRARIES
|
||||
$<IF:$<CONFIG:Debug>,${LIBAJANTV2_DEBUG_LIBRARIES},${LIBAJANTV2_LIBRARIES}>
|
||||
libobs)
|
||||
|
||||
# macOS
|
||||
if(APPLE)
|
||||
set(aja_COMPILE_DEFS
|
||||
AJAMac
|
||||
AJA_MAC)
|
||||
|
||||
find_library(IOKIT_FRAMEWORK Iokit)
|
||||
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
|
||||
find_library(APPKIT_FRAMEWORK AppKit)
|
||||
|
||||
list(APPEND aja_LIBRARIES
|
||||
${IOKIT_FRAMEWORK}
|
||||
${COREFOUNDATION_LIBRARY}
|
||||
${APPKIT_FRAMEWORK})
|
||||
# Windows
|
||||
elseif(WIN32)
|
||||
target_compile_definitions(aja-output-ui PUBLIC
|
||||
AJA_WINDOWS
|
||||
_WINDOWS
|
||||
WIN32
|
||||
MSWindows)
|
||||
set(aja_COMPILE_DEFS
|
||||
AJA_WINDOWS
|
||||
_WINDOWS
|
||||
WIN32
|
||||
MSWindows)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
list(APPEND aja_COMPILE_DEFS
|
||||
_DEBUG)
|
||||
else()
|
||||
list(APPEND aja_COMPILE_DEFS
|
||||
NDEBUG)
|
||||
endif()
|
||||
|
||||
list(APPEND aja_LIBRARIES
|
||||
ws2_32.lib
|
||||
setupapi.lib
|
||||
Winmm.lib
|
||||
netapi32.lib
|
||||
Shlwapi.lib)
|
||||
# Linux
|
||||
elseif(UNIX AND NOT APPLE)
|
||||
target_compile_definitions(aja-output-ui PUBLIC
|
||||
AJA_LINUX
|
||||
AJALinux)
|
||||
set(aja_COMPILE_DEFS
|
||||
AJA_LINUX
|
||||
AJALinux)
|
||||
endif()
|
||||
|
||||
target_include_directories(aja-output-ui PUBLIC
|
||||
${LIBAJANTV2_INCLUDE_DIRS})
|
||||
|
||||
target_compile_definitions(aja-output-ui PUBLIC ${aja_COMPILE_DEFS})
|
||||
target_link_libraries(aja-output-ui
|
||||
${frontend-tools_PLATFORM_LIBS}
|
||||
${aja_LIBRARIES}
|
||||
obs-frontend-api
|
||||
Qt5::Widgets
|
||||
libobs)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include <util/platform.h>
|
||||
#include <media-io/video-io.h>
|
||||
#include <media-io/video-frame.h>
|
||||
#include <ajantv2/includes/ntv2devicescanner.h>
|
||||
|
||||
OBS_DECLARE_MODULE()
|
||||
OBS_MODULE_USE_DEFAULT_LOCALE("aja-output-ui", "en-US")
|
||||
@ -310,6 +311,13 @@ static void OBSEvent(enum obs_frontend_event event, void *)
|
||||
|
||||
bool obs_module_load(void)
|
||||
{
|
||||
CNTV2DeviceScanner scanner;
|
||||
auto numDevices = scanner.GetNumDevices();
|
||||
|
||||
if (numDevices == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
addOutputUI();
|
||||
|
||||
obs_frontend_add_event_callback(OBSEvent, nullptr);
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "aja-card-manager.hpp"
|
||||
#include <obs-module.h>
|
||||
#include <ajantv2/includes/ntv2devicescanner.h>
|
||||
|
||||
OBS_DECLARE_MODULE()
|
||||
OBS_MODULE_USE_DEFAULT_LOCALE("aja", "en-US")
|
||||
@ -17,6 +18,13 @@ struct obs_output_info aja_output_info;
|
||||
|
||||
bool obs_module_load(void)
|
||||
{
|
||||
CNTV2DeviceScanner scanner;
|
||||
auto numDevices = scanner.GetNumDevices();
|
||||
|
||||
if (numDevices == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
aja::CardManager::Instance().EnumerateCards();
|
||||
|
||||
aja_source_info = create_aja_source_info();
|
||||
|
Loading…
x
Reference in New Issue
Block a user