Compare commits

...

15 commits

Author SHA1 Message Date
tytan652 cd401a2131 UI: Remove obs-ui-support
The remaining files are only used by the UI, so those are restored in
the obs-studio target
2024-06-08 12:49:12 +02:00
tytan652 20c3efd391 UI,shared: Move OBSPropertiesView to its own directory 2024-06-08 12:48:50 +02:00
tytan652 db6846fd20 frontend-tools: Remove unused source files in legacy path 2024-06-08 12:48:34 +02:00
tytan652 b9b761fe77 UI,shared: Move SliderIgnoreScroll to its own directory 2024-06-08 12:48:34 +02:00
tytan652 deb54b8e79 UI,shared: Move VScrollArea to its own directory 2024-06-08 12:48:34 +02:00
tytan652 437ef58666 UI,shared: Move OBSPlainTextEdit to its own directory 2024-06-08 12:48:33 +02:00
tytan652 69eae11019 UI,shared: Move Qt Wrappers to its own directory 2024-06-08 12:48:13 +02:00
tytan652 1c4966d471 UI: Move QTToGSWindow outside of Qt wrappers 2024-06-08 12:47:30 +02:00
tytan652 988b5e4563 deps,shared,plugins: Move opts-parser to shared folder 2024-06-08 12:47:30 +02:00
tytan652 f022870923 deps,shared,frontend-tools: Move obs-scripting to shared folder 2024-06-08 12:47:30 +02:00
tytan652 6b4f3711d5 deps,shared,obs-ffmpeg: Move media-playback to shared folder 2024-06-08 12:47:30 +02:00
tytan652 f154b4a331 deps,shared,win-capture: Move ipc-util to shared folder 2024-06-08 12:47:30 +02:00
tytan652 51c17032be deps,shared,obs-outputs: Move happy-eyeballs to shared folder 2024-06-08 12:47:30 +02:00
tytan652 f650cdf6bb deps,shared,plugins: Move file-updater to shared folder 2024-06-08 12:47:30 +02:00
tytan652 e38f6754eb Add shared folder in gitignore and format scripts 2024-06-08 12:47:30 +02:00
151 changed files with 420 additions and 285 deletions

1
.gitignore vendored
View file

@ -9,6 +9,7 @@
!/docs !/docs
!/libobs* !/libobs*
!/plugins !/plugins
!/shared
!/test !/test
!/UI !/UI
!.cirrus.xml !.cirrus.xml

View file

@ -1,7 +1,7 @@
#pragma once #pragma once
#include <QMouseEvent> #include <QMouseEvent>
#include "slider-ignorewheel.hpp" #include <slider-ignorewheel.hpp>
class AbsoluteSlider : public SliderIgnoreScroll { class AbsoluteSlider : public SliderIgnoreScroll {
Q_OBJECT Q_OBJECT

View file

@ -5,7 +5,7 @@
#include <QComboBox> #include <QComboBox>
#include <QCheckBox> #include <QCheckBox>
#include <cmath> #include <cmath>
#include "qt-wrappers.hpp" #include <qt-wrappers.hpp>
#include "obs-app.hpp" #include "obs-app.hpp"
#include "adv-audio-control.hpp" #include "adv-audio-control.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"

View file

@ -1,6 +1,6 @@
#include <obs-frontend-internal.hpp> #include <obs-frontend-internal.hpp>
#include <qt-wrappers.hpp>
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "window-basic-main-outputs.hpp" #include "window-basic-main-outputs.hpp"

View file

@ -4,9 +4,9 @@
#include <QRegularExpressionMatch> #include <QRegularExpressionMatch>
#include <QString> #include <QString>
#include <QtNetwork/QTcpSocket> #include <QtNetwork/QTcpSocket>
#include <qt-wrappers.hpp>
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
#define LOGO_URL "https://obsproject.com/assets/images/new_icon_small-r.png" #define LOGO_URL "https://obsproject.com/assets/images/new_icon_small-r.png"

View file

@ -8,6 +8,7 @@
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QUrl> #include <QUrl>
#include <QRandomGenerator> #include <QRandomGenerator>
#include <qt-wrappers.hpp>
#ifdef WIN32 #ifdef WIN32
#include <windows.h> #include <windows.h>
@ -18,7 +19,6 @@
#include "auth-listener.hpp" #include "auth-listener.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
#include "ui-config.h" #include "ui-config.h"
#include "youtube-api-wrappers.hpp" #include "youtube-api-wrappers.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"

View file

@ -71,6 +71,28 @@ find_package(CURL REQUIRED)
add_subdirectory(frontend-plugins) add_subdirectory(frontend-plugins)
add_executable(obs) add_executable(obs)
if(NOT TARGET OBS::properties-view)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
if(NOT TARGET OBS::qt-plain-text-edit)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit")
endif()
if(NOT TARGET OBS::qt-slider-ignorewheel)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel"
"${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel")
endif()
if(NOT TARGET OBS::qt-vertical-scroll-area)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area"
"${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area")
endif()
if(NOT TARGET OBS::qt-wrappers)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers")
endif()
find_qt(COMPONENTS Widgets Network Svg Xml COMPONENTS_LINUX Gui DBus) find_qt(COMPONENTS Widgets Network Svg Xml COMPONENTS_LINUX Gui DBus)
target_link_libraries(obs PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network) target_link_libraries(obs PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network)
@ -147,8 +169,6 @@ target_sources(
platform.hpp platform.hpp
qt-display.cpp qt-display.cpp
qt-display.hpp qt-display.hpp
qt-wrappers.cpp
qt-wrappers.hpp
ui-validation.cpp ui-validation.cpp
ui-validation.hpp ui-validation.hpp
multiview.cpp multiview.cpp
@ -171,8 +191,6 @@ target_sources(
basic-controls.cpp basic-controls.cpp
basic-controls.hpp basic-controls.hpp
clickable-label.hpp clickable-label.hpp
double-slider.cpp
double-slider.hpp
horizontal-scroll-area.cpp horizontal-scroll-area.cpp
horizontal-scroll-area.hpp horizontal-scroll-area.hpp
item-widget-helpers.cpp item-widget-helpers.cpp
@ -193,22 +211,13 @@ target_sources(
menu-button.hpp menu-button.hpp
mute-checkbox.hpp mute-checkbox.hpp
noncheckable-button.hpp noncheckable-button.hpp
plain-text-edit.cpp
plain-text-edit.hpp
properties-view.cpp
properties-view.hpp
properties-view.moc.hpp
remote-text.cpp remote-text.cpp
remote-text.hpp remote-text.hpp
scene-tree.cpp scene-tree.cpp
scene-tree.hpp scene-tree.hpp
screenshot-obj.hpp screenshot-obj.hpp
slider-ignorewheel.cpp
slider-ignorewheel.hpp
source-label.cpp source-label.cpp
source-label.hpp source-label.hpp
spinbox-ignorewheel.cpp
spinbox-ignorewheel.hpp
source-tree.cpp source-tree.cpp
source-tree.hpp source-tree.hpp
url-push-button.cpp url-push-button.cpp
@ -217,8 +226,6 @@ target_sources(
undo-stack-obs.hpp undo-stack-obs.hpp
volume-control.cpp volume-control.cpp
volume-control.hpp volume-control.hpp
vertical-scroll-area.cpp
vertical-scroll-area.hpp
visibility-item-widget.cpp visibility-item-widget.cpp
visibility-item-widget.hpp) visibility-item-widget.hpp)
@ -306,8 +313,19 @@ target_compile_features(obs PRIVATE cxx_std_17)
target_include_directories(obs PRIVATE ${CMAKE_SOURCE_DIR}/deps/json11) target_include_directories(obs PRIVATE ${CMAKE_SOURCE_DIR}/deps/json11)
target_link_libraries(obs PRIVATE CURL::libcurl FFmpeg::avcodec FFmpeg::avutil FFmpeg::avformat OBS::libobs target_link_libraries(
OBS::frontend-api) obs
PRIVATE CURL::libcurl
FFmpeg::avcodec
FFmpeg::avutil
FFmpeg::avformat
OBS::libobs
OBS::frontend-api
OBS::qt-wrappers
OBS::qt-plain-text-edit
OBS::qt-vertical-scroll-area
OBS::qt-slider-ignorewheel
OBS::properties-view)
set_target_properties(obs PROPERTIES FOLDER "frontend") set_target_properties(obs PROPERTIES FOLDER "frontend")

View file

@ -1,32 +1,23 @@
add_library(obs-ui-support INTERFACE) if(NOT TARGET OBS::properties-view)
add_library(OBS::ui-support ALIAS obs-ui-support) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
target_sources( if(NOT TARGET OBS::qt-plain-text-edit)
obs-ui-support add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit")
INTERFACE # cmake-format: sortable endif()
clickable-label.hpp
double-slider.cpp
double-slider.hpp
horizontal-scroll-area.cpp
horizontal-scroll-area.hpp
plain-text-edit.cpp
plain-text-edit.hpp
properties-view.cpp
properties-view.hpp
properties-view.moc.hpp
qt-wrappers.cpp
qt-wrappers.hpp
slider-ignorewheel.cpp
slider-ignorewheel.hpp
spinbox-ignorewheel.cpp
spinbox-ignorewheel.hpp
vertical-scroll-area.cpp
vertical-scroll-area.hpp)
target_include_directories(obs-ui-support INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") if(NOT TARGET OBS::qt-slider-ignorewheel)
target_compile_options(obs-ui-support INTERFACE $<$<PLATFORM_ID:Linux>:-Wno-error=enum-conversion>) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel"
"${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel")
endif()
target_link_libraries(obs-studio PRIVATE OBS::ui-support) if(NOT TARGET OBS::qt-vertical-scroll-area)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area"
"${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area")
endif()
target_link_libraries(obs-studio PRIVATE OBS::properties-view OBS::qt-plain-text-edit OBS::qt-slider-ignorewheel
OBS::qt-vertical-scroll-area)
target_sources( target_sources(
obs-studio obs-studio
@ -40,10 +31,13 @@ target_sources(
balance-slider.hpp balance-slider.hpp
basic-controls.cpp basic-controls.cpp
basic-controls.hpp basic-controls.hpp
clickable-label.hpp
context-bar-controls.cpp context-bar-controls.cpp
context-bar-controls.hpp context-bar-controls.hpp
focus-list.cpp focus-list.cpp
focus-list.hpp focus-list.hpp
horizontal-scroll-area.cpp
horizontal-scroll-area.hpp
hotkey-edit.cpp hotkey-edit.cpp
hotkey-edit.hpp hotkey-edit.hpp
item-widget-helpers.cpp item-widget-helpers.cpp

View file

@ -8,7 +8,11 @@ if(OS_LINUX
find_package(Qt6 REQUIRED Gui DBus) find_package(Qt6 REQUIRED Gui DBus)
endif() endif()
target_link_libraries(obs-studio PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network) if(NOT TARGET OBS::qt-wrappers)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers")
endif()
target_link_libraries(obs-studio PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network OBS::qt-wrappers)
set_target_properties( set_target_properties(
obs-studio obs-studio

View file

@ -1,8 +1,8 @@
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "context-bar-controls.hpp" #include "context-bar-controls.hpp"
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include <qt-wrappers.hpp>
#include <QStandardItemModel> #include <QStandardItemModel>
#include <QColorDialog> #include <QColorDialog>
#include <QFontDialog> #include <QFontDialog>

View file

@ -1,9 +1,9 @@
#pragma once #pragma once
#include <QDialog> #include <QDialog>
#include <properties-view.hpp>
#include "ui_output.h" #include "ui_output.h"
#include "../../UI/properties-view.hpp"
namespace aja { namespace aja {
class CardManager; class CardManager;

View file

@ -23,6 +23,10 @@ if(NOT TARGET OBS::aja-support)
add_subdirectory("${CMAKE_SOURCE_DIR}/plugins/aja" "${CMAKE_BINARY_DIR}/plugins/aja") add_subdirectory("${CMAKE_SOURCE_DIR}/plugins/aja" "${CMAKE_BINARY_DIR}/plugins/aja")
endif() endif()
if(NOT TARGET OBS::properties-view)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
add_library(aja-output-ui MODULE) add_library(aja-output-ui MODULE)
add_library(OBS::aja-output-ui ALIAS aja-output-ui) add_library(OBS::aja-output-ui ALIAS aja-output-ui)
@ -40,7 +44,7 @@ target_link_libraries(
PRIVATE OBS::libobs PRIVATE OBS::libobs
OBS::aja-support OBS::aja-support
OBS::frontend-api OBS::frontend-api
OBS::ui-support OBS::properties-view
Qt::Widgets Qt::Widgets
AJA::LibAJANTV2 AJA::LibAJANTV2
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11> $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>

View file

@ -9,6 +9,10 @@ find_package(LibAJANTV2 REQUIRED)
add_library(aja-output-ui MODULE) add_library(aja-output-ui MODULE)
add_library(OBS::aja-output-ui ALIAS aja-output-ui) add_library(OBS::aja-output-ui ALIAS aja-output-ui)
if(NOT TARGET OBS::properties-view)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui)
set_target_properties( set_target_properties(
@ -45,24 +49,10 @@ target_sources(
${CMAKE_SOURCE_DIR}/plugins/aja/aja-vpid-data.cpp ${CMAKE_SOURCE_DIR}/plugins/aja/aja-vpid-data.cpp
${CMAKE_SOURCE_DIR}/plugins/aja/aja-vpid-data.hpp ${CMAKE_SOURCE_DIR}/plugins/aja/aja-vpid-data.hpp
${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.cpp ${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.cpp
${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.hpp ${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.hpp)
${CMAKE_SOURCE_DIR}/UI/double-slider.cpp
${CMAKE_SOURCE_DIR}/UI/double-slider.hpp
${CMAKE_SOURCE_DIR}/UI/plain-text-edit.hpp
${CMAKE_SOURCE_DIR}/UI/plain-text-edit.cpp
${CMAKE_SOURCE_DIR}/UI/properties-view.hpp
${CMAKE_SOURCE_DIR}/UI/properties-view.cpp
${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp
${CMAKE_SOURCE_DIR}/UI/qt-wrappers.cpp
${CMAKE_SOURCE_DIR}/UI/qt-wrappers.hpp
${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp
${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp
${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp
${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp
${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp
${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp)
target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api Qt::Widgets AJA::LibAJANTV2) target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::properties-view Qt::Widgets
AJA::LibAJANTV2)
if(OS_MACOS) if(OS_MACOS)
find_library(IOKIT_FRAMEWORK Iokit) find_library(IOKIT_FRAMEWORK Iokit)

View file

@ -20,6 +20,10 @@ endif()
add_library(decklink-output-ui MODULE) add_library(decklink-output-ui MODULE)
add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui)
if(NOT TARGET OBS::properties-view)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
target_sources(decklink-output-ui PRIVATE forms/output.ui) target_sources(decklink-output-ui PRIVATE forms/output.ui)
target_sources(decklink-output-ui PRIVATE DecklinkOutputUI.cpp DecklinkOutputUI.h decklink-ui-main.cpp target_sources(decklink-output-ui PRIVATE DecklinkOutputUI.cpp DecklinkOutputUI.h decklink-ui-main.cpp
@ -31,7 +35,7 @@ target_link_libraries(
decklink-output-ui decklink-output-ui
PRIVATE OBS::libobs PRIVATE OBS::libobs
OBS::frontend-api OBS::frontend-api
OBS::ui-support OBS::properties-view
Qt::Widgets Qt::Widgets
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa.framework>>" "$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa.framework>>"
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11> $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>

View file

@ -1,9 +1,9 @@
#pragma once #pragma once
#include <QDialog> #include <QDialog>
#include <properties-view.hpp>
#include "ui_output.h" #include "ui_output.h"
#include "../../UI/properties-view.hpp"
class DecklinkOutputUI : public QDialog { class DecklinkOutputUI : public QDialog {
Q_OBJECT Q_OBJECT

View file

@ -7,6 +7,10 @@ endif()
add_library(decklink-output-ui MODULE) add_library(decklink-output-ui MODULE)
add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui)
if(NOT TARGET OBS::properties-view)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui)
set_target_properties( set_target_properties(
@ -22,29 +26,10 @@ endif()
target_sources(decklink-output-ui PRIVATE forms/output.ui) target_sources(decklink-output-ui PRIVATE forms/output.ui)
target_sources( target_sources(decklink-output-ui PRIVATE DecklinkOutputUI.cpp DecklinkOutputUI.h decklink-ui-main.cpp
decklink-output-ui decklink-ui-main.h)
PRIVATE DecklinkOutputUI.cpp
DecklinkOutputUI.h
decklink-ui-main.cpp
decklink-ui-main.h
${CMAKE_SOURCE_DIR}/UI/double-slider.cpp
${CMAKE_SOURCE_DIR}/UI/double-slider.hpp
${CMAKE_SOURCE_DIR}/UI/plain-text-edit.hpp
${CMAKE_SOURCE_DIR}/UI/plain-text-edit.cpp
${CMAKE_SOURCE_DIR}/UI/properties-view.hpp
${CMAKE_SOURCE_DIR}/UI/properties-view.cpp
${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp
${CMAKE_SOURCE_DIR}/UI/qt-wrappers.hpp
${CMAKE_SOURCE_DIR}/UI/qt-wrappers.cpp
${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp
${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp
${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp
${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp
${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp
${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp)
target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api Qt::Widgets) target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::properties-view Qt::Widgets)
target_compile_features(decklink-output-ui PRIVATE cxx_std_17) target_compile_features(decklink-output-ui PRIVATE cxx_std_17)

View file

@ -14,6 +14,18 @@ endif()
add_library(frontend-tools MODULE) add_library(frontend-tools MODULE)
add_library(OBS::frontend-tools ALIAS frontend-tools) add_library(OBS::frontend-tools ALIAS frontend-tools)
if(NOT TARGET OBS::properties-view)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
if(NOT TARGET OBS::qt-plain-text-edit)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit")
endif()
if(NOT TARGET OBS::qt-wrappers)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers")
endif()
target_sources( target_sources(
frontend-tools frontend-tools
PRIVATE # cmake-format: sortable PRIVATE # cmake-format: sortable
@ -45,13 +57,15 @@ target_link_libraries(
frontend-tools frontend-tools
PRIVATE OBS::frontend-api PRIVATE OBS::frontend-api
OBS::libobs OBS::libobs
OBS::ui-support OBS::properties-view
OBS::qt-plain-text-edit
OBS::qt-wrappers
Qt::Widgets Qt::Widgets
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa>>" "$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa>>"
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11> $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:Qt::GuiPrivate>) $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:Qt::GuiPrivate>)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/obs-scripting" "${CMAKE_BINARY_DIR}/deps/obs-scripting") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/obs-scripting" "${CMAKE_BINARY_DIR}/shared/obs-scripting")
if(ENABLE_SCRIPTING AND TARGET OBS::scripting) if(ENABLE_SCRIPTING AND TARGET OBS::scripting)
target_sources(frontend-tools PRIVATE scripts.cpp scripts.hpp) target_sources(frontend-tools PRIVATE scripts.cpp scripts.hpp)

View file

@ -3,6 +3,18 @@ project(frontend-tools)
add_library(frontend-tools MODULE) add_library(frontend-tools MODULE)
add_library(OBS::frontend-tools ALIAS frontend-tools) add_library(OBS::frontend-tools ALIAS frontend-tools)
if(NOT TARGET OBS::properties-view)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
endif()
if(NOT TARGET OBS::qt-plain-text-edit)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit")
endif()
if(NOT TARGET OBS::qt-wrappers)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers")
endif()
find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui)
set_target_properties( set_target_properties(
@ -19,40 +31,20 @@ endif()
target_sources(frontend-tools PRIVATE forms/auto-scene-switcher.ui forms/captions.ui forms/output-timer.ui target_sources(frontend-tools PRIVATE forms/auto-scene-switcher.ui forms/captions.ui forms/output-timer.ui
forms/scripts.ui) forms/scripts.ui)
target_sources( target_sources(frontend-tools PRIVATE frontend-tools.c auto-scene-switcher.hpp auto-scene-switcher.cpp output-timer.hpp
frontend-tools tool-helpers.hpp output-timer.cpp)
PRIVATE frontend-tools.c
auto-scene-switcher.hpp
auto-scene-switcher.cpp
output-timer.hpp
tool-helpers.hpp
output-timer.cpp
${CMAKE_SOURCE_DIR}/UI/double-slider.cpp
${CMAKE_SOURCE_DIR}/UI/double-slider.hpp
${CMAKE_SOURCE_DIR}/UI/horizontal-scroll-area.cpp
${CMAKE_SOURCE_DIR}/UI/horizontal-scroll-area.hpp
${CMAKE_SOURCE_DIR}/UI/properties-view.cpp
${CMAKE_SOURCE_DIR}/UI/properties-view.hpp
${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp
${CMAKE_SOURCE_DIR}/UI/qt-wrappers.cpp
${CMAKE_SOURCE_DIR}/UI/qt-wrappers.hpp
${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp
${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp
${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp
${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp
${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp
${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp
${CMAKE_SOURCE_DIR}/UI/plain-text-edit.cpp
${CMAKE_SOURCE_DIR}/UI/plain-text-edit.hpp)
target_compile_features(frontend-tools PRIVATE cxx_std_17) target_compile_features(frontend-tools PRIVATE cxx_std_17)
target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::libobs Qt::Widgets) target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit
OBS::properties-view OBS::libobs Qt::Widgets)
if(OS_POSIX AND NOT OS_MACOS) if(OS_POSIX AND NOT OS_MACOS)
target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate) target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate)
endif() endif()
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/obs-scripting" "${CMAKE_BINARY_DIR}/shared/obs-scripting")
if(ENABLE_SCRIPTING AND TARGET OBS::scripting) if(ENABLE_SCRIPTING AND TARGET OBS::scripting)
target_compile_definitions(frontend-tools PRIVATE ENABLE_SCRIPTING) target_compile_definitions(frontend-tools PRIVATE ENABLE_SCRIPTING)

View file

@ -1,8 +1,5 @@
#include "obs-module.h" #include "obs-module.h"
#include "scripts.hpp" #include "scripts.hpp"
#include "../../properties-view.hpp"
#include "../../qt-wrappers.hpp"
#include "../../plain-text-edit.hpp"
#include <QFileDialog> #include <QFileDialog>
#include <QHBoxLayout> #include <QHBoxLayout>
@ -18,6 +15,9 @@
#include <QMenu> #include <QMenu>
#include <QUrl> #include <QUrl>
#include <QDesktopServices> #include <QDesktopServices>
#include <qt-wrappers.hpp>
#include <plain-text-edit.hpp>
#include <properties-view.hpp>
#include <obs.hpp> #include <obs.hpp>
#include <obs-module.h> #include <obs-module.h>

View file

@ -22,9 +22,9 @@
#include <QPointer> #include <QPointer>
#include <QStyle> #include <QStyle>
#include <QAction> #include <QAction>
#include <qt-wrappers.hpp>
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
void OBSHotkeyEdit::keyPressEvent(QKeyEvent *event) void OBSHotkeyEdit::keyPressEvent(QKeyEvent *event)
{ {

View file

@ -8,9 +8,9 @@
#include <QLayout> #include <QLayout>
#include <QDesktopServices> #include <QDesktopServices>
#include <string> #include <string>
#include <qt-wrappers.hpp>
#include "log-viewer.hpp" #include "log-viewer.hpp"
#include "qt-wrappers.hpp"
OBSLogViewer::OBSLogViewer(QWidget *parent) OBSLogViewer::OBSLogViewer(QWidget *parent)
: QDialog(parent), : QDialog(parent),

View file

@ -4,7 +4,7 @@
#include <QTimer> #include <QTimer>
#include <vector> #include <vector>
#include <obs.hpp> #include <obs.hpp>
#include "qt-wrappers.hpp" #include <qt-wrappers.hpp>
class Ui_MediaControls; class Ui_MediaControls;

View file

@ -30,6 +30,8 @@
#include <util/cf-parser.h> #include <util/cf-parser.h>
#include <obs-config.h> #include <obs-config.h>
#include <obs.hpp> #include <obs.hpp>
#include <qt-wrappers.hpp>
#include <slider-ignorewheel.hpp>
#include <QDir> #include <QDir>
#include <QFile> #include <QFile>
@ -38,7 +40,6 @@
#include <QProcess> #include <QProcess>
#include <QAccessible> #include <QAccessible>
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "obs-proxy-style.hpp" #include "obs-proxy-style.hpp"
#include "log-viewer.hpp" #include "log-viewer.hpp"

View file

@ -19,9 +19,9 @@
#include <sstream> #include <sstream>
#include "obs-config.h" #include "obs-config.h"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
#include "platform.hpp" #include "platform.hpp"
#include <qt-wrappers.hpp>
#include <util/windows/win-version.h> #include <util/windows/win-version.h>
#include <util/platform.h> #include <util/platform.h>

View file

@ -1,11 +1,11 @@
#include "qt-display.hpp" #include "qt-display.hpp"
#include "qt-wrappers.hpp"
#include "display-helpers.hpp" #include "display-helpers.hpp"
#include <QWindow> #include <QWindow>
#include <QScreen> #include <QScreen>
#include <QResizeEvent> #include <QResizeEvent>
#include <QShowEvent> #include <QShowEvent>
#include <qt-wrappers.hpp>
#include <obs-config.h> #include <obs-config.h>
#ifdef _WIN32 #ifdef _WIN32
@ -13,6 +13,14 @@
#include <Windows.h> #include <Windows.h>
#endif #endif
#if !defined(_WIN32) && !defined(__APPLE__)
#include <obs-nix-platform.h>
#endif
#ifdef ENABLE_WAYLAND
#include <qpa/qplatformnativeinterface.h>
#endif
class SurfaceEventFilter : public QObject { class SurfaceEventFilter : public QObject {
OBSQTDisplay *display; OBSQTDisplay *display;
@ -62,6 +70,38 @@ static inline QColor rgba_to_color(uint32_t rgba)
(rgba >> 16) & 0xFF, (rgba >> 24) & 0xFF); (rgba >> 16) & 0xFF, (rgba >> 24) & 0xFF);
} }
static bool QTToGSWindow(QWindow *window, gs_window &gswindow)
{
bool success = true;
#ifdef _WIN32
gswindow.hwnd = (HWND)window->winId();
#elif __APPLE__
gswindow.view = (id)window->winId();
#else
switch (obs_get_nix_platform()) {
case OBS_NIX_PLATFORM_X11_EGL:
gswindow.id = window->winId();
gswindow.display = obs_get_nix_platform_display();
break;
#ifdef ENABLE_WAYLAND
case OBS_NIX_PLATFORM_WAYLAND: {
QPlatformNativeInterface *native =
QGuiApplication::platformNativeInterface();
gswindow.display =
native->nativeResourceForWindow("surface", window);
success = gswindow.display != nullptr;
break;
}
#endif
default:
success = false;
break;
}
#endif
return success;
}
OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags) OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags)
: QWidget(parent, flags) : QWidget(parent, flags)
{ {

View file

@ -16,8 +16,8 @@
******************************************************************************/ ******************************************************************************/
#include <util/curl/curl-helper.h> #include <util/curl/curl-helper.h>
#include <qt-wrappers.hpp>
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
#include "remote-text.hpp" #include "remote-text.hpp"
using namespace std; using namespace std;

View file

@ -1,10 +1,10 @@
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "source-tree.hpp" #include "source-tree.hpp"
#include "qt-wrappers.hpp"
#include "platform.hpp" #include "platform.hpp"
#include "source-label.hpp" #include "source-label.hpp"
#include <qt-wrappers.hpp>
#include <obs-frontend-api.h> #include <obs-frontend-api.h>
#include <obs.h> #include <obs.h>

View file

@ -1,11 +1,11 @@
#include "update-helpers.hpp" #include "update-helpers.hpp"
#include "shared-update.hpp" #include "shared-update.hpp"
#include "qt-wrappers.hpp"
#include "mac-update.hpp" #include "mac-update.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include <string> #include <string>
#include <qt-wrappers.hpp>
#include <QMessageBox> #include <QMessageBox>
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */

View file

@ -3,10 +3,10 @@
#include "shared-update.hpp" #include "shared-update.hpp"
#include "update-window.hpp" #include "update-window.hpp"
#include "remote-text.hpp" #include "remote-text.hpp"
#include "qt-wrappers.hpp"
#include "win-update.hpp" #include "win-update.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include <qt-wrappers.hpp>
#include <QMessageBox> #include <QMessageBox>
#include <string> #include <string>

View file

@ -1,7 +1,8 @@
#include "visibility-item-widget.hpp" #include "visibility-item-widget.hpp"
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "source-label.hpp" #include "source-label.hpp"
#include <qt-wrappers.hpp>
#include <QListWidget> #include <QListWidget>
#include <QLineEdit> #include <QLineEdit>
#include <QHBoxLayout> #include <QHBoxLayout>

View file

@ -1,10 +1,12 @@
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "volume-control.hpp" #include "volume-control.hpp"
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "mute-checkbox.hpp" #include "mute-checkbox.hpp"
#include "absolute-slider.hpp" #include "absolute-slider.hpp"
#include "source-label.hpp" #include "source-label.hpp"
#include <slider-ignorewheel.hpp>
#include <qt-wrappers.hpp>
#include <QFontDatabase> #include <QFontDatabase>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QPushButton> #include <QPushButton>

View file

@ -1,7 +1,7 @@
#include "window-basic-about.hpp" #include "window-basic-about.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include "remote-text.hpp" #include "remote-text.hpp"
#include <qt-wrappers.hpp>
#include <util/util.hpp> #include <util/util.hpp>
#include <util/platform.h> #include <util/platform.h>
#include <platform.hpp> #include <platform.hpp>

View file

@ -3,7 +3,7 @@
#include "item-widget-helpers.hpp" #include "item-widget-helpers.hpp"
#include "adv-audio-control.hpp" #include "adv-audio-control.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp" #include <qt-wrappers.hpp>
#include "ui_OBSAdvAudio.h" #include "ui_OBSAdvAudio.h"

View file

@ -8,10 +8,10 @@
#include <graphics/vec4.h> #include <graphics/vec4.h>
#include <graphics/graphics.h> #include <graphics/graphics.h>
#include <graphics/math-extra.h> #include <graphics/math-extra.h>
#include <qt-wrappers.hpp>
#include "window-basic-auto-config.hpp" #include "window-basic-auto-config.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "ui_AutoConfigTestPage.h" #include "ui_AutoConfigTestPage.h"

View file

@ -2,12 +2,12 @@
#include <QScreen> #include <QScreen>
#include <obs.hpp> #include <obs.hpp>
#include <qt-wrappers.hpp>
#include <nlohmann/json.hpp> #include <nlohmann/json.hpp>
#include "window-basic-auto-config.hpp" #include "window-basic-auto-config.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "url-push-button.hpp" #include "url-push-button.hpp"

View file

@ -20,12 +20,12 @@
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "window-basic-filters.hpp" #include "window-basic-filters.hpp"
#include "display-helpers.hpp" #include "display-helpers.hpp"
#include "qt-wrappers.hpp"
#include "visibility-item-widget.hpp" #include "visibility-item-widget.hpp"
#include "item-widget-helpers.hpp" #include "item-widget-helpers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "undo-stack-obs.hpp" #include "undo-stack-obs.hpp"
#include <qt-wrappers.hpp>
#include <QMessageBox> #include <QMessageBox>
#include <QCloseEvent> #include <QCloseEvent>
#include <obs-data.h> #include <obs-data.h>

View file

@ -21,8 +21,7 @@
#include <QDialogButtonBox> #include <QDialogButtonBox>
#include <memory> #include <memory>
#include <obs.hpp> #include <obs.hpp>
#include <properties-view.hpp>
#include "properties-view.hpp"
class OBSBasic; class OBSBasic;
class QMenu; class QMenu;

View file

@ -18,9 +18,9 @@
#include "obs-app.hpp" #include "obs-app.hpp"
#include "window-basic-interaction.hpp" #include "window-basic-interaction.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include "display-helpers.hpp" #include "display-helpers.hpp"
#include <qt-wrappers.hpp>
#include <QKeyEvent> #include <QKeyEvent>
#include <QCloseEvent> #include <QCloseEvent>
#include <QScreen> #include <QScreen>

View file

@ -22,8 +22,7 @@
#include <functional> #include <functional>
#include <obs.hpp> #include <obs.hpp>
#include <properties-view.hpp>
#include "properties-view.hpp"
class OBSBasic; class OBSBasic;

View file

@ -18,8 +18,8 @@
#include <QDir> #include <QDir>
#include <QThread> #include <QThread>
#include <QMessageBox> #include <QMessageBox>
#include <qt-wrappers.hpp>
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include <random> #include <random>

View file

@ -9,9 +9,9 @@
#include <QSettings> #include <QSettings>
#endif #endif
#include <string> #include <string>
#include <qt-wrappers.hpp>
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
using namespace std; using namespace std;

View file

@ -3,7 +3,7 @@
#include <cinttypes> #include <cinttypes>
#include <QMessageBox> #include <QMessageBox>
#include <QPromise> #include <QPromise>
#include "qt-wrappers.hpp" #include <qt-wrappers.hpp>
#include "audio-encoders.hpp" #include "audio-encoders.hpp"
#include "multitrack-video-error.hpp" #include "multitrack-video-error.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"

View file

@ -21,10 +21,10 @@
#include <QMessageBox> #include <QMessageBox>
#include <QVariant> #include <QVariant>
#include <QFileDialog> #include <QFileDialog>
#include <qt-wrappers.hpp>
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "window-basic-auto-config.hpp" #include "window-basic-auto-config.hpp"
#include "window-namedialog.hpp" #include "window-namedialog.hpp"
#include "qt-wrappers.hpp"
extern void DestroyPanelCookieManager(); extern void DestroyPanelCookieManager();
extern void DuplicateCurrentCookieProfile(ConfigFile &config); extern void DuplicateCurrentCookieProfile(ConfigFile &config);

View file

@ -21,11 +21,11 @@
#include <QVariant> #include <QVariant>
#include <QFileDialog> #include <QFileDialog>
#include <QStandardPaths> #include <QStandardPaths>
#include <qt-wrappers.hpp>
#include "item-widget-helpers.hpp" #include "item-widget-helpers.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "window-importer.hpp" #include "window-importer.hpp"
#include "window-namedialog.hpp" #include "window-namedialog.hpp"
#include "qt-wrappers.hpp"
using namespace std; using namespace std;

View file

@ -17,7 +17,8 @@
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "screenshot-obj.hpp" #include "screenshot-obj.hpp"
#include "qt-wrappers.hpp"
#include <qt-wrappers.hpp>
#ifdef _WIN32 #ifdef _WIN32
#include <wincodec.h> #include <wincodec.h>

View file

@ -20,14 +20,14 @@
#include <QToolTip> #include <QToolTip>
#include <QMessageBox> #include <QMessageBox>
#include <util/dstr.hpp> #include <util/dstr.hpp>
#include <qt-wrappers.hpp>
#include <slider-ignorewheel.hpp>
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "window-basic-main-outputs.hpp" #include "window-basic-main-outputs.hpp"
#include "window-basic-vcam-config.hpp" #include "window-basic-vcam-config.hpp"
#include "display-helpers.hpp" #include "display-helpers.hpp"
#include "window-namedialog.hpp" #include "window-namedialog.hpp"
#include "menu-button.hpp" #include "menu-button.hpp"
#include "slider-ignorewheel.hpp"
#include "qt-wrappers.hpp"
#include "obs-hotkey.h" #include "obs-hotkey.h"

View file

@ -36,6 +36,7 @@
#include <QScrollBar> #include <QScrollBar>
#include <QTextStream> #include <QTextStream>
#include <QActionGroup> #include <QActionGroup>
#include <qt-wrappers.hpp>
#include <util/dstr.h> #include <util/dstr.h>
#include <util/util.hpp> #include <util/util.hpp>
@ -67,7 +68,6 @@
#include "window-youtube-actions.hpp" #include "window-youtube-actions.hpp"
#include "youtube-api-wrappers.hpp" #include "youtube-api-wrappers.hpp"
#endif #endif
#include "qt-wrappers.hpp"
#include "context-bar-controls.hpp" #include "context-bar-controls.hpp"
#include "obs-proxy-style.hpp" #include "obs-proxy-style.hpp"
#include "display-helpers.hpp" #include "display-helpers.hpp"

View file

@ -18,10 +18,10 @@
#include "obs-app.hpp" #include "obs-app.hpp"
#include "window-basic-properties.hpp" #include "window-basic-properties.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include "display-helpers.hpp" #include "display-helpers.hpp"
#include "properties-view.hpp"
#include <qt-wrappers.hpp>
#include <properties-view.hpp>
#include <QCloseEvent> #include <QCloseEvent>
#include <QScreen> #include <QScreen>
#include <QWindow> #include <QWindow>

View file

@ -2,7 +2,7 @@
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "obs-frontend-api.h" #include "obs-frontend-api.h"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp" #include <qt-wrappers.hpp>
#include <QColorDialog> #include <QColorDialog>
enum ColorPreset { enum ColorPreset {

View file

@ -1,12 +1,12 @@
#include <QMessageBox> #include <QMessageBox>
#include <QUrl> #include <QUrl>
#include <QUuid> #include <QUuid>
#include <qt-wrappers.hpp>
#include "window-basic-settings.hpp" #include "window-basic-settings.hpp"
#include "obs-frontend-api.h" #include "obs-frontend-api.h"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include "url-push-button.hpp" #include "url-push-button.hpp"
#ifdef BROWSER_AVAILABLE #ifdef BROWSER_AVAILABLE

View file

@ -35,6 +35,7 @@
#include <QScreen> #include <QScreen>
#include <QStandardItemModel> #include <QStandardItemModel>
#include <QSpacerItem> #include <QSpacerItem>
#include <qt-wrappers.hpp>
#include "audio-encoders.hpp" #include "audio-encoders.hpp"
#include "hotkey-edit.hpp" #include "hotkey-edit.hpp"
@ -42,7 +43,6 @@
#include "obs-app.hpp" #include "obs-app.hpp"
#include "platform.hpp" #include "platform.hpp"
#include "properties-view.hpp" #include "properties-view.hpp"
#include "qt-wrappers.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "window-basic-settings.hpp" #include "window-basic-settings.hpp"
#include "window-basic-main-outputs.hpp" #include "window-basic-main-outputs.hpp"

View file

@ -16,9 +16,9 @@
******************************************************************************/ ******************************************************************************/
#include <QMessageBox> #include <QMessageBox>
#include <qt-wrappers.hpp>
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "window-basic-source-select.hpp" #include "window-basic-source-select.hpp"
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
struct AddSourceData { struct AddSourceData {

View file

@ -4,8 +4,8 @@
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "platform.hpp" #include "platform.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
#include <qt-wrappers.hpp>
#include <QPushButton> #include <QPushButton>
#include <QScrollArea> #include <QScrollArea>
#include <QVBoxLayout> #include <QVBoxLayout>

View file

@ -1,7 +1,7 @@
#include "window-basic-vcam-config.hpp" #include "window-basic-vcam-config.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include <qt-wrappers.hpp>
#include <util/util.hpp> #include <util/util.hpp>
#include <util/platform.h> #include <util/platform.h>

View file

@ -1,8 +1,8 @@
#include "window-extra-browsers.hpp" #include "window-extra-browsers.hpp"
#include "window-dock-browser.hpp" #include "window-dock-browser.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include <qt-wrappers.hpp>
#include <QLineEdit> #include <QLineEdit>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QUuid> #include <QUuid>

View file

@ -26,8 +26,8 @@
#include <QStyledItemDelegate> #include <QStyledItemDelegate>
#include <QDirIterator> #include <QDirIterator>
#include <QDropEvent> #include <QDropEvent>
#include <qt-wrappers.hpp>
#include "qt-wrappers.hpp"
#include "importers/importers.hpp" #include "importers/importers.hpp"
extern bool SceneCollectionExists(const char *findName); extern bool SceneCollectionExists(const char *findName);

View file

@ -24,7 +24,7 @@
#include <QToolButton> #include <QToolButton>
#include <QFileDialog> #include <QFileDialog>
#include "qt-wrappers.hpp" #include <qt-wrappers.hpp>
enum MissingFilesColumn { enum MissingFilesColumn {
Source, Source,

View file

@ -16,9 +16,9 @@
******************************************************************************/ ******************************************************************************/
#include "window-namedialog.hpp" #include "window-namedialog.hpp"
#include "qt-wrappers.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include <qt-wrappers.hpp>
#include <QVBoxLayout> #include <QVBoxLayout>
NameDialog::NameDialog(QWidget *parent) : QDialog(parent) NameDialog::NameDialog(QWidget *parent) : QDialog(parent)

View file

@ -3,10 +3,10 @@
#include <QMouseEvent> #include <QMouseEvent>
#include <QMenu> #include <QMenu>
#include <QScreen> #include <QScreen>
#include <qt-wrappers.hpp>
#include "obs-app.hpp" #include "obs-app.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "display-helpers.hpp" #include "display-helpers.hpp"
#include "qt-wrappers.hpp"
#include "platform.hpp" #include "platform.hpp"
#include "multiview.hpp" #include "multiview.hpp"

View file

@ -31,8 +31,8 @@
#include <QStyledItemDelegate> #include <QStyledItemDelegate>
#include <QToolButton> #include <QToolButton>
#include <QTimer> #include <QTimer>
#include <qt-wrappers.hpp>
#include "qt-wrappers.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include <memory> #include <memory>

View file

@ -2,9 +2,9 @@
#include "window-youtube-actions.hpp" #include "window-youtube-actions.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "qt-wrappers.hpp"
#include "youtube-api-wrappers.hpp" #include "youtube-api-wrappers.hpp"
#include <qt-wrappers.hpp>
#include <QToolTip> #include <QToolTip>
#include <QDateTime> #include <QDateTime>
#include <QDesktopServices> #include <QDesktopServices>

View file

@ -6,11 +6,11 @@
#include <string> #include <string>
#include <iostream> #include <iostream>
#include <qt-wrappers.hpp>
#include "auth-youtube.hpp" #include "auth-youtube.hpp"
#include "obs-app.hpp" #include "obs-app.hpp"
#include "window-basic-main.hpp" #include "window-basic-main.hpp"
#include "qt-wrappers.hpp"
#include "remote-text.hpp" #include "remote-text.hpp"
#include "ui-config.h" #include "ui-config.h"
#include "obf.h" #include "obf.h"

View file

@ -54,7 +54,7 @@ invoke_formatter() {
exit 2 exit 2
fi fi
if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps)/**/*.(c|cpp|h|hpp|m|mm)(.N)) if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps|shared)/**/*.(c|cpp|h|hpp|m|mm)(.N))
source_files=(${source_files:#*/(obs-websocket/deps|decklink/*/decklink-sdk|mac-syphon/syphon-framework|obs-outputs/ftl-sdk|win-dshow/libdshowcapture)/*}) source_files=(${source_files:#*/(obs-websocket/deps|decklink/*/decklink-sdk|mac-syphon/syphon-framework|obs-outputs/ftl-sdk|win-dshow/libdshowcapture)/*})
@ -75,7 +75,7 @@ invoke_formatter() {
exit 2 exit 2
} }
if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps|cmake)/**/(CMakeLists.txt|*.cmake)(.N)) if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps|shared|cmake)/**/(CMakeLists.txt|*.cmake)(.N))
source_files=(${source_files:#*/(obs-outputs/ftl-sdk|jansson|decklink/*/decklink-sdk|obs-websocket|obs-browser|win-dshow/libdshowcapture)/*}) source_files=(${source_files:#*/(obs-outputs/ftl-sdk|jansson|decklink/*/decklink-sdk|obs-websocket|obs-browser|win-dshow/libdshowcapture)/*})

6
deps/CMakeLists.txt vendored
View file

@ -1,13 +1,7 @@
if(OS_WINDOWS) if(OS_WINDOWS)
add_subdirectory(ipc-util)
add_subdirectory(w32-pthreads) add_subdirectory(w32-pthreads)
endif() endif()
add_subdirectory(blake2) add_subdirectory(blake2)
add_subdirectory(file-updater)
add_subdirectory(glad) add_subdirectory(glad)
add_subdirectory(happy-eyeballs)
add_subdirectory(libcaption) add_subdirectory(libcaption)
add_subdirectory(media-playback)
add_subdirectory(obs-scripting)
add_subdirectory(opts-parser)

View file

@ -17,11 +17,11 @@ find_package(
# cmake-format: on # cmake-format: on
if(NOT TARGET OBS::media-playback) if(NOT TARGET OBS::media-playback)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/media-playback" "${CMAKE_BINARY_DIR}/deps/media-playback") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/media-playback" "${CMAKE_BINARY_DIR}/shared/media-playback")
endif() endif()
if(NOT TARGET OBS::opts-parser) if(NOT TARGET OBS::opts-parser)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/opts-parser" "${CMAKE_BINARY_DIR}/deps/opts-parser") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
endif() endif()
if(OS_WINDOWS) if(OS_WINDOWS)

View file

@ -17,6 +17,14 @@ find_package(
add_library(obs-ffmpeg MODULE) add_library(obs-ffmpeg MODULE)
add_library(OBS::ffmpeg ALIAS obs-ffmpeg) add_library(OBS::ffmpeg ALIAS obs-ffmpeg)
if(NOT TARGET OBS::media-playback)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/media-playback" "${CMAKE_BINARY_DIR}/shared/media-playback")
endif()
if(NOT TARGET OBS::opts-parser)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
endif()
add_subdirectory(ffmpeg-mux) add_subdirectory(ffmpeg-mux)
if(ENABLE_NEW_MPEGTS_OUTPUT) if(ENABLE_NEW_MPEGTS_OUTPUT)
find_package(Librist QUIET) find_package(Librist QUIET)

View file

@ -6,7 +6,11 @@ find_package(MbedTLS REQUIRED)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
if(NOT TARGET happy-eyeballs) if(NOT TARGET happy-eyeballs)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/happy-eyeballs" "${CMAKE_BINARY_DIR}/deps/happy-eyeballs") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/happy-eyeballs" "${CMAKE_BINARY_DIR}/shared/happy-eyeballs")
endif()
if(NOT TARGET OBS::opts-parser)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
endif() endif()
add_library(obs-outputs MODULE) add_library(obs-outputs MODULE)

View file

@ -13,6 +13,14 @@ mark_as_advanced(ENABLE_STATIC_MBEDTLS)
add_library(obs-outputs MODULE) add_library(obs-outputs MODULE)
add_library(OBS::outputs ALIAS obs-outputs) add_library(OBS::outputs ALIAS obs-outputs)
if(NOT TARGET happy-eyeballs)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/happy-eyeballs" "${CMAKE_BINARY_DIR}/shared/happy-eyeballs")
endif()
if(NOT TARGET OBS::opts-parser)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
endif()
target_sources( target_sources(
obs-outputs obs-outputs
PRIVATE obs-outputs.c PRIVATE obs-outputs.c

View file

@ -5,7 +5,7 @@ legacy_check()
find_package(Libx264 REQUIRED) find_package(Libx264 REQUIRED)
if(NOT TARGET OBS::opts-parser) if(NOT TARGET OBS::opts-parser)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/opts-parser" "${CMAKE_BINARY_DIR}/deps/opts-parser") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
endif() endif()
add_library(obs-x264 MODULE) add_library(obs-x264 MODULE)

View file

@ -6,6 +6,10 @@ add_library(obs-x264 MODULE)
add_library(OBS::x264 ALIAS obs-x264) add_library(OBS::x264 ALIAS obs-x264)
add_executable(obs-x264-test) add_executable(obs-x264-test)
if(NOT TARGET OBS::opts-parser)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
endif()
target_sources(obs-x264-test PRIVATE obs-x264-test.c) target_sources(obs-x264-test PRIVATE obs-x264-test.c)
target_link_libraries(obs-x264-test PRIVATE OBS::opts-parser) target_link_libraries(obs-x264-test PRIVATE OBS::opts-parser)

View file

@ -10,7 +10,7 @@ set(RTMP_SERVICES_URL
mark_as_advanced(RTMP_SERVICES_URL) mark_as_advanced(RTMP_SERVICES_URL)
if(NOT TARGET OBS::file-updater) if(NOT TARGET OBS::file-updater)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/file-updater" "${CMAKE_BINARY_DIR}/deps/file-updater") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater")
endif() endif()
find_package(jansson REQUIRED) find_package(jansson REQUIRED)

View file

@ -13,6 +13,10 @@ add_library(OBS::rtmp-services ALIAS rtmp-services)
find_package(Jansson 2.5 REQUIRED) find_package(Jansson 2.5 REQUIRED)
if(NOT TARGET OBS::file-updater)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater")
endif()
target_sources( target_sources(
rtmp-services rtmp-services
PRIVATE service-specific/twitch.c PRIVATE service-specific/twitch.c

View file

@ -27,11 +27,11 @@ mark_as_advanced(COMPAT_URL)
# cmake-format: on # cmake-format: on
if(NOT TARGET OBS::ipc-util) if(NOT TARGET OBS::ipc-util)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/ipc-util" "${CMAKE_BINARY_DIR}/deps/ipc-util") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util")
endif() endif()
if(NOT TARGET OBS::file-updater) if(NOT TARGET OBS::file-updater)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/file-updater" "${CMAKE_BINARY_DIR}/deps/file-updater") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater")
endif() endif()
find_package(jansson REQUIRED) find_package(jansson REQUIRED)

View file

@ -13,6 +13,14 @@ add_library(OBS::capture ALIAS win-capture)
find_package(Jansson 2.5 REQUIRED) find_package(Jansson 2.5 REQUIRED)
if(NOT TARGET OBS::ipc-util)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util")
endif()
if(NOT TARGET OBS::file-updater)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater")
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compat-config.h.in ${CMAKE_BINARY_DIR}/config/compat-config.h) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compat-config.h.in ${CMAKE_BINARY_DIR}/config/compat-config.h)
target_sources( target_sources(

View file

@ -4,7 +4,7 @@ find_package(Detours REQUIRED)
find_package(Vulkan REQUIRED) find_package(Vulkan REQUIRED)
if(NOT TARGET OBS::ipc-util) if(NOT TARGET OBS::ipc-util)
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/ipc-util" "${CMAKE_BINARY_DIR}/deps/ipc-util") add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util")
endif() endif()
if(NOT TARGET OBS::obfuscate) if(NOT TARGET OBS::obfuscate)

View file

@ -6,6 +6,10 @@ find_package(Vulkan REQUIRED)
add_library(graphics-hook MODULE) add_library(graphics-hook MODULE)
add_library(OBS::graphics-hook ALIAS graphics-hook) add_library(OBS::graphics-hook ALIAS graphics-hook)
if(NOT TARGET OBS::ipc-util)
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util")
endif()
target_sources( target_sources(
graphics-hook graphics-hook
PRIVATE graphics-hook.c PRIVATE graphics-hook.c

Some files were not shown because too many files have changed in this diff Show more