- I seem to have fixed ths issues with the main preview widget. It seems you just need to set the right window attributes to stop it from breaking. Though when opengl is enabled, there appears to be a weird background glitch in the Qt stuff -- I'm not entirely sure what's going on. Bug in Qt? Also fixed the layout issues, and the widget now properly resizes and centers in to its parent widget. - Prevent the render loop from accessing data if the data isn't valid. Because obs->data is freed before the graphics stuff, it can cause the graphics to keep trying to query the obs->data.displays_mutex after it had already been destroyed.
544 lines
16 KiB
XML
544 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<author>Jim</author>
|
|
<class>OBSBasic</class>
|
|
<widget class="QMainWindow" name="OBSBasic">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>927</width>
|
|
<height>700</height>
|
|
</rect>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>MainWindow</string>
|
|
</property>
|
|
<widget class="QWidget" name="centralwidget">
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<item>
|
|
<widget class="QWidget" name="previewContainer" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
<widget class="OBSQTDisplay" name="preview" native="true">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>50</x>
|
|
<y>30</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
<item alignment="Qt::AlignHCenter|Qt::AlignVCenter">
|
|
<widget class="QWidget" name="widget" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>620</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>16777215</width>
|
|
<height>154</height>
|
|
</size>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<item>
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>Scenes</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QFrame" name="frame_2">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Sunken</enum>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
<property name="spacing">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QListWidget" name="scenes">
|
|
<property name="enabled">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Ignored" vsizetype="Expanding">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="frameShape">
|
|
<enum>QFrame::NoFrame</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Plain</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolBar" name="toolBar">
|
|
<property name="iconSize">
|
|
<size>
|
|
<width>16</width>
|
|
<height>16</height>
|
|
</size>
|
|
</property>
|
|
<property name="floatable">
|
|
<bool>false</bool>
|
|
</property>
|
|
<addaction name="actionAddScene"/>
|
|
<addaction name="actionRemoveScene"/>
|
|
<addaction name="actionSceneProperties"/>
|
|
<addaction name="separator"/>
|
|
<addaction name="actionSceneMoveUp"/>
|
|
<addaction name="actionSceneMoveDown"/>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
|
<item>
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>Sources</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QFrame" name="frame_3">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Sunken</enum>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
<property name="spacing">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QListWidget" name="sources">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Ignored" vsizetype="Expanding">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="frameShape">
|
|
<enum>QFrame::NoFrame</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolBar" name="toolBar_2">
|
|
<property name="iconSize">
|
|
<size>
|
|
<width>16</width>
|
|
<height>16</height>
|
|
</size>
|
|
</property>
|
|
<property name="floatable">
|
|
<bool>false</bool>
|
|
</property>
|
|
<addaction name="actionAddSource"/>
|
|
<addaction name="actionRemoveSource"/>
|
|
<addaction name="actionSourceProperties"/>
|
|
<addaction name="separator"/>
|
|
<addaction name="actionSourceMoveUp"/>
|
|
<addaction name="actionSourceMoveDown"/>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QVBoxLayout" name="verticalLayout_9">
|
|
<item>
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>Volume</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QScrollArea" name="scrollArea">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Ignored" vsizetype="Expanding">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="widgetResizable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<widget class="QWidget" name="volumeWidgets">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>147</width>
|
|
<height>131</height>
|
|
</rect>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
|
<property name="spacing">
|
|
<number>6</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>2</number>
|
|
</property>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item alignment="Qt::AlignTop">
|
|
<widget class="QWidget" name="widget_2" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_10">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QPushButton" name="streamButton">
|
|
<property name="text">
|
|
<string>Start Streaming</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="recordButton">
|
|
<property name="text">
|
|
<string>Start Recording</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="settingsButton">
|
|
<property name="text">
|
|
<string>Settings</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="exitButton">
|
|
<property name="text">
|
|
<string>Exit</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QMenuBar" name="menubar">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>927</width>
|
|
<height>24</height>
|
|
</rect>
|
|
</property>
|
|
<widget class="QMenu" name="menu_File">
|
|
<property name="title">
|
|
<string>&File</string>
|
|
</property>
|
|
<addaction name="action_New"/>
|
|
<addaction name="action_Open"/>
|
|
<addaction name="action_Save"/>
|
|
<addaction name="separator"/>
|
|
<addaction name="actionE_xit"/>
|
|
</widget>
|
|
<addaction name="menu_File"/>
|
|
</widget>
|
|
<widget class="QStatusBar" name="statusbar"/>
|
|
<action name="actionAddScene">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/add.ico</normaloff>:/res/images/add.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>AddScene</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionAddSource">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/add.ico</normaloff>:/res/images/add.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>AddSource</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionRemoveScene">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/list_remove.png</normaloff>:/res/images/list_remove.png</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>RemoveScene</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionRemoveSource">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/list_remove.png</normaloff>:/res/images/list_remove.png</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>RemoveSource</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionSceneProperties">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/properties.ico</normaloff>:/res/images/properties.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>SceneProperties</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionSourceProperties">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/properties.ico</normaloff>:/res/images/properties.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>SourceProperties</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionSceneMoveUp">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/up.ico</normaloff>:/res/images/up.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>SceneMoveUp</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionSourceMoveUp">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/up.ico</normaloff>:/res/images/up.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>SourceMoveUp</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionSceneMoveDown">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/down.ico</normaloff>:/res/images/down.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>SceneMoveDown</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionSourceMoveDown">
|
|
<property name="icon">
|
|
<iconset resource="obs.qrc">
|
|
<normaloff>:/res/images/down.ico</normaloff>:/res/images/down.ico</iconset>
|
|
</property>
|
|
<property name="text">
|
|
<string>SourceMoveDown</string>
|
|
</property>
|
|
</action>
|
|
<action name="action_New">
|
|
<property name="text">
|
|
<string>&New</string>
|
|
</property>
|
|
</action>
|
|
<action name="action_Open">
|
|
<property name="text">
|
|
<string>&Open</string>
|
|
</property>
|
|
</action>
|
|
<action name="action_Save">
|
|
<property name="text">
|
|
<string>&Save</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionE_xit">
|
|
<property name="text">
|
|
<string>E&xit</string>
|
|
</property>
|
|
</action>
|
|
</widget>
|
|
<customwidgets>
|
|
<customwidget>
|
|
<class>OBSQTDisplay</class>
|
|
<extends>QWidget</extends>
|
|
<header>qt-display.hpp</header>
|
|
<container>1</container>
|
|
</customwidget>
|
|
</customwidgets>
|
|
<resources>
|
|
<include location="obs.qrc"/>
|
|
</resources>
|
|
<connections>
|
|
<connection>
|
|
<sender>actionE_xit</sender>
|
|
<signal>triggered()</signal>
|
|
<receiver>OBSBasic</receiver>
|
|
<slot>close()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>-1</x>
|
|
<y>-1</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>463</x>
|
|
<y>351</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>exitButton</sender>
|
|
<signal>clicked()</signal>
|
|
<receiver>OBSBasic</receiver>
|
|
<slot>close()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>697</x>
|
|
<y>615</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>463</x>
|
|
<y>351</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
</connections>
|
|
</ui>
|