diff --git a/.gitignore b/.gitignore
index 4df8687f4..ba28b2391 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,8 @@ Release/
Debug/
x64/
ipch/
+GeneratedFiles/
+.moc/
*/bin/obs
*/bin/test
@@ -39,6 +41,11 @@ compile
libtool
ltmain.sh
+*.dmg
+*.json
+*.app
+.DS_Store
+
.depend
tags
*.trace
@@ -58,6 +65,7 @@ tags
*.ncb
*.user
*.lo
+*.ilk
*.la
*.o
*.obj
diff --git a/obs/forms/NameDialog.ui b/obs/forms/NameDialog.ui
new file mode 100644
index 000000000..ffb6e8dfb
--- /dev/null
+++ b/obs/forms/NameDialog.ui
@@ -0,0 +1,105 @@
+
+
+ NameDialog
+
+
+
+ 0
+ 0
+ 555
+ 104
+
+
+
+
+ 0
+ 0
+
+
+
+ Dialog
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ TextLabel
+
+
+
+ -
+
+
+
-
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+ true
+
+
+
+
+
+
+
+
+ buttonBox
+ accepted()
+ NameDialog
+ accept()
+
+
+ 257
+ 94
+
+
+ 157
+ 274
+
+
+
+
+ buttonBox
+ rejected()
+ NameDialog
+ reject()
+
+
+ 325
+ 94
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/obs/forms/OBSBasic.ui b/obs/forms/OBSBasic.ui
new file mode 100644
index 000000000..550f84698
--- /dev/null
+++ b/obs/forms/OBSBasic.ui
@@ -0,0 +1,533 @@
+
+
+ Jim
+ OBSBasic
+
+
+
+ 0
+ 0
+ 927
+ 703
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ MainWindow
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 32
+ 32
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 620
+ 0
+
+
+
+
+ 16777215
+ 154
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
-
+
+
+ Scenes
+
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Sunken
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+
+ -
+
+
+
+ 16
+ 16
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Sources
+
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Sunken
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ QFrame::NoFrame
+
+
+
+ -
+
+
+
+ 16
+ 16
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Volume
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 147
+ 131
+
+
+
+
+ 6
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Start Streaming
+
+
+ false
+
+
+
+ -
+
+
+ Start Recording
+
+
+
+ -
+
+
+ Settings
+
+
+
+ -
+
+
+ Exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ :/res/images/add.ico:/res/images/add.ico
+
+
+ AddScene
+
+
+
+
+
+ :/res/images/add.ico:/res/images/add.ico
+
+
+ AddSource
+
+
+
+
+
+ :/res/images/list_remove.png:/res/images/list_remove.png
+
+
+ RemoveScene
+
+
+
+
+
+ :/res/images/list_remove.png:/res/images/list_remove.png
+
+
+ RemoveSource
+
+
+
+
+
+ :/res/images/properties.ico:/res/images/properties.ico
+
+
+ SceneProperties
+
+
+
+
+
+ :/res/images/properties.ico:/res/images/properties.ico
+
+
+ SourceProperties
+
+
+
+
+
+ :/res/images/up.ico:/res/images/up.ico
+
+
+ SceneMoveUp
+
+
+
+
+
+ :/res/images/up.ico:/res/images/up.ico
+
+
+ SourceMoveUp
+
+
+
+
+
+ :/res/images/down.ico:/res/images/down.ico
+
+
+ SceneMoveDown
+
+
+
+
+
+ :/res/images/down.ico:/res/images/down.ico
+
+
+ SourceMoveDown
+
+
+
+
+ &New
+
+
+
+
+ &Open
+
+
+
+
+ &Save
+
+
+
+
+ E&xit
+
+
+
+
+
+ OBSQTDisplay
+ QWidget
+
+ 1
+
+
+
+
+
+
+
+ actionE_xit
+ triggered()
+ OBSBasic
+ close()
+
+
+ -1
+ -1
+
+
+ 463
+ 351
+
+
+
+
+ exitButton
+ clicked()
+ OBSBasic
+ close()
+
+
+ 697
+ 615
+
+
+ 463
+ 351
+
+
+
+
+
diff --git a/obs/forms/OBSBasicSettings.ui b/obs/forms/OBSBasicSettings.ui
new file mode 100644
index 000000000..6cb512c65
--- /dev/null
+++ b/obs/forms/OBSBasicSettings.ui
@@ -0,0 +1,451 @@
+
+
+ OBSBasicSettings
+
+
+
+ 0
+ 0
+ 752
+ 602
+
+
+
+ Settings
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 135
+ 16777215
+
+
+
+
+ 48
+ 48
+
+
+
-
+
+ General
+
+
+
+ :/settings/images/settings/system-settings-3.png:/settings/images/settings/system-settings-3.png
+
+
+ -
+
+ Outputs
+
+
+
+ :/settings/images/settings/network-bluetooth.png:/settings/images/settings/network-bluetooth.png
+
+
+ -
+
+ Audio
+
+
+
+ :/settings/images/settings/decibel_audio_player.png:/settings/images/settings/decibel_audio_player.png
+
+
+ -
+
+ Video
+
+
+
+ :/settings/images/settings/video-display-3.png:/settings/images/settings/video-display-3.png
+
+
+
+
+ -
+
+
+ 3
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
-
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
+ -
+
+
+
+ 150
+ 0
+
+
+
+ Language:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+
+ 170
+ 0
+
+
+
+ Desktop Audio Device 1:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Desktop Audio Device 2:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+ Aux Audio Device 1:
+
+
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+ Aux Audio Device 2:
+
+
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+ Aux Audio Device 3:
+
+
+
+ -
+
+
+ false
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+ -
+
+
+ Renderer:
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+ 170
+ 0
+
+
+
+ Video Adapter:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ Base Resolution:
+
+
+
+ -
+
+
+ true
+
+
+
+
+
+ false
+
+
+ true
+
+
+
+ -
+
+
+ Output Resolution:
+
+
+
+ -
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+ Downscale Filter:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Common FPS
+
+
+ QComboBox::AdjustToContents
+
+
-
+
+ Common FPS
+
+
+ -
+
+ Fractional FPS (Advanced)
+
+
+
+
+ -
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ -
+
+
+ -
+
+
+ Numerator:
+
+
+
+ -
+
+
+ Denomniator:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
+
+
+ listWidget
+ buttonBox
+ language
+
+
+
+
+
+
+ listWidget
+ currentRowChanged(int)
+ settingsPages
+ setCurrentIndex(int)
+
+
+ 75
+ 35
+
+
+ 199
+ 50
+
+
+
+
+ comboBox_6
+ currentIndexChanged(int)
+ stackedWidget
+ setCurrentIndex(int)
+
+
+ 286
+ 155
+
+
+ 340
+ 154
+
+
+
+
+
diff --git a/obs/forms/OBSWindows.cpp b/obs/forms/OBSWindows.cpp
deleted file mode 100644
index 040520c89..000000000
--- a/obs/forms/OBSWindows.cpp
+++ /dev/null
@@ -1,854 +0,0 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 6 2013)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#include "OBSWindows.h"
-
-#include "res/delete.ico.h"
-#include "res/down.ico.h"
-#include "res/list_add.png.h"
-#include "res/properties.ico.h"
-#include "res/up.ico.h"
-
-///////////////////////////////////////////////////////////////////////////
-
-OBSBasicBase::OBSBasicBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : WindowSubclass( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-
- mainMenu = new wxMenuBar( 0 );
- fileMenu = new wxMenu();
- wxMenuItem* fileNewMenu;
- fileNewMenu = new wxMenuItem( fileMenu, ID_FILE_NEW, wxString( _("MainMenu.File.New") ) , wxEmptyString, wxITEM_NORMAL );
- fileMenu->Append( fileNewMenu );
-
- wxMenuItem* fileOpenMenu;
- fileOpenMenu = new wxMenuItem( fileMenu, IF_FILE_OPEN, wxString( _("MainMenu.File.Open") ) , wxEmptyString, wxITEM_NORMAL );
- fileMenu->Append( fileOpenMenu );
-
- wxMenuItem* fileSaveMenu;
- fileSaveMenu = new wxMenuItem( fileMenu, IF_FILE_SAVE, wxString( _("MainMenu.File.Save") ) , wxEmptyString, wxITEM_NORMAL );
- fileMenu->Append( fileSaveMenu );
-
- fileMenu->AppendSeparator();
-
- wxMenuItem* fileExitMenu;
- fileExitMenu = new wxMenuItem( fileMenu, ID_FILE_EXIT, wxString( _("MainWindow.Exit") ) , wxEmptyString, wxITEM_NORMAL );
- fileMenu->Append( fileExitMenu );
-
- mainMenu->Append( fileMenu, _("MainMenu.File") );
-
- this->SetMenuBar( mainMenu );
-
- wxBoxSizer* mainContainer;
- mainContainer = new wxBoxSizer( wxVERTICAL );
-
- mainPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* panelContainer;
- panelContainer = new wxBoxSizer( wxVERTICAL );
-
- previewContainer = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* previewVertical;
- previewVertical = new wxBoxSizer( wxVERTICAL );
-
- previewPanel = new wxPanel( mainPanel, ID_PROGRAM, wxDefaultPosition, wxSize( -1,-1 ), wxTAB_TRAVERSAL );
- previewPanel->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_APPWORKSPACE ) );
-
- previewVertical->Add( previewPanel, 0, wxALIGN_CENTER|wxALL, 5 );
-
-
- previewContainer->Add( previewVertical, 1, wxALIGN_CENTER, 5 );
-
-
- panelContainer->Add( previewContainer, 1, wxEXPAND, 5 );
-
- wxBoxSizer* bottomContainer;
- bottomContainer = new wxBoxSizer( wxVERTICAL );
-
- bottomContainer->SetMinSize( wxSize( -1,155 ) );
- wxFlexGridSizer* fgSizer5;
- fgSizer5 = new wxFlexGridSizer( 0, 4, 0, 0 );
- fgSizer5->AddGrowableRow( 1 );
- fgSizer5->SetFlexibleDirection( wxVERTICAL );
- fgSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- scenesLabel = new wxStaticText( mainPanel, wxID_ANY, _("MainWindow.Scenes"), wxDefaultPosition, wxDefaultSize, 0 );
- scenesLabel->Wrap( -1 );
- fgSizer5->Add( scenesLabel, 0, wxALL|wxEXPAND, 2 );
-
- sourcesLabel = new wxStaticText( mainPanel, wxID_ANY, _("MainWindow.Sources"), wxDefaultPosition, wxDefaultSize, 0 );
- sourcesLabel->Wrap( -1 );
- fgSizer5->Add( sourcesLabel, 0, wxALL|wxEXPAND, 2 );
-
- sourcesLabel1 = new wxStaticText( mainPanel, wxID_ANY, _("MainWindow.Volume"), wxDefaultPosition, wxDefaultSize, 0 );
- sourcesLabel1->Wrap( -1 );
- fgSizer5->Add( sourcesLabel1, 0, wxALL|wxEXPAND, 2 );
-
-
- fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
-
- scenesPanel = new wxPanel( mainPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER );
- wxBoxSizer* bSizer16;
- bSizer16 = new wxBoxSizer( wxVERTICAL );
-
- scenes = new wxListBox( scenesPanel, ID_SCENES, wxDefaultPosition, wxDefaultSize, 0, NULL, 0|wxNO_BORDER );
- bSizer16->Add( scenes, 1, wxEXPAND, 0 );
-
- scenesToolbar = new wxToolBar( scenesPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL );
- scenesToolbar->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- scenesToolbar->AddTool( ID_SCENE_ADD, _("tool"), list_add_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- scenesToolbar->AddTool( ID_SCENE_DELETE, _("tool"), delete_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- scenesToolbar->AddTool( ID_SCENE_PROPERTIES, _("tool"), properties_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- scenesToolbar->AddSeparator();
-
- scenesToolbar->AddTool( ID_SCENE_MOVEUP, _("tool"), up_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- scenesToolbar->AddTool( ID_SCENE_MOVEDOWN, _("tool"), down_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- scenesToolbar->Realize();
-
- bSizer16->Add( scenesToolbar, 0, wxEXPAND, 5 );
-
-
- scenesPanel->SetSizer( bSizer16 );
- scenesPanel->Layout();
- bSizer16->Fit( scenesPanel );
- fgSizer5->Add( scenesPanel, 1, wxEXPAND | wxALL, 2 );
-
- sourcesPanel = new wxPanel( mainPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER );
- wxBoxSizer* bSizer17;
- bSizer17 = new wxBoxSizer( wxVERTICAL );
-
- wxArrayString sourcesChoices;
- sources = new wxCheckListBox( sourcesPanel, ID_SOURCES, wxDefaultPosition, wxDefaultSize, sourcesChoices, 0|wxNO_BORDER );
- bSizer17->Add( sources, 1, wxEXPAND, 0 );
-
- sourcesToolbar = new wxToolBar( sourcesPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL );
- sourcesToolbar->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- sourcesToolbar->AddTool( ID_SOURCE_ADD, _("tool"), list_add_png_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- sourcesToolbar->AddTool( ID_SOURCE_DELETE, _("tool"), delete_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- sourcesToolbar->AddTool( ID_SOURCE_PROPERTIES, _("tool"), properties_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- sourcesToolbar->AddSeparator();
-
- sourcesToolbar->AddTool( ID_SOURCE_MOVEUP, _("tool"), up_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- sourcesToolbar->AddTool( ID_SOURCE_MOVEDOWN, _("tool"), down_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL );
-
- sourcesToolbar->Realize();
-
- bSizer17->Add( sourcesToolbar, 0, wxEXPAND, 5 );
-
-
- sourcesPanel->SetSizer( bSizer17 );
- sourcesPanel->Layout();
- bSizer17->Fit( sourcesPanel );
- fgSizer5->Add( sourcesPanel, 1, wxEXPAND | wxALL, 2 );
-
- m_scrolledWindow1 = new wxScrolledWindow( mainPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxSIMPLE_BORDER|wxVSCROLL );
- m_scrolledWindow1->SetScrollRate( 5, 5 );
- wxBoxSizer* bSizer44;
- bSizer44 = new wxBoxSizer( wxVERTICAL );
-
-
- m_scrolledWindow1->SetSizer( bSizer44 );
- m_scrolledWindow1->Layout();
- bSizer44->Fit( m_scrolledWindow1 );
- fgSizer5->Add( m_scrolledWindow1, 1, wxEXPAND|wxALL, 2 );
-
- wxBoxSizer* rightButtonsContainer;
- rightButtonsContainer = new wxBoxSizer( wxVERTICAL );
-
- toggleStreamButton = new wxButton( mainPanel, ID_STARTSTREAM, _("MainWindow.StartStream"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- rightButtonsContainer->Add( toggleStreamButton, 0, wxALL|wxEXPAND, 2 );
-
- ToggleRecordButton = new wxButton( mainPanel, ID_RECORD, _("MainWindow.StartRecording"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- rightButtonsContainer->Add( ToggleRecordButton, 0, wxALL|wxEXPAND, 2 );
-
- settingsButton = new wxButton( mainPanel, ID_SETTINGS, _("MainWindow.Settings"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- rightButtonsContainer->Add( settingsButton, 0, wxALL|wxEXPAND, 2 );
-
- exitButton = new wxButton( mainPanel, ID_EXIT, _("MainWindow.Exit"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- rightButtonsContainer->Add( exitButton, 0, wxALL|wxEXPAND, 2 );
-
-
- fgSizer5->Add( rightButtonsContainer, 1, wxEXPAND, 5 );
-
-
- bottomContainer->Add( fgSizer5, 1, wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- panelContainer->Add( bottomContainer, 0, wxEXPAND, 5 );
-
-
- mainPanel->SetSizer( panelContainer );
- mainPanel->Layout();
- panelContainer->Fit( mainPanel );
- mainContainer->Add( mainPanel, 1, wxEXPAND | wxALL, 0 );
-
-
- this->SetSizer( mainContainer );
- this->Layout();
- statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( OBSBasicBase::OnClose ) );
- this->Connect( wxEVT_ICONIZE, wxIconizeEventHandler( OBSBasicBase::OnMinimize ) );
- this->Connect( wxEVT_SIZE, wxSizeEventHandler( OBSBasicBase::OnSize ) );
- this->Connect( fileNewMenu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileNewClicked ) );
- this->Connect( fileOpenMenu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileOpenClicked ) );
- this->Connect( fileSaveMenu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileSaveClicked ) );
- this->Connect( fileExitMenu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileExitClicked ) );
- previewPanel->Connect( wxEVT_SIZE, wxSizeEventHandler( OBSBasicBase::OnResizePreview ), NULL, this );
- scenes->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::scenesClicked ), NULL, this );
- scenes->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::scenesRDown ), NULL, this );
- this->Connect( ID_SCENE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneAddClicked ) );
- this->Connect( ID_SCENE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneRemoveClicked ) );
- this->Connect( ID_SCENE_PROPERTIES, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::scenePropertiesClicked ) );
- this->Connect( ID_SCENE_MOVEUP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneUpClicked ) );
- this->Connect( ID_SCENE_MOVEDOWN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneDownClicked ) );
- sources->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::sourcesClicked ), NULL, this );
- sources->Connect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( OBSBasicBase::sourcesToggled ), NULL, this );
- sources->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::sourcesRDown ), NULL, this );
- this->Connect( ID_SOURCE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceAddClicked ) );
- this->Connect( ID_SOURCE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceRemoveClicked ) );
- this->Connect( ID_SOURCE_PROPERTIES, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourcePropertiesClicked ) );
- this->Connect( ID_SOURCE_MOVEUP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceUpClicked ) );
- this->Connect( ID_SOURCE_MOVEDOWN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceDownClicked ) );
- toggleStreamButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::toggleStreamClicked ), NULL, this );
- ToggleRecordButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::toggleRecordClicked ), NULL, this );
- settingsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::settingsClicked ), NULL, this );
- exitButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::exitClicked ), NULL, this );
-}
-
-OBSBasicBase::~OBSBasicBase()
-{
- // Disconnect Events
- this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( OBSBasicBase::OnClose ) );
- this->Disconnect( wxEVT_ICONIZE, wxIconizeEventHandler( OBSBasicBase::OnMinimize ) );
- this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( OBSBasicBase::OnSize ) );
- this->Disconnect( ID_FILE_NEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileNewClicked ) );
- this->Disconnect( IF_FILE_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileOpenClicked ) );
- this->Disconnect( IF_FILE_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileSaveClicked ) );
- this->Disconnect( ID_FILE_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( OBSBasicBase::fileExitClicked ) );
- previewPanel->Disconnect( wxEVT_SIZE, wxSizeEventHandler( OBSBasicBase::OnResizePreview ), NULL, this );
- scenes->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::scenesClicked ), NULL, this );
- scenes->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::scenesRDown ), NULL, this );
- this->Disconnect( ID_SCENE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneAddClicked ) );
- this->Disconnect( ID_SCENE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneRemoveClicked ) );
- this->Disconnect( ID_SCENE_PROPERTIES, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::scenePropertiesClicked ) );
- this->Disconnect( ID_SCENE_MOVEUP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneUpClicked ) );
- this->Disconnect( ID_SCENE_MOVEDOWN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sceneDownClicked ) );
- sources->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( OBSBasicBase::sourcesClicked ), NULL, this );
- sources->Disconnect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( OBSBasicBase::sourcesToggled ), NULL, this );
- sources->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( OBSBasicBase::sourcesRDown ), NULL, this );
- this->Disconnect( ID_SOURCE_ADD, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceAddClicked ) );
- this->Disconnect( ID_SOURCE_DELETE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceRemoveClicked ) );
- this->Disconnect( ID_SOURCE_PROPERTIES, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourcePropertiesClicked ) );
- this->Disconnect( ID_SOURCE_MOVEUP, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceUpClicked ) );
- this->Disconnect( ID_SOURCE_MOVEDOWN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( OBSBasicBase::sourceDownClicked ) );
- toggleStreamButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::toggleStreamClicked ), NULL, this );
- ToggleRecordButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::toggleRecordClicked ), NULL, this );
- settingsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::settingsClicked ), NULL, this );
- exitButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicBase::exitClicked ), NULL, this );
-
-}
-
-OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : WindowSubclass( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxSize( 900,400 ), wxDefaultSize );
-
- wxBoxSizer* windowSizer;
- windowSizer = new wxBoxSizer( wxVERTICAL );
-
- mainPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* clientSizer;
- clientSizer = new wxBoxSizer( wxHORIZONTAL );
-
- leftSizer = new wxBoxSizer( wxVERTICAL );
-
-
- clientSizer->Add( leftSizer, 0, wxEXPAND, 5 );
-
- wxBoxSizer* centerSizer;
- centerSizer = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* topSizer;
- topSizer = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer5;
- bSizer5 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer8;
- bSizer8 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer33;
- bSizer33 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer191;
- bSizer191 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText6 = new wxStaticText( mainPanel, wxID_ANY, _("MainWindow.Preview"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText6->Wrap( -1 );
- bSizer191->Add( m_staticText6, 0, wxALL, 3 );
-
- m_panel2 = new wxPanel( mainPanel, wxID_ANY, wxDefaultPosition, wxSize( 480,270 ), wxTAB_TRAVERSAL );
- m_panel2->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_APPWORKSPACE ) );
-
- bSizer191->Add( m_panel2, 0, wxALIGN_CENTER|wxALL, 3 );
-
-
- bSizer33->Add( bSizer191, 0, wxALIGN_CENTER, 0 );
-
-
- bSizer8->Add( bSizer33, 0, wxALIGN_CENTER|wxEXPAND, 5 );
-
-
- bSizer5->Add( bSizer8, 1, wxALIGN_CENTER, 5 );
-
-
- topSizer->Add( bSizer5, 1, wxEXPAND, 5 );
-
- transitionSizer = new wxBoxSizer( wxVERTICAL );
-
- m_button7 = new wxButton( mainPanel, wxID_ANY, _("MainWindow.Cut"), wxDefaultPosition, wxDefaultSize, 0 );
- transitionSizer->Add( m_button7, 0, wxALL, 5 );
-
-
- topSizer->Add( transitionSizer, 0, wxALIGN_CENTER, 5 );
-
- wxBoxSizer* bSizer6;
- bSizer6 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer13;
- bSizer13 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer34;
- bSizer34 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer201;
- bSizer201 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText7 = new wxStaticText( mainPanel, wxID_ANY, _("MainWindow.Program"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText7->Wrap( -1 );
- bSizer201->Add( m_staticText7, 0, wxALL, 3 );
-
- m_panel3 = new wxPanel( mainPanel, wxID_ANY, wxDefaultPosition, wxSize( 480,270 ), wxTAB_TRAVERSAL );
- m_panel3->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_APPWORKSPACE ) );
-
- bSizer201->Add( m_panel3, 0, wxALIGN_CENTER|wxALL, 3 );
-
-
- bSizer34->Add( bSizer201, 0, wxALIGN_CENTER, 0 );
-
-
- bSizer13->Add( bSizer34, 0, wxALIGN_CENTER|wxEXPAND, 5 );
-
-
- bSizer6->Add( bSizer13, 1, wxALIGN_CENTER, 5 );
-
-
- topSizer->Add( bSizer6, 1, wxEXPAND, 5 );
-
-
- centerSizer->Add( topSizer, 1, wxEXPAND, 5 );
-
- bottomSizer = new wxBoxSizer( wxVERTICAL );
-
-
- centerSizer->Add( bottomSizer, 0, wxEXPAND, 5 );
-
-
- clientSizer->Add( centerSizer, 1, wxEXPAND, 5 );
-
- rightSizer = new wxBoxSizer( wxVERTICAL );
-
-
- clientSizer->Add( rightSizer, 0, wxEXPAND, 5 );
-
-
- mainPanel->SetSizer( clientSizer );
- mainPanel->Layout();
- clientSizer->Fit( mainPanel );
- windowSizer->Add( mainPanel, 1, wxEXPAND, 0 );
-
-
- this->SetSizer( windowSizer );
- this->Layout();
- m_menubar1 = new wxMenuBar( 0 );
- m_menu1 = new wxMenu();
- wxMenuItem* m_menuItem1;
- m_menuItem1 = new wxMenuItem( m_menu1, wxID_ANY, wxString( _("MyMenuItem") ) , wxEmptyString, wxITEM_NORMAL );
- m_menu1->Append( m_menuItem1 );
-
- m_menubar1->Append( m_menu1, _("MainMenu.File") );
-
- this->SetMenuBar( m_menubar1 );
-
- m_statusBar1 = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
-
- this->Centre( wxBOTH );
-}
-
-OBSStudioBase::~OBSStudioBase()
-{
-}
-
-OBSBasicSettingsBase::OBSBasicSettingsBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DialogSubclass( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-
- wxBoxSizer* bSizer30;
- bSizer30 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer31;
- bSizer31 = new wxBoxSizer( wxVERTICAL );
-
- settingsList = new wxListbook( this, ID_SETTINGS_LIST, wxDefaultPosition, wxDefaultSize, wxLB_DEFAULT );
- generalPanel = new wxPanel( settingsList, ID_SETTINGS_GENERAL, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer32;
- bSizer32 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer32->Add( 0, 20, 0, wxEXPAND, 5 );
-
- wxFlexGridSizer* fgSizer13;
- fgSizer13 = new wxFlexGridSizer( 0, 2, 0, 0 );
- fgSizer13->SetFlexibleDirection( wxBOTH );
- fgSizer13->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_staticText27 = new wxStaticText( generalPanel, wxID_ANY, _("Settings.General.Language"), wxDefaultPosition, wxSize( 270,-1 ), wxALIGN_RIGHT );
- m_staticText27->Wrap( -1 );
- fgSizer13->Add( m_staticText27, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- languageList = new wxComboBox( generalPanel, ID_LANGUAGE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- fgSizer13->Add( languageList, 0, wxALL, 2 );
-
-
- bSizer32->Add( fgSizer13, 0, wxEXPAND, 5 );
-
-
- bSizer32->Add( 0, 20, 0, wxEXPAND, 5 );
-
- generalChangedText = new wxStaticText( generalPanel, wxID_ANY, _("Settings.RestartProgram"), wxDefaultPosition, wxDefaultSize, 0 );
- generalChangedText->Wrap( -1 );
- bSizer32->Add( generalChangedText, 1, wxALL|wxEXPAND, 5 );
-
-
- generalPanel->SetSizer( bSizer32 );
- generalPanel->Layout();
- bSizer32->Fit( generalPanel );
- settingsList->AddPage( generalPanel, _("Settings.General"), true );
- outputsPanel = new wxPanel( settingsList, ID_SETTINGS_OUTPUTS, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer33;
- bSizer33 = new wxBoxSizer( wxVERTICAL );
-
-
- outputsPanel->SetSizer( bSizer33 );
- outputsPanel->Layout();
- bSizer33->Fit( outputsPanel );
- settingsList->AddPage( outputsPanel, _("Settings.Outputs"), false );
- videoPanel = new wxPanel( settingsList, ID_SETTINGS_VIDEO, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer34;
- bSizer34 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer34->Add( 0, 20, 0, wxEXPAND, 5 );
-
- wxFlexGridSizer* fgSizer1;
- fgSizer1 = new wxFlexGridSizer( 0, 2, 2, 0 );
- fgSizer1->SetFlexibleDirection( wxBOTH );
- fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_staticText211 = new wxStaticText( videoPanel, wxID_ANY, _("Settings.Video.Renderer"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText211->Wrap( -1 );
- fgSizer1->Add( m_staticText211, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- rendererList = new wxComboBox( videoPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- fgSizer1->Add( rendererList, 0, wxALL, 2 );
-
- m_staticText6 = new wxStaticText( videoPanel, wxID_ANY, _("Settings.Video.Adapter"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticText6->Wrap( -1 );
- m_staticText6->SetMinSize( wxSize( 270,-1 ) );
-
- fgSizer1->Add( m_staticText6, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- videoAdapterList = new wxComboBox( videoPanel, ID_ADAPTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- videoAdapterList->Enable( false );
-
- fgSizer1->Add( videoAdapterList, 0, wxALL, 2 );
-
- m_staticText8 = new wxStaticText( videoPanel, wxID_ANY, _("Settings.Video.BaseRes"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticText8->Wrap( -1 );
- fgSizer1->Add( m_staticText8, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- baseResList = new wxComboBox( videoPanel, ID_BASE_RES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- fgSizer1->Add( baseResList, 0, wxALL, 2 );
-
- m_staticText10 = new wxStaticText( videoPanel, wxID_ANY, _("Settings.Video.OutputRes"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticText10->Wrap( -1 );
- fgSizer1->Add( m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- outputResList = new wxComboBox( videoPanel, ID_DOWNSCALE_RES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- fgSizer1->Add( outputResList, 0, wxALL, 2 );
-
- m_staticText11 = new wxStaticText( videoPanel, wxID_ANY, _("Settings.Video.DownscaleFilter"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticText11->Wrap( -1 );
- fgSizer1->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- filterList = new wxComboBox( videoPanel, ID_DOWNSCALE_FILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- filterList->Enable( false );
-
- fgSizer1->Add( filterList, 0, wxALL, 2 );
-
-
- fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
-
- disableAeroCheckbox = new wxCheckBox( videoPanel, ID_DISABLEAERO, _("Settings.DisableAeroWindows"), wxDefaultPosition, wxDefaultSize, 0 );
- disableAeroCheckbox->Enable( false );
-
- fgSizer1->Add( disableAeroCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
-
- fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticline1 = new wxStaticLine( videoPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- fgSizer1->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
-
- m_staticText22 = new wxStaticText( videoPanel, wxID_ANY, _("Settings.Video.FPS"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText22->Wrap( -1 );
- fgSizer1->Add( m_staticText22, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- fpsTypeList = new wxChoicebook( videoPanel, ID_FPS_TYPE, wxDefaultPosition, wxDefaultSize, wxCHB_DEFAULT );
- m_panel13 = new wxPanel( fpsTypeList, ID_FPSPANEL_COMMON, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer45;
- bSizer45 = new wxBoxSizer( wxHORIZONTAL );
-
- fpsCommonList = new wxComboBox( m_panel13, ID_FPS_COMMON, _("30"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- fpsCommonList->Append( _("10") );
- fpsCommonList->Append( _("20") );
- fpsCommonList->Append( _("25") );
- fpsCommonList->Append( _("29.97") );
- fpsCommonList->Append( _("30") );
- fpsCommonList->Append( _("48") );
- fpsCommonList->Append( _("59.94") );
- fpsCommonList->Append( _("60") );
- fpsCommonList->SetSelection( 4 );
- bSizer45->Add( fpsCommonList, 0, wxTOP|wxBOTTOM|wxRIGHT, 2 );
-
-
- m_panel13->SetSizer( bSizer45 );
- m_panel13->Layout();
- bSizer45->Fit( m_panel13 );
- fpsTypeList->AddPage( m_panel13, _("Settings.Video.FPS.Common"), true );
- m_panel14 = new wxPanel( fpsTypeList, ID_FPSPANEL_INTEGER, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer46;
- bSizer46 = new wxBoxSizer( wxHORIZONTAL );
-
- fpsIntegerScroller = new wxSpinCtrl( m_panel14, ID_FPS_INTEGER, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 120, 30 );
- bSizer46->Add( fpsIntegerScroller, 0, wxTOP|wxBOTTOM|wxRIGHT, 2 );
-
-
- m_panel14->SetSizer( bSizer46 );
- m_panel14->Layout();
- bSizer46->Fit( m_panel14 );
- fpsTypeList->AddPage( m_panel14, _("Settings.Video.FPS.Integer"), false );
- m_panel15 = new wxPanel( fpsTypeList, ID_FPSPANEL_FRACTION, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxFlexGridSizer* fgSizer10;
- fgSizer10 = new wxFlexGridSizer( 0, 2, 0, 0 );
- fgSizer10->SetFlexibleDirection( wxBOTH );
- fgSizer10->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_staticText20 = new wxStaticText( m_panel15, wxID_ANY, _("Settings.Video.FPS.Numerator"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText20->Wrap( -1 );
- fgSizer10->Add( m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- fpsNumeratorScroller = new wxSpinCtrl( m_panel15, ID_FPS_NUMERATOR, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 1000000000, 30 );
- fgSizer10->Add( fpsNumeratorScroller, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 2 );
-
- m_staticText21 = new wxStaticText( m_panel15, wxID_ANY, _("Settings.Video.FPS.Denominator"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText21->Wrap( -1 );
- fgSizer10->Add( m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- fpsDenominatorScroller = new wxSpinCtrl( m_panel15, ID_FPS_DENOMINATOR, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 1000000000, 1 );
- fgSizer10->Add( fpsDenominatorScroller, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 2 );
-
-
- m_panel15->SetSizer( fgSizer10 );
- m_panel15->Layout();
- fgSizer10->Fit( m_panel15 );
- fpsTypeList->AddPage( m_panel15, _("Settings.Video.FPS.Fraction"), false );
- m_panel16 = new wxPanel( fpsTypeList, ID_FPSPANEL_NANOSECONDS, wxDefaultPosition, wxSize( -1,-1 ), wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer50;
- bSizer50 = new wxBoxSizer( wxHORIZONTAL );
-
- fpsNanosecondsScroller = new wxSpinCtrl( m_panel16, ID_FPS_NANOSECONDS, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 8333333, 1000000000, 33333333 );
- bSizer50->Add( fpsNanosecondsScroller, 0, wxTOP|wxBOTTOM|wxRIGHT, 2 );
-
-
- m_panel16->SetSizer( bSizer50 );
- m_panel16->Layout();
- bSizer50->Fit( m_panel16 );
- fpsTypeList->AddPage( m_panel16, _("Settings.Video.FPS.Nanoseconds"), false );
- fgSizer1->Add( fpsTypeList, 0, wxALL, 2 );
-
-
- bSizer34->Add( fgSizer1, 0, wxEXPAND, 5 );
-
-
- bSizer34->Add( 0, 20, 0, wxEXPAND, 5 );
-
- videoChangedText = new wxStaticText( videoPanel, wxID_ANY, _("Settings.StreamRestart"), wxDefaultPosition, wxDefaultSize, 0 );
- videoChangedText->Wrap( -1 );
- bSizer34->Add( videoChangedText, 1, wxALL|wxEXPAND, 5 );
-
-
- videoPanel->SetSizer( bSizer34 );
- videoPanel->Layout();
- bSizer34->Fit( videoPanel );
- settingsList->AddPage( videoPanel, _("Settings.Video"), false );
- audioPanel = new wxPanel( settingsList, ID_SETTINGS_AUDIO, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer36;
- bSizer36 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer36->Add( 0, 20, 0, wxEXPAND, 5 );
-
- wxFlexGridSizer* fgSizer11;
- fgSizer11 = new wxFlexGridSizer( 0, 2, 2, 0 );
- fgSizer11->SetFlexibleDirection( wxBOTH );
- fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_staticText23 = new wxStaticText( audioPanel, wxID_ANY, _("Settings.Audio.DesktopAudioDevice1"), wxDefaultPosition, wxSize( 270,-1 ), wxALIGN_RIGHT );
- m_staticText23->Wrap( -1 );
- fgSizer11->Add( m_staticText23, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- desktopAudioDeviceList1 = new wxComboBox( audioPanel, ID_DESKTOP_AUDIO_DEVICE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- desktopAudioDeviceList1->Enable( false );
-
- fgSizer11->Add( desktopAudioDeviceList1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- m_staticText231 = new wxStaticText( audioPanel, wxID_ANY, _("Settings.Audio.DesktopAudioDevice2"), wxDefaultPosition, wxSize( 270,-1 ), wxALIGN_RIGHT );
- m_staticText231->Wrap( -1 );
- fgSizer11->Add( m_staticText231, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- desktopAudioDeviceList2 = new wxComboBox( audioPanel, ID_DESKTOP_AUDIO_DEVICE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- desktopAudioDeviceList2->Enable( false );
-
- fgSizer11->Add( desktopAudioDeviceList2, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- m_staticText24 = new wxStaticText( audioPanel, wxID_ANY, _("Settings.Audio.AuxAudioDevice1"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticText24->Wrap( -1 );
- fgSizer11->Add( m_staticText24, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- auxAudioDeviceList1 = new wxComboBox( audioPanel, ID_AUX_AUDIO_DEVICE1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- auxAudioDeviceList1->Enable( false );
-
- fgSizer11->Add( auxAudioDeviceList1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- m_staticText241 = new wxStaticText( audioPanel, wxID_ANY, _("Settings.Audio.AuxAudioDevice2"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticText241->Wrap( -1 );
- fgSizer11->Add( m_staticText241, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- auxAudioDeviceList2 = new wxComboBox( audioPanel, ID_AUX_AUDIO_DEVICE2, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- auxAudioDeviceList2->Enable( false );
-
- fgSizer11->Add( auxAudioDeviceList2, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- m_staticText242 = new wxStaticText( audioPanel, wxID_ANY, _("Settings.Audio.AuxAudioDevice3"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticText242->Wrap( -1 );
- fgSizer11->Add( m_staticText242, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- auxAudioDeviceList3 = new wxComboBox( audioPanel, ID_AUX_AUDIO_DEVICE3, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- auxAudioDeviceList3->Enable( false );
-
- fgSizer11->Add( auxAudioDeviceList3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- m_staticText243 = new wxStaticText( audioPanel, wxID_ANY, _("Settings.Audio.AuxAudioDevice4"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticText243->Wrap( -1 );
- fgSizer11->Add( m_staticText243, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2 );
-
- auxAudioDeviceList4 = new wxComboBox( audioPanel, ID_AUX_AUDIO_DEVICE4, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- auxAudioDeviceList4->Enable( false );
-
- fgSizer11->Add( auxAudioDeviceList4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
-
- bSizer36->Add( fgSizer11, 0, wxEXPAND, 5 );
-
-
- audioPanel->SetSizer( bSizer36 );
- audioPanel->Layout();
- bSizer36->Fit( audioPanel );
- settingsList->AddPage( audioPanel, _("Settings.Audio"), false );
-
- bSizer31->Add( settingsList, 1, wxEXPAND | wxALL, 5 );
-
-
- bSizer30->Add( bSizer31, 1, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer37;
- bSizer37 = new wxBoxSizer( wxHORIZONTAL );
-
- okButton = new wxButton( this, ID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer37->Add( okButton, 0, wxALL, 5 );
-
- cancelButton = new wxButton( this, ID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer37->Add( cancelButton, 0, wxALL, 5 );
-
- applyButton = new wxButton( this, ID_APPLY, _("Apply"), wxDefaultPosition, wxDefaultSize, 0 );
- applyButton->Enable( false );
-
- bSizer37->Add( applyButton, 0, wxALL, 5 );
-
-
- bSizer30->Add( bSizer37, 0, wxALIGN_RIGHT, 5 );
-
-
- this->SetSizer( bSizer30 );
- this->Layout();
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( OBSBasicSettingsBase::OnClose ) );
- settingsList->Connect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED, wxListbookEventHandler( OBSBasicSettingsBase::PageChanged ), NULL, this );
- settingsList->Connect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING, wxListbookEventHandler( OBSBasicSettingsBase::PageChanging ), NULL, this );
- okButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicSettingsBase::OKClicked ), NULL, this );
- cancelButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicSettingsBase::CancelClicked ), NULL, this );
- applyButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicSettingsBase::ApplyClicked ), NULL, this );
-}
-
-OBSBasicSettingsBase::~OBSBasicSettingsBase()
-{
- // Disconnect Events
- this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( OBSBasicSettingsBase::OnClose ) );
- settingsList->Disconnect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED, wxListbookEventHandler( OBSBasicSettingsBase::PageChanged ), NULL, this );
- settingsList->Disconnect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING, wxListbookEventHandler( OBSBasicSettingsBase::PageChanging ), NULL, this );
- okButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicSettingsBase::OKClicked ), NULL, this );
- cancelButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicSettingsBase::CancelClicked ), NULL, this );
- applyButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicSettingsBase::ApplyClicked ), NULL, this );
-
-}
-
-ProjectChooserBase::ProjectChooserBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DialogSubclass( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-
- wxBoxSizer* bSizer40;
- bSizer40 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText22 = new wxStaticText( this, wxID_ANY, _("ProjectChooser.SelectType"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText22->Wrap( -1 );
- bSizer40->Add( m_staticText22, 0, wxALL, 5 );
-
- wxBoxSizer* bSizer41;
- bSizer41 = new wxBoxSizer( wxVERTICAL );
-
- basicButton = new wxButton( this, wxID_ANY, _("ProjectChooser.Basic"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer41->Add( basicButton, 0, wxALL|wxEXPAND, 5 );
-
- studioButton = new wxButton( this, wxID_ANY, _("ProjectChooser.Studio"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer41->Add( studioButton, 0, wxALL|wxEXPAND, 5 );
-
- exitButton = new wxButton( this, wxID_ANY, _("MainWindow.Exit"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer41->Add( exitButton, 0, wxALL|wxEXPAND, 5 );
-
-
- bSizer40->Add( bSizer41, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- this->SetSizer( bSizer40 );
- this->Layout();
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( ProjectChooserBase::OnClose ) );
- basicButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::BasicClicked ), NULL, this );
- studioButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::StudioClicked ), NULL, this );
- exitButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::ExitClicked ), NULL, this );
-}
-
-ProjectChooserBase::~ProjectChooserBase()
-{
- // Disconnect Events
- this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( ProjectChooserBase::OnClose ) );
- basicButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::BasicClicked ), NULL, this );
- studioButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::StudioClicked ), NULL, this );
- exitButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::ExitClicked ), NULL, this );
-
-}
-
-NameDialogBase::NameDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DialogSubclass( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-
- wxBoxSizer* bSizer44;
- bSizer44 = new wxBoxSizer( wxVERTICAL );
-
- questionText = new wxStaticText( this, wxID_ANY, _("Please enter a name (or is it text you want to enter?):"), wxDefaultPosition, wxDefaultSize, 0 );
- questionText->Wrap( -1 );
- bSizer44->Add( questionText, 0, wxTOP|wxRIGHT|wxLEFT, 10 );
-
- wxBoxSizer* bSizer46;
- bSizer46 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer46->Add( 20, 0, 0, 0, 5 );
-
- nameEdit = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- bSizer46->Add( nameEdit, 1, wxALL|wxEXPAND, 5 );
-
-
- bSizer46->Add( 20, 0, 0, 0, 5 );
-
-
- bSizer44->Add( bSizer46, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer45;
- bSizer45 = new wxBoxSizer( wxHORIZONTAL );
-
- okButton = new wxButton( this, wxID_ANY, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
- okButton->SetDefault();
- bSizer45->Add( okButton, 0, wxALL, 5 );
-
- cancelButton = new wxButton( this, wxID_ANY, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer45->Add( cancelButton, 0, wxALL, 5 );
-
-
- bSizer44->Add( bSizer45, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- this->SetSizer( bSizer44 );
- this->Layout();
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( NameDialogBase::OnClose ) );
- okButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( NameDialogBase::OKPressed ), NULL, this );
- cancelButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( NameDialogBase::CancelPressed ), NULL, this );
-}
-
-NameDialogBase::~NameDialogBase()
-{
- // Disconnect Events
- this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( NameDialogBase::OnClose ) );
- okButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( NameDialogBase::OKPressed ), NULL, this );
- cancelButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( NameDialogBase::CancelPressed ), NULL, this );
-
-}
diff --git a/obs/forms/OBSWindows.fbp b/obs/forms/OBSWindows.fbp
deleted file mode 100644
index 7c4d0f9e8..000000000
--- a/obs/forms/OBSWindows.fbp
+++ /dev/null
@@ -1,8093 +0,0 @@
-
-
-
-
-
diff --git a/obs/forms/OBSWindows.h b/obs/forms/OBSWindows.h
deleted file mode 100644
index 2596e410b..000000000
--- a/obs/forms/OBSWindows.h
+++ /dev/null
@@ -1,328 +0,0 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 6 2013)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#ifndef __OBSWINDOWS_H__
-#define __OBSWINDOWS_H__
-
-#include
-#include
-#include
-class DialogSubclass;
-class WindowSubclass;
-
-#include "../wx-subclass.hpp"
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-///////////////////////////////////////////////////////////////////////////
-
-#define ID_OBS_BASIC 1000
-#define ID_FILE_NEW 1001
-#define IF_FILE_OPEN 1002
-#define IF_FILE_SAVE 1003
-#define ID_FILE_EXIT 1004
-#define ID_PROGRAM 1005
-#define ID_SCENES 1006
-#define ID_SCENE_ADD 1007
-#define ID_SCENE_DELETE 1008
-#define ID_SCENE_PROPERTIES 1009
-#define ID_SCENE_MOVEUP 1010
-#define ID_SCENE_MOVEDOWN 1011
-#define ID_SOURCES 1012
-#define ID_SOURCE_ADD 1013
-#define ID_SOURCE_DELETE 1014
-#define ID_SOURCE_PROPERTIES 1015
-#define ID_SOURCE_MOVEUP 1016
-#define ID_SOURCE_MOVEDOWN 1017
-#define ID_STARTSTREAM 1018
-#define ID_RECORD 1019
-#define ID_SETTINGS 1020
-#define ID_EXIT 1021
-#define ID_OBS_STUDIO 1022
-#define ID_OBS_BASIC_SETTINGS 1023
-#define ID_SETTINGS_LIST 1024
-#define ID_SETTINGS_GENERAL 1025
-#define ID_LANGUAGE 1026
-#define ID_SETTINGS_OUTPUTS 1027
-#define ID_SETTINGS_VIDEO 1028
-#define ID_ADAPTER 1029
-#define ID_BASE_RES 1030
-#define ID_DOWNSCALE_RES 1031
-#define ID_DOWNSCALE_FILTER 1032
-#define ID_DISABLEAERO 1033
-#define ID_FPS_TYPE 1034
-#define ID_FPSPANEL_COMMON 1035
-#define ID_FPS_COMMON 1036
-#define ID_FPSPANEL_INTEGER 1037
-#define ID_FPS_INTEGER 1038
-#define ID_FPSPANEL_FRACTION 1039
-#define ID_FPS_NUMERATOR 1040
-#define ID_FPS_DENOMINATOR 1041
-#define ID_FPSPANEL_NANOSECONDS 1042
-#define ID_FPS_NANOSECONDS 1043
-#define ID_SETTINGS_AUDIO 1044
-#define ID_DESKTOP_AUDIO_DEVICE 1045
-#define ID_AUX_AUDIO_DEVICE1 1046
-#define ID_AUX_AUDIO_DEVICE2 1047
-#define ID_AUX_AUDIO_DEVICE3 1048
-#define ID_AUX_AUDIO_DEVICE4 1049
-#define ID_OK 1050
-#define ID_CANCEL 1051
-#define ID_APPLY 1052
-#define ID_PROJECT_CHOOSER 1053
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class OBSBasicBase
-///////////////////////////////////////////////////////////////////////////////
-class OBSBasicBase : public WindowSubclass
-{
- private:
-
- protected:
- wxMenuBar* mainMenu;
- wxMenu* fileMenu;
- wxPanel* mainPanel;
- wxBoxSizer* previewContainer;
- wxPanel* previewPanel;
- wxStaticText* scenesLabel;
- wxStaticText* sourcesLabel;
- wxStaticText* sourcesLabel1;
- wxPanel* scenesPanel;
- wxListBox* scenes;
- wxToolBar* scenesToolbar;
- wxPanel* sourcesPanel;
- wxCheckListBox* sources;
- wxToolBar* sourcesToolbar;
- wxScrolledWindow* m_scrolledWindow1;
- wxButton* toggleStreamButton;
- wxButton* ToggleRecordButton;
- wxButton* settingsButton;
- wxButton* exitButton;
- wxStatusBar* statusBar;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnMinimize( wxIconizeEvent& event ) { event.Skip(); }
- virtual void OnSize( wxSizeEvent& event ) { event.Skip(); }
- virtual void fileNewClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void fileOpenClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void fileSaveClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void fileExitClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnResizePreview( wxSizeEvent& event ) { event.Skip(); }
- virtual void scenesClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void scenesRDown( wxMouseEvent& event ) { event.Skip(); }
- virtual void sceneAddClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sceneRemoveClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void scenePropertiesClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sceneUpClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sceneDownClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sourcesClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sourcesToggled( wxCommandEvent& event ) { event.Skip(); }
- virtual void sourcesRDown( wxMouseEvent& event ) { event.Skip(); }
- virtual void sourceAddClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sourceRemoveClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sourcePropertiesClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sourceUpClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void sourceDownClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void toggleStreamClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void toggleRecordClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void settingsClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void exitClicked( wxCommandEvent& event ) { event.Skip(); }
-
-
- public:
-
- OBSBasicBase( wxWindow* parent, wxWindowID id = ID_OBS_BASIC, const wxString& title = _(".mainwindow"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 854,595 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
-
- ~OBSBasicBase();
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class OBSStudioBase
-///////////////////////////////////////////////////////////////////////////////
-class OBSStudioBase : public WindowSubclass
-{
- private:
-
- protected:
- wxPanel* mainPanel;
- wxBoxSizer* leftSizer;
- wxStaticText* m_staticText6;
- wxPanel* m_panel2;
- wxBoxSizer* transitionSizer;
- wxButton* m_button7;
- wxStaticText* m_staticText7;
- wxPanel* m_panel3;
- wxBoxSizer* bottomSizer;
- wxBoxSizer* rightSizer;
- wxMenuBar* m_menubar1;
- wxMenu* m_menu1;
- wxStatusBar* m_statusBar1;
-
- public:
-
- OBSStudioBase( wxWindow* parent, wxWindowID id = ID_OBS_STUDIO, const wxString& title = _(".openBroadcastStudio"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 1240,825 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
-
- ~OBSStudioBase();
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class OBSBasicSettingsBase
-///////////////////////////////////////////////////////////////////////////////
-class OBSBasicSettingsBase : public DialogSubclass
-{
- private:
-
- protected:
- wxStaticText* m_staticText27;
- wxPanel* videoPanel;
- wxStaticText* m_staticText211;
- wxStaticText* m_staticText6;
- wxStaticText* m_staticText8;
- wxStaticText* m_staticText10;
- wxStaticText* m_staticText11;
- wxStaticLine* m_staticline1;
- wxStaticText* m_staticText22;
- wxPanel* m_panel13;
- wxPanel* m_panel14;
- wxPanel* m_panel15;
- wxStaticText* m_staticText20;
- wxStaticText* m_staticText21;
- wxPanel* m_panel16;
- wxPanel* audioPanel;
- wxStaticText* m_staticText23;
- wxStaticText* m_staticText231;
- wxStaticText* m_staticText24;
- wxStaticText* m_staticText241;
- wxStaticText* m_staticText242;
- wxStaticText* m_staticText243;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void PageChanged( wxListbookEvent& event ) { event.Skip(); }
- virtual void PageChanging( wxListbookEvent& event ) { event.Skip(); }
- virtual void OKClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void CancelClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void ApplyClicked( wxCommandEvent& event ) { event.Skip(); }
-
-
- public:
- wxListbook* settingsList;
- wxPanel* generalPanel;
- wxComboBox* languageList;
- wxStaticText* generalChangedText;
- wxPanel* outputsPanel;
- wxComboBox* rendererList;
- wxComboBox* videoAdapterList;
- wxComboBox* baseResList;
- wxComboBox* outputResList;
- wxComboBox* filterList;
- wxCheckBox* disableAeroCheckbox;
- wxChoicebook* fpsTypeList;
- wxComboBox* fpsCommonList;
- wxSpinCtrl* fpsIntegerScroller;
- wxSpinCtrl* fpsNumeratorScroller;
- wxSpinCtrl* fpsDenominatorScroller;
- wxSpinCtrl* fpsNanosecondsScroller;
- wxStaticText* videoChangedText;
- wxComboBox* desktopAudioDeviceList1;
- wxComboBox* desktopAudioDeviceList2;
- wxComboBox* auxAudioDeviceList1;
- wxComboBox* auxAudioDeviceList2;
- wxComboBox* auxAudioDeviceList3;
- wxComboBox* auxAudioDeviceList4;
- wxButton* okButton;
- wxButton* cancelButton;
- wxButton* applyButton;
-
- OBSBasicSettingsBase( wxWindow* parent, wxWindowID id = ID_OBS_BASIC_SETTINGS, const wxString& title = _("Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 872,686 ), long style = wxDEFAULT_DIALOG_STYLE );
- ~OBSBasicSettingsBase();
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class ProjectChooserBase
-///////////////////////////////////////////////////////////////////////////////
-class ProjectChooserBase : public DialogSubclass
-{
- private:
-
- protected:
- wxStaticText* m_staticText22;
- wxButton* basicButton;
- wxButton* studioButton;
- wxButton* exitButton;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void BasicClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void StudioClicked( wxCommandEvent& event ) { event.Skip(); }
- virtual void ExitClicked( wxCommandEvent& event ) { event.Skip(); }
-
-
- public:
-
- ProjectChooserBase( wxWindow* parent, wxWindowID id = ID_PROJECT_CHOOSER, const wxString& title = _("ProjectChooser"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 445,159 ), long style = wxDEFAULT_DIALOG_STYLE );
- ~ProjectChooserBase();
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class NameDialogBase
-///////////////////////////////////////////////////////////////////////////////
-class NameDialogBase : public DialogSubclass
-{
- private:
-
- protected:
- wxStaticText* questionText;
- wxTextCtrl* nameEdit;
- wxButton* okButton;
- wxButton* cancelButton;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OKPressed( wxCommandEvent& event ) { event.Skip(); }
- virtual void CancelPressed( wxCommandEvent& event ) { event.Skip(); }
-
-
- public:
-
- NameDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("MaximumText"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 540,132 ), long style = wxDEFAULT_DIALOG_STYLE );
- ~NameDialogBase();
-
-};
-
-#endif //__OBSWINDOWS_H__
diff --git a/obs/forms/images/settings/applications-system-2.png b/obs/forms/images/settings/applications-system-2.png
new file mode 100644
index 000000000..34d530529
Binary files /dev/null and b/obs/forms/images/settings/applications-system-2.png differ
diff --git a/obs/forms/images/settings/decibel_audio_player.png b/obs/forms/images/settings/decibel_audio_player.png
new file mode 100644
index 000000000..415b04f38
Binary files /dev/null and b/obs/forms/images/settings/decibel_audio_player.png differ
diff --git a/obs/forms/images/settings/network-bluetooth.png b/obs/forms/images/settings/network-bluetooth.png
new file mode 100644
index 000000000..052878c22
Binary files /dev/null and b/obs/forms/images/settings/network-bluetooth.png differ
diff --git a/obs/forms/images/settings/preferences-system-network-3.png b/obs/forms/images/settings/preferences-system-network-3.png
new file mode 100644
index 000000000..c9f9963df
Binary files /dev/null and b/obs/forms/images/settings/preferences-system-network-3.png differ
diff --git a/obs/forms/images/settings/system-settings-3.png b/obs/forms/images/settings/system-settings-3.png
new file mode 100644
index 000000000..6674eb236
Binary files /dev/null and b/obs/forms/images/settings/system-settings-3.png differ
diff --git a/obs/forms/images/settings/video-display-3.png b/obs/forms/images/settings/video-display-3.png
new file mode 100644
index 000000000..bbeb9e728
Binary files /dev/null and b/obs/forms/images/settings/video-display-3.png differ
diff --git a/obs/forms/obs.qrc b/obs/forms/obs.qrc
new file mode 100644
index 000000000..50dfc7b1c
--- /dev/null
+++ b/obs/forms/obs.qrc
@@ -0,0 +1,23 @@
+
+
+ images/add.ico
+ images/delete.ico
+ images/document-properties-2.png
+ images/down.ico
+ images/editscene.ico
+ images/list_add.png
+ images/list_remove.png
+ images/live.ico
+ images/properties.ico
+ images/sound.ico
+ images/sound_muted.ico
+ images/up.ico
+
+
+ images/settings/video-display-3.png
+ images/settings/decibel_audio_player.png
+ images/settings/applications-system-2.png
+ images/settings/system-settings-3.png
+ images/settings/network-bluetooth.png
+
+
diff --git a/obs/forms/res/delete.ico.h b/obs/forms/res/delete.ico.h
deleted file mode 100644
index b3aaec574..000000000
--- a/obs/forms/res/delete.ico.h
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef DELETE_ICO_H
-#define DELETE_ICO_H
-
-#include
-#include
-#include
-
-static const unsigned char delete_ico[] =
-{
- 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x10, 0x00, 0x00,
- 0x01, 0x00, 0x20, 0x00, 0x68, 0x04, 0x00, 0x00, 0x16, 0x00,
- 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x4C, 0x0F,
- 0x13, 0x16, 0x64, 0x6D, 0x08, 0x08, 0x29, 0x33, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x25, 0x2B, 0x83, 0x6D, 0x42, 0x54, 0xE3, 0xF8, 0x1F, 0x31,
- 0xB6, 0xC4, 0x1F, 0x29, 0x72, 0x09, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07,
- 0x1E, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x30, 0x35, 0x91, 0x0F, 0x4C, 0x59, 0xCA, 0xCE, 0x46, 0x5C,
- 0xEC, 0xFF, 0x1E, 0x34, 0xD1, 0xFC, 0x1C, 0x2F, 0xC8, 0x47,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x12,
- 0x31, 0x2A, 0x12, 0x13, 0x69, 0x7B, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3C, 0x41, 0xD6, 0x0E, 0x4B, 0x58,
- 0xE0, 0xC9, 0x41, 0x59, 0xE4, 0xFF, 0x31, 0x46, 0xDD, 0xFF,
- 0x1C, 0x30, 0xC7, 0xA8, 0x1D, 0x32, 0xCE, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1E, 0x22, 0x9A, 0x98, 0x12, 0x13, 0x6F, 0x76,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x41, 0x4A, 0xE8, 0x88, 0x34, 0x4C, 0xDD, 0xFF,
- 0x1C, 0x37, 0xDD, 0xFF, 0x18, 0x28, 0xAF, 0xD8, 0x1B, 0x30,
- 0xC9, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x10, 0x13, 0x55, 0x49, 0x16, 0x25, 0xC3, 0xDC,
- 0x08, 0x07, 0x23, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x37, 0xA8, 0x1D,
- 0x37, 0x48, 0xCB, 0xD9, 0x16, 0x32, 0xD8, 0xFF, 0x17, 0x2D,
- 0xCB, 0xFB, 0x0B, 0x0B, 0x43, 0x55, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0B, 0x07, 0x20, 0x17, 0x16, 0x2B, 0xCC, 0xDC,
- 0x0C, 0x19, 0x84, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x55, 0x59, 0xB8, 0x47, 0x2D, 0x43,
- 0xDA, 0xF3, 0x12, 0x2E, 0xDA, 0xFF, 0x16, 0x24, 0xAC, 0xDD,
- 0x03, 0x01, 0x13, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x13, 0x15, 0x51, 0x09, 0x1C, 0x2A, 0xA4, 0xB7,
- 0x18, 0x2E, 0xD0, 0xE9, 0x0D, 0x0B, 0x2D, 0x19, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x67, 0xE4, 0x64, 0x1A, 0x32, 0xCF, 0xF9,
- 0x10, 0x2D, 0xDE, 0xFF, 0x1B, 0x24, 0x8F, 0xBE, 0x01, 0x01,
- 0x03, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x29, 0x9E, 0xA0,
- 0x1B, 0x36, 0xEE, 0xFF, 0x14, 0x19, 0x68, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x57, 0x5E, 0xE7, 0x67, 0x18, 0x30, 0xD2, 0xF5, 0x1E, 0x38,
- 0xE0, 0xFF, 0x17, 0x22, 0x8E, 0xB2, 0x14, 0x22, 0x95, 0xAB,
- 0x15, 0x32, 0xF3, 0xFF, 0x13, 0x23, 0xA3, 0xA6, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x65,
- 0xE2, 0x4C, 0x12, 0x27, 0xBC, 0xED, 0x0D, 0x26, 0xD3, 0xFF,
- 0x0E, 0x2B, 0xE1, 0xFF, 0x13, 0x26, 0xC1, 0xC7, 0x17, 0x1C,
- 0x64, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0B,
- 0x32, 0x0B, 0x29, 0x2F, 0xA1, 0x70, 0x0A, 0x23, 0xD0, 0xF4,
- 0x09, 0x22, 0xDB, 0xFF, 0x03, 0x1C, 0xD3, 0xFF, 0x10, 0x23,
- 0xBE, 0xD2, 0x12, 0x2C, 0xD9, 0x3C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1F,
- 0x5E, 0x4A, 0x2D, 0x3A, 0xAD, 0xC4, 0x18, 0x33, 0xE4, 0xFF,
- 0x07, 0x27, 0xEB, 0xFF, 0x10, 0x26, 0xCB, 0xDD, 0x2B, 0x39,
- 0xC8, 0xB8, 0x09, 0x1E, 0xD1, 0xFF, 0x0A, 0x1A, 0xA6, 0xC8,
- 0x0B, 0x1C, 0x93, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x2F, 0x2F, 0x50, 0x2D, 0x50, 0x57,
- 0x9D, 0xA0, 0x6B, 0x79, 0xE6, 0xFA, 0x54, 0x6A, 0xF9, 0xFF,
- 0x40, 0x57, 0xF5, 0xFF, 0x25, 0x3A, 0xD4, 0xDC, 0x28, 0x2C,
- 0x8C, 0x37, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x58, 0xE5, 0x79,
- 0x29, 0x42, 0xF5, 0xFA, 0x23, 0x30, 0xA6, 0xD9, 0x08, 0x08,
- 0x41, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x45, 0x48, 0x72, 0x65, 0x5C, 0x6A,
- 0xCE, 0xF0, 0x89, 0x98, 0xF8, 0xFF, 0x87, 0x96, 0xFA, 0xFF,
- 0x7A, 0x8A, 0xF6, 0xFF, 0x50, 0x5E, 0xD0, 0xBA, 0x24, 0x24,
- 0x5D, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x5D, 0x60, 0xE1, 0x3B, 0x67, 0x75,
- 0xF7, 0xC6, 0x5D, 0x68, 0xD1, 0xF4, 0x1C, 0x1F, 0x56, 0x7C,
- 0x00, 0x00, 0x15, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xA2,
- 0xC3, 0x55, 0x8B, 0x9A, 0xF9, 0xE5, 0x72, 0x83, 0xE9, 0xFF,
- 0x83, 0x90, 0xE7, 0xE9, 0x5E, 0x65, 0xAE, 0x7D, 0x40, 0x47,
- 0x9D, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x68, 0x69, 0xDE, 0x09, 0x74, 0x79, 0xEE, 0x69,
- 0x72, 0x7B, 0xEC, 0xCF, 0x34, 0x3A, 0x90, 0xC1, 0x0A, 0x0B,
- 0x34, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0x00, 0x00,
- 0x87, 0xFB, 0x00, 0x00, 0x07, 0xF3, 0x00, 0x00, 0x03, 0xF3,
- 0x00, 0x00, 0x83, 0xE3, 0x00, 0x00, 0x83, 0xC7, 0x00, 0x00,
- 0xC1, 0x87, 0x00, 0x00, 0xE0, 0x8F, 0x00, 0x00, 0xF0, 0x1F,
- 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00,
- 0xE0, 0x0F, 0x00, 0x00, 0x80, 0x87, 0x00, 0x00, 0x01, 0xC1,
- 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-};
-
-wxBitmap& delete_ico_to_wx_bitmap()
-{
- static wxMemoryInputStream memIStream( delete_ico, sizeof( delete_ico ) );
- static wxImage image( memIStream, wxBITMAP_TYPE_ICO );
- static wxBitmap bmp( image );
- return bmp;
-};
-
-
-#endif //DELETE_ICO_H
diff --git a/obs/forms/res/down.ico.h b/obs/forms/res/down.ico.h
deleted file mode 100644
index 139d3077d..000000000
--- a/obs/forms/res/down.ico.h
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef DOWN_ICO_H
-#define DOWN_ICO_H
-
-#include
-#include
-#include
-
-static const unsigned char down_ico[] =
-{
- 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x10, 0x00, 0x00,
- 0x01, 0x00, 0x20, 0x00, 0x68, 0x04, 0x00, 0x00, 0x16, 0x00,
- 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x71, 0x22, 0x5D,
- 0xB3, 0x78, 0x29, 0xFF, 0xBE, 0x83, 0x33, 0x5F, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x71, 0x22, 0x5D,
- 0xB3, 0x78, 0x29, 0xFF, 0xE9, 0xC9, 0x97, 0xFF, 0xB2, 0x76,
- 0x26, 0xFF, 0xBE, 0x83, 0x33, 0x5F, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x71, 0x22, 0x5D,
- 0xB3, 0x78, 0x29, 0xFF, 0xE4, 0xB2, 0x5C, 0xFF, 0xD5, 0x8D,
- 0x17, 0xFF, 0xE8, 0xC7, 0x90, 0xFF, 0xB2, 0x76, 0x26, 0xFF,
- 0xBE, 0x83, 0x33, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x72, 0x22, 0x5D,
- 0xB3, 0x78, 0x29, 0xFF, 0xEA, 0xBA, 0x61, 0xFF, 0xDE, 0x9A,
- 0x1E, 0xFF, 0xDA, 0x95, 0x1B, 0xFF, 0xD5, 0x8E, 0x18, 0xFF,
- 0xE8, 0xC7, 0x91, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF, 0xBE, 0x83,
- 0x34, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x73, 0x23, 0x5F,
- 0xB3, 0x78, 0x29, 0xFF, 0xEF, 0xC1, 0x65, 0xFF, 0xE8, 0xA5,
- 0x23, 0xFF, 0xE3, 0xA1, 0x22, 0xFF, 0xE0, 0x9B, 0x20, 0xFF,
- 0xDB, 0x95, 0x1C, 0xFF, 0xD5, 0x8F, 0x19, 0xFF, 0xE8, 0xC7,
- 0x91, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF, 0xBE, 0x83, 0x34, 0x5D,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x72, 0x22, 0x5E,
- 0xB3, 0x78, 0x29, 0xFF, 0xF4, 0xCD, 0x7B, 0xFF, 0xEE, 0xAE,
- 0x2C, 0xFF, 0xEB, 0xAA, 0x26, 0xFF, 0xE9, 0xA6, 0x25, 0xFF,
- 0xE6, 0xA2, 0x23, 0xFF, 0xE0, 0x9C, 0x1F, 0xFF, 0xDC, 0x96,
- 0x1C, 0xFF, 0xD7, 0x90, 0x19, 0xFF, 0xE9, 0xC7, 0x91, 0xFF,
- 0xB8, 0x7E, 0x2F, 0xFF, 0xBE, 0x83, 0x34, 0x5D, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x71, 0x22, 0x5E,
- 0xB3, 0x78, 0x29, 0xFF, 0xF6, 0xD0, 0x80, 0xFF, 0xF2, 0xBC,
- 0x4A, 0xFF, 0xF0, 0xB3, 0x32, 0xFF, 0xEE, 0xAE, 0x27, 0xFF,
- 0xEC, 0xAB, 0x28, 0xFF, 0xE9, 0xA7, 0x26, 0xFF, 0xE6, 0xA2,
- 0x23, 0xFF, 0xE4, 0xA6, 0x38, 0xFF, 0xE9, 0xBF, 0x73, 0xFF,
- 0xE6, 0xBB, 0x70, 0xFF, 0xE9, 0xC8, 0x91, 0xFF, 0xB8, 0x7E,
- 0x2F, 0xFF, 0xBE, 0x83, 0x34, 0x5D, 0x00, 0x00, 0x00, 0x00,
- 0xA5, 0x66, 0x16, 0xAA, 0xA5, 0x66, 0x16, 0xFF, 0xA5, 0x66,
- 0x16, 0xFF, 0xA5, 0x66, 0x16, 0xFF, 0xA5, 0x66, 0x16, 0xFF,
- 0xF0, 0xAF, 0x28, 0xFF, 0xEF, 0xAE, 0x29, 0xFF, 0xEC, 0xAB,
- 0x28, 0xFF, 0xEA, 0xA7, 0x25, 0xFF, 0xF0, 0xC5, 0x76, 0xFF,
- 0xB8, 0x7E, 0x2F, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF, 0xB8, 0x7E,
- 0x2F, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF, 0xB1, 0x74, 0x25, 0xAA,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xA5, 0x66, 0x16, 0xFF, 0xF0, 0xB0, 0x2B, 0xFF, 0xF0, 0xB0,
- 0x29, 0xFF, 0xEF, 0xAF, 0x2A, 0xFF, 0xED, 0xAB, 0x27, 0xFF,
- 0xF2, 0xC9, 0x79, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xA5, 0x66, 0x16, 0xFF, 0xEF, 0xB1,
- 0x2E, 0xFF, 0xF0, 0xAF, 0x29, 0xFF, 0xF0, 0xB0, 0x2A, 0xFF,
- 0xF0, 0xAF, 0x2A, 0xFF, 0xF4, 0xCC, 0x7A, 0xFF, 0xB8, 0x7E,
- 0x2F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x66,
- 0x16, 0xFF, 0xED, 0xAF, 0x31, 0xFF, 0xEE, 0xAE, 0x27, 0xFF,
- 0xF0, 0xB0, 0x2A, 0xFF, 0xF0, 0xB0, 0x2A, 0xFF, 0xF6, 0xCD,
- 0x7B, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xA5, 0x66, 0x16, 0xFF, 0xEA, 0xB0, 0x38, 0xFF,
- 0xEB, 0xAB, 0x26, 0xFF, 0xEE, 0xAE, 0x29, 0xFF, 0xEF, 0xAF,
- 0x2A, 0xFF, 0xF6, 0xCE, 0x7B, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x66, 0x16, 0xFF,
- 0xE6, 0xAF, 0x3E, 0xFF, 0xE7, 0xA7, 0x27, 0xFF, 0xEB, 0xAA,
- 0x26, 0xFF, 0xEE, 0xAE, 0x28, 0xFF, 0xF6, 0xCF, 0x7A, 0xFF,
- 0xB8, 0x7E, 0x2F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xA5, 0x66, 0x16, 0xFF, 0xE2, 0xAB, 0x41, 0xFF, 0xE3, 0xA6,
- 0x2C, 0xFF, 0xE6, 0xA6, 0x23, 0xFF, 0xEB, 0xAB, 0x27, 0xFF,
- 0xF4, 0xCD, 0x7A, 0xFF, 0xB8, 0x7E, 0x2F, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xA5, 0x66, 0x16, 0xFF, 0xE4, 0xB8,
- 0x68, 0xFF, 0xE7, 0xB7, 0x5F, 0xFF, 0xE8, 0xB4, 0x4F, 0xFF,
- 0xEC, 0xB9, 0x52, 0xFF, 0xF3, 0xCC, 0x7A, 0xFF, 0xB8, 0x7E,
- 0x2F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x81,
- 0x32, 0x77, 0xA5, 0x66, 0x16, 0xFF, 0xA5, 0x66, 0x16, 0xFF,
- 0xA5, 0x66, 0x16, 0xFF, 0xA5, 0x66, 0x16, 0xFF, 0xA5, 0x66,
- 0x16, 0xFF, 0xC0, 0x87, 0x39, 0x77, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x7F, 0x00, 0x00,
- 0xF8, 0x3F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xE0, 0x0F,
- 0x00, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xF0, 0x1F,
- 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00,
- 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F,
- 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00,
-};
-
-wxBitmap& down_ico_to_wx_bitmap()
-{
- static wxMemoryInputStream memIStream( down_ico, sizeof( down_ico ) );
- static wxImage image( memIStream, wxBITMAP_TYPE_ICO );
- static wxBitmap bmp( image );
- return bmp;
-};
-
-
-#endif //DOWN_ICO_H
diff --git a/obs/forms/res/list_add.png.h b/obs/forms/res/list_add.png.h
deleted file mode 100644
index 7a0225a87..000000000
--- a/obs/forms/res/list_add.png.h
+++ /dev/null
@@ -1,139 +0,0 @@
-#ifndef LIST_ADD_PNG_H
-#define LIST_ADD_PNG_H
-
-#include
-#include
-#include
-
-static const unsigned char list_add_png[] =
-{
- 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00,
- 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10,
- 0x00, 0x00, 0x00, 0x10, 0x08, 0x06, 0x00, 0x00, 0x00, 0x1F,
- 0xF3, 0xFF, 0x61, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4B, 0x47,
- 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0x43, 0xBB,
- 0x7F, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00,
- 0x00, 0x0B, 0x13, 0x00, 0x00, 0x0B, 0x13, 0x01, 0x00, 0x9A,
- 0x9C, 0x18, 0x00, 0x00, 0x00, 0x09, 0x76, 0x70, 0x41, 0x67,
- 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x5C,
- 0xC6, 0xAD, 0xC3, 0x00, 0x00, 0x02, 0x7C, 0x49, 0x44, 0x41,
- 0x54, 0x38, 0xCB, 0x8D, 0x92, 0xCD, 0xAB, 0x94, 0x65, 0x18,
- 0xC6, 0x7F, 0xCF, 0xFD, 0x3C, 0xEF, 0x3B, 0xF3, 0xCE, 0x34,
- 0x73, 0xBE, 0xD4, 0x51, 0x6B, 0xA1, 0xE5, 0x46, 0x5D, 0x45,
- 0x14, 0x8A, 0x41, 0x1F, 0x04, 0xD1, 0x32, 0xA4, 0xBF, 0xA0,
- 0xBF, 0x20, 0xDA, 0x88, 0x20, 0xEA, 0xAE, 0x4D, 0x08, 0xAD,
- 0x8D, 0x76, 0x41, 0xBB, 0x36, 0x16, 0x91, 0x0B, 0xC1, 0x08,
- 0x54, 0x72, 0x71, 0x42, 0xA1, 0x73, 0x92, 0xCA, 0x8E, 0x7A,
- 0x3C, 0xC7, 0x73, 0x74, 0xC6, 0x33, 0xEF, 0x99, 0x79, 0xDF,
- 0xE7, 0xB9, 0xEF, 0x16, 0xD3, 0x46, 0x27, 0xA5, 0x0B, 0xAE,
- 0xDD, 0x75, 0xFD, 0xB8, 0xB9, 0xB9, 0x1C, 0x53, 0x3A, 0x9D,
- 0xF7, 0xDE, 0xF4, 0x1F, 0xEC, 0xDF, 0x37, 0xF7, 0xA9, 0x08,
- 0xBD, 0xB2, 0x8C, 0x65, 0x7F, 0x50, 0xFD, 0xF4, 0xD7, 0x83,
- 0x87, 0x9F, 0xEB, 0xF5, 0xCF, 0xFE, 0x7C, 0x3A, 0x1D, 0xA6,
- 0xFA, 0x07, 0x36, 0x67, 0x8A, 0xF6, 0x9E, 0x0F, 0xDF, 0x79,
- 0xEF, 0xF5, 0x63, 0x45, 0xAB, 0x2D, 0x6A, 0xCA, 0x37, 0x17,
- 0xAE, 0xBD, 0x3C, 0x5F, 0xF6, 0x2F, 0x3F, 0xC0, 0xFE, 0x06,
- 0x97, 0x9E, 0x0F, 0x78, 0x71, 0x5E, 0x1C, 0x69, 0xD7, 0xE5,
- 0xA5, 0x0D, 0xD1, 0x66, 0x4D, 0xBF, 0x8C, 0xA8, 0xF3, 0x85,
- 0xD4, 0xB6, 0x00, 0x67, 0x3C, 0xF0, 0x04, 0x40, 0xA6, 0x00,
- 0xE3, 0x81, 0x37, 0x73, 0x6C, 0x8F, 0x95, 0xE1, 0x28, 0x91,
- 0xD4, 0x30, 0x80, 0x2C, 0xE7, 0xBF, 0x14, 0x00, 0x3F, 0xF1,
- 0x69, 0xE0, 0xA6, 0x67, 0xD0, 0x6D, 0xCA, 0x8C, 0x13, 0x35,
- 0x48, 0x6A, 0xA4, 0x64, 0x60, 0x60, 0x2E, 0x65, 0xB0, 0x56,
- 0xC0, 0x47, 0x7E, 0x52, 0x3D, 0x94, 0xE0, 0x6C, 0x15, 0x66,
- 0xDF, 0x3A, 0x71, 0xAC, 0x21, 0xCD, 0xD7, 0x34, 0x69, 0x27,
- 0x70, 0x90, 0x68, 0xD6, 0x56, 0x4B, 0xAF, 0xA8, 0x2A, 0xB5,
- 0x1A, 0x51, 0x8D, 0x60, 0x26, 0x99, 0xD7, 0xF7, 0x77, 0xBF,
- 0xDD, 0x5B, 0x70, 0x7E, 0x77, 0x92, 0x28, 0x6A, 0x21, 0xDC,
- 0x5F, 0xAB, 0x4F, 0x5C, 0x72, 0x87, 0x8E, 0x9F, 0xBB, 0xD2,
- 0xEE, 0xF5, 0x5E, 0x4D, 0x38, 0x31, 0x35, 0xA2, 0x99, 0x9B,
- 0xEB, 0xE4, 0x6E, 0x93, 0xAE, 0x1B, 0xAA, 0x27, 0x29, 0xB4,
- 0x75, 0x8B, 0x5D, 0xA1, 0x52, 0x70, 0x84, 0x20, 0x96, 0x07,
- 0xC1, 0xC5, 0x7A, 0x74, 0xE3, 0xD7, 0xA5, 0xAF, 0xC2, 0x0B,
- 0xDD, 0xE2, 0xC0, 0xC7, 0xC7, 0x8F, 0x64, 0xAB, 0x83, 0x1A,
- 0x35, 0xC3, 0xD4, 0xD8, 0xD8, 0x8A, 0x7C, 0xBF, 0x78, 0x9F,
- 0xA4, 0x93, 0x63, 0xDB, 0x33, 0x73, 0x1C, 0x3D, 0xBC, 0x53,
- 0xEA, 0xA8, 0xE4, 0x99, 0xA7, 0x11, 0x1C, 0xAE, 0xDE, 0x6E,
- 0x2F, 0xDD, 0x58, 0x3E, 0x18, 0x86, 0xA3, 0xBA, 0x3A, 0x7F,
- 0xF1, 0x16, 0xD1, 0x09, 0x31, 0x1A, 0x95, 0x1A, 0x75, 0x52,
- 0x6A, 0x75, 0x38, 0x27, 0x38, 0x8C, 0xE1, 0xA8, 0xE6, 0xC7,
- 0xC5, 0x7B, 0x14, 0xB9, 0xA7, 0x95, 0x7B, 0x8A, 0x46, 0xC0,
- 0xCA, 0x81, 0x89, 0x93, 0x2A, 0x94, 0xFD, 0xF2, 0x87, 0x78,
- 0xEB, 0xB7, 0x77, 0xCD, 0xAC, 0x69, 0x86, 0x53, 0x53, 0x09,
- 0x41, 0x3A, 0x6E, 0xE7, 0xBE, 0x2C, 0x86, 0x82, 0x56, 0xEE,
- 0x69, 0x96, 0xEB, 0x8C, 0x6E, 0xAF, 0x6E, 0x55, 0xDE, 0x8F,
- 0x86, 0x22, 0x88, 0x88, 0x9A, 0xE9, 0xE6, 0xB8, 0xD4, 0xEF,
- 0xC2, 0x1F, 0x8B, 0xAB, 0x27, 0xBB, 0xB3, 0x0B, 0xBD, 0x94,
- 0x95, 0xCD, 0x0E, 0x30, 0xEE, 0xF8, 0x85, 0x4E, 0x1E, 0x4E,
- 0x35, 0x77, 0xBC, 0xF4, 0x86, 0xCF, 0x84, 0x22, 0x17, 0x78,
- 0x34, 0x8E, 0x1B, 0x77, 0xD6, 0xBF, 0x4C, 0x55, 0xFD, 0xAD,
- 0xCF, 0xFD, 0xF8, 0xF1, 0x10, 0x32, 0x5A, 0x83, 0x47, 0x72,
- 0x7B, 0x25, 0xB0, 0x72, 0xEE, 0xEE, 0x60, 0x85, 0xBB, 0x00,
- 0x43, 0x80, 0x23, 0x9F, 0xEC, 0x9D, 0x6B, 0xED, 0x78, 0xD8,
- 0x08, 0x82, 0xCF, 0x85, 0x22, 0xF7, 0xC4, 0xE0, 0xCD, 0x70,
- 0xCB, 0xEB, 0x57, 0x9B, 0x3F, 0xC3, 0xD9, 0xEA, 0xF9, 0x43,
- 0x02, 0x9C, 0x83, 0x46, 0xE6, 0x29, 0xF2, 0x89, 0x83, 0xC0,
- 0x64, 0x4D, 0xD3, 0x9A, 0x06, 0x34, 0xBA, 0xC9, 0xCC, 0xB4,
- 0x11, 0x1C, 0xAD, 0x7F, 0x9F, 0x16, 0xBC, 0x80, 0x44, 0xFD,
- 0x7F, 0x80, 0x3B, 0x9B, 0x6A, 0xF8, 0xB5, 0xA0, 0x75, 0xCA,
- 0x62, 0x89, 0xAF, 0x4A, 0x5C, 0xAA, 0xB7, 0x15, 0xD9, 0x78,
- 0xD6, 0x94, 0x9F, 0xD4, 0xEF, 0xF3, 0xFD, 0xC1, 0x1E, 0xFD,
- 0xFA, 0xDE, 0xCD, 0xE5, 0x59, 0x2F, 0xB6, 0xD7, 0x8B, 0x8B,
- 0xA9, 0x8A, 0xD7, 0x7D, 0xFF, 0xF1, 0x2F, 0xF0, 0x45, 0xF5,
- 0x74, 0xFC, 0x1F, 0xD6, 0xC1, 0x2E, 0xDC, 0xA4, 0x2B, 0xC5,
- 0xBC, 0x00, 0x00, 0x00, 0x1D, 0x74, 0x45, 0x58, 0x74, 0x43,
- 0x6F, 0x6D, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
- 0x54, 0x68, 0x65, 0x20, 0x47, 0x49, 0x4D, 0x50, 0xEF, 0x64,
- 0x25, 0x6E, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74,
- 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2D, 0x64, 0x61, 0x74,
- 0x65, 0x00, 0x32, 0x30, 0x30, 0x39, 0x2D, 0x31, 0x31, 0x2D,
- 0x31, 0x37, 0x54, 0x32, 0x30, 0x3A, 0x30, 0x36, 0x3A, 0x35,
- 0x35, 0x2D, 0x30, 0x37, 0x3A, 0x30, 0x30, 0x59, 0xA6, 0x2A,
- 0xBB, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
- 0x61, 0x74, 0x65, 0x3A, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x00, 0x32, 0x30, 0x31, 0x30, 0x2D, 0x30, 0x32, 0x2D, 0x32,
- 0x32, 0x54, 0x31, 0x33, 0x3A, 0x34, 0x31, 0x3A, 0x30, 0x37,
- 0x2D, 0x30, 0x37, 0x3A, 0x30, 0x30, 0xAC, 0xA6, 0x9C, 0xB4,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
- 0x74, 0x65, 0x3A, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x79, 0x00,
- 0x32, 0x30, 0x31, 0x30, 0x2D, 0x30, 0x31, 0x2D, 0x31, 0x31,
- 0x54, 0x31, 0x34, 0x3A, 0x32, 0x39, 0x3A, 0x35, 0x39, 0x2D,
- 0x30, 0x37, 0x3A, 0x30, 0x30, 0x9A, 0x31, 0xB4, 0x01, 0x00,
- 0x00, 0x00, 0x34, 0x74, 0x45, 0x58, 0x74, 0x4C, 0x69, 0x63,
- 0x65, 0x6E, 0x73, 0x65, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3A,
- 0x2F, 0x2F, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65,
- 0x63, 0x6F, 0x6D, 0x6D, 0x6F, 0x6E, 0x73, 0x2E, 0x6F, 0x72,
- 0x67, 0x2F, 0x6C, 0x69, 0x63, 0x65, 0x6E, 0x73, 0x65, 0x73,
- 0x2F, 0x47, 0x50, 0x4C, 0x2F, 0x32, 0x2E, 0x30, 0x2F, 0x6C,
- 0x6A, 0x06, 0xA8, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58,
- 0x74, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x79, 0x2D, 0x64, 0x61,
- 0x74, 0x65, 0x00, 0x32, 0x30, 0x30, 0x39, 0x2D, 0x31, 0x31,
- 0x2D, 0x31, 0x37, 0x54, 0x32, 0x30, 0x3A, 0x30, 0x36, 0x3A,
- 0x35, 0x35, 0x2D, 0x30, 0x37, 0x3A, 0x30, 0x30, 0x06, 0x17,
- 0x5C, 0x8F, 0x00, 0x00, 0x00, 0x18, 0x74, 0x45, 0x58, 0x74,
- 0x53, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x49, 0x6E, 0x74,
- 0x72, 0x69, 0x67, 0x75, 0x65, 0x20, 0x49, 0x63, 0x6F, 0x6E,
- 0x20, 0x53, 0x65, 0x74, 0xAE, 0x27, 0xA1, 0x3F, 0x00, 0x00,
- 0x00, 0x46, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6F, 0x75, 0x72,
- 0x63, 0x65, 0x5F, 0x55, 0x52, 0x4C, 0x00, 0x68, 0x74, 0x74,
- 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x69, 0x6D, 0x70, 0x6C, 0x65,
- 0x69, 0x6E, 0x6E, 0x6F, 0x76, 0x61, 0x74, 0x69, 0x6F, 0x6E,
- 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78,
- 0x2E, 0x70, 0x68, 0x70, 0x3F, 0x70, 0x61, 0x67, 0x65, 0x3D,
- 0x32, 0x32, 0x26, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x3D,
- 0x32, 0x26, 0x69, 0x64, 0x3D, 0x32, 0x95, 0x41, 0xF9, 0xC6,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42,
- 0x60, 0x82,
-};
-
-wxBitmap& list_add_png_to_wx_bitmap()
-{
- static wxMemoryInputStream memIStream( list_add_png, sizeof( list_add_png ) );
- static wxImage image( memIStream, wxBITMAP_TYPE_PNG );
- static wxBitmap bmp( image );
- return bmp;
-};
-
-
-#endif //LIST_ADD_PNG_H
diff --git a/obs/forms/res/properties.ico.h b/obs/forms/res/properties.ico.h
deleted file mode 100644
index be14baa3c..000000000
--- a/obs/forms/res/properties.ico.h
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef PROPERTIES_ICO_H
-#define PROPERTIES_ICO_H
-
-#include
-#include
-#include
-
-static const unsigned char properties_ico[] =
-{
- 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x10, 0x00, 0x00,
- 0x01, 0x00, 0x20, 0x00, 0x68, 0x04, 0x00, 0x00, 0x16, 0x00,
- 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0xFE, 0xFD, 0xFE, 0xFF, 0xFD, 0xFC, 0xFD, 0xFF, 0xFB, 0xFB,
- 0xFB, 0xFF, 0xFA, 0xFA, 0xF9, 0xFF, 0xF8, 0xF9, 0xF8, 0xFF,
- 0xF7, 0xF7, 0xF7, 0xFF, 0xF5, 0xF6, 0xF6, 0xFF, 0xF5, 0xF4,
- 0xF4, 0xFF, 0xF3, 0xF3, 0xF3, 0xFF, 0xF2, 0xF2, 0xF2, 0xFF,
- 0xF1, 0xF1, 0xF1, 0xFF, 0xF0, 0xF0, 0xF0, 0xFF, 0xF0, 0xF0,
- 0xF0, 0xFF, 0xF0, 0xF0, 0xF0, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xAB, 0x98,
- 0x9A, 0xFF, 0xAB, 0x97, 0x9A, 0xFF, 0xAA, 0x97, 0x9A, 0xFF,
- 0xAB, 0x98, 0x9A, 0xFF, 0xAB, 0x97, 0x9A, 0xFF, 0xAA, 0x97,
- 0x9A, 0xFF, 0xAA, 0x97, 0x99, 0xFF, 0xAA, 0x96, 0x99, 0xFF,
- 0xAB, 0x97, 0x9A, 0xFF, 0xAA, 0x97, 0x9A, 0xFF, 0xAA, 0x97,
- 0x99, 0xFF, 0xAA, 0x96, 0x99, 0xFF, 0xF0, 0xF0, 0xF0, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0xFF, 0xFE,
- 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xF6, 0xF6, 0xF6, 0xFF,
- 0xF6, 0xF6, 0xF6, 0xFF, 0xF6, 0xF6, 0xF6, 0xFF, 0xF5, 0xF5,
- 0xF5, 0xFF, 0xF5, 0xF6, 0xF5, 0xFF, 0xF6, 0xF6, 0xF5, 0xFF,
- 0xF5, 0xF4, 0xF4, 0xFF, 0xF3, 0xF3, 0xF4, 0xFF, 0xF2, 0xF2,
- 0xF2, 0xFF, 0xF1, 0xF1, 0xF1, 0xFF, 0xF1, 0xF0, 0xF1, 0xFF,
- 0xF0, 0xF0, 0xF0, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF,
- 0xFB, 0xFB, 0xFB, 0xFF, 0xFB, 0xFA, 0xFB, 0xFF, 0xF9, 0xF8,
- 0xF9, 0xFF, 0xF7, 0xF6, 0xF7, 0xFF, 0xF7, 0xF7, 0xF7, 0xFF,
- 0xF8, 0xF7, 0xF8, 0xFF, 0xF6, 0xF7, 0xF6, 0xFF, 0xF5, 0xF5,
- 0xF5, 0xFF, 0xF3, 0xF3, 0xF4, 0xFF, 0xF2, 0xF2, 0xF3, 0xFF,
- 0xF2, 0xF1, 0xF1, 0xFF, 0xF0, 0xF0, 0xF0, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xAB, 0x98, 0x9A, 0xFF, 0xAB, 0x97, 0x9A, 0xFF, 0xAA, 0x97,
- 0x9A, 0xFF, 0xAB, 0x98, 0x9A, 0xFF, 0xAB, 0x97, 0x9A, 0xFF,
- 0xAA, 0x97, 0x9A, 0xFF, 0xAA, 0x97, 0x99, 0xFF, 0xAA, 0x96,
- 0x99, 0xFF, 0xAB, 0x97, 0x9A, 0xFF, 0xAA, 0x97, 0x9A, 0xFF,
- 0xAA, 0x97, 0x99, 0xFF, 0xAA, 0x96, 0x99, 0xFF, 0xF0, 0xF0,
- 0xF1, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFD,
- 0xFD, 0xFF, 0xFD, 0xFC, 0xFD, 0xFF, 0xFA, 0xFA, 0xFA, 0xFF,
- 0xF7, 0xF7, 0xF7, 0xFF, 0xF6, 0xF5, 0xF6, 0xFF, 0xEB, 0xEB,
- 0xEB, 0xFF, 0x7F, 0x85, 0xAA, 0xFF, 0xAB, 0xAA, 0xB6, 0xFF,
- 0xF4, 0xF4, 0xF4, 0xFF, 0xF3, 0xF3, 0xF3, 0xFF, 0xF2, 0xF2,
- 0xF2, 0xFF, 0xF1, 0xF1, 0xF1, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0xD9, 0xD9, 0xE3, 0xFF, 0xDE, 0xDE,
- 0xE1, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF,
- 0xFE, 0xFE, 0xFE, 0xFF, 0xFC, 0xFB, 0xFC, 0xFF, 0xB8, 0xBD,
- 0xD8, 0xFF, 0x7C, 0x85, 0xB4, 0xFF, 0x85, 0x8F, 0xBD, 0xFF,
- 0x90, 0x9B, 0xCE, 0xFF, 0x7F, 0x84, 0x98, 0xFF, 0xE5, 0xE4,
- 0xE6, 0xFF, 0xF3, 0xF2, 0xF2, 0xFF, 0xF1, 0xF1, 0xF2, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0xCB, 0xD7,
- 0xFA, 0xFF, 0x90, 0x99, 0xD0, 0xFF, 0x73, 0x6A, 0x7A, 0xFF,
- 0xA9, 0x96, 0x99, 0xFF, 0xAB, 0x98, 0x9A, 0xFF, 0x85, 0x7E,
- 0x90, 0xFF, 0x65, 0x68, 0x84, 0xFF, 0xAF, 0xBC, 0xF5, 0xFF,
- 0x75, 0x7E, 0xB7, 0xFF, 0x93, 0x9E, 0xCE, 0xFF, 0x7B, 0x7F,
- 0xAD, 0xFF, 0x71, 0x75, 0x99, 0xFF, 0xA2, 0x8F, 0x93, 0xFF,
- 0xF2, 0xF3, 0xF2, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0xE8, 0xE9, 0xED, 0xFF, 0xD1, 0xDC, 0xFC, 0xFF,
- 0xA8, 0xB5, 0xEC, 0xFF, 0x89, 0x8F, 0xBE, 0xFF, 0xD3, 0xD4,
- 0xD7, 0xFF, 0xA4, 0xAC, 0xDB, 0xFF, 0x93, 0x9F, 0xDC, 0xFF,
- 0x52, 0x5A, 0x80, 0xFF, 0xBC, 0xCB, 0xF7, 0xFF, 0x77, 0x81,
- 0xBC, 0xFF, 0x7A, 0x82, 0xB2, 0xFF, 0x79, 0x83, 0xB6, 0xFF,
- 0x91, 0x96, 0xB2, 0xFF, 0xF3, 0xF3, 0xF3, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0xCD, 0xCC, 0xCA, 0xFF,
- 0xC5, 0xC5, 0xC6, 0xFF, 0xCE, 0xD8, 0xEF, 0xFF, 0xBE, 0xCD,
- 0xFB, 0xFF, 0x89, 0x92, 0xCB, 0xFF, 0x79, 0x81, 0xAC, 0xFF,
- 0x76, 0x80, 0xA9, 0xFF, 0xA6, 0xB2, 0xED, 0xFF, 0x51, 0x5A,
- 0x86, 0xFF, 0xB8, 0xC1, 0xEE, 0xFF, 0x74, 0x76, 0xAA, 0xFF,
- 0x7A, 0x84, 0xBC, 0xFF, 0x86, 0x91, 0xC9, 0xFF, 0xA8, 0xAB,
- 0xBE, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0xE0, 0xD9, 0xD3, 0xFF, 0xE0, 0xD9, 0xD3, 0xFF, 0xDF, 0xD8,
- 0xD3, 0xFF, 0xD4, 0xD8, 0xE8, 0xFF, 0xC7, 0xD5, 0xFA, 0xFF,
- 0xAB, 0xB5, 0xEA, 0xFF, 0x73, 0x7B, 0xA5, 0xFF, 0x95, 0xA0,
- 0xCE, 0xFF, 0xA5, 0xAF, 0xDF, 0xFF, 0x4A, 0x4F, 0x78, 0xFF,
- 0x96, 0xA0, 0xDE, 0xFF, 0x8E, 0x9A, 0xD9, 0xFF, 0xA0, 0xAD,
- 0xF2, 0xFF, 0xAB, 0xB7, 0xF6, 0xFF, 0x87, 0x86, 0x99, 0xFF,
- 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92,
- 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF, 0x97, 0x92, 0x8F, 0xFF,
- 0x95, 0x94, 0x98, 0xFF, 0xA9, 0xB4, 0xE3, 0xFF, 0xA9, 0xB7,
- 0xEB, 0xFF, 0x52, 0x56, 0x7E, 0xFF, 0x8E, 0x93, 0xC4, 0xFF,
- 0x9A, 0xA6, 0xDD, 0xFF, 0xB3, 0xC1, 0xF9, 0xFF, 0xA6, 0xB4,
- 0xF7, 0xFF, 0xAE, 0xBA, 0xFC, 0xFF, 0xBA, 0xC8, 0xFE, 0xFF,
- 0xB2, 0xBC, 0xE3, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x60,
- 0x86, 0x1C, 0xB0, 0xBE, 0xFA, 0xE8, 0x92, 0x9D, 0xDB, 0xFF,
- 0xA1, 0xAE, 0xF3, 0xFF, 0xBC, 0xCA, 0xFE, 0xFF, 0xC1, 0xD1,
- 0xFE, 0xFF, 0xC0, 0xD0, 0xFE, 0xFF, 0xC9, 0xD9, 0xFE, 0xFF,
- 0xC8, 0xD8, 0xFD, 0xFE, 0x8E, 0x99, 0xBD, 0x54, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x8C, 0xB1, 0x3B,
- 0xAB, 0xB9, 0xF5, 0xC9, 0xA4, 0xB1, 0xF5, 0xD5, 0xB0, 0xBD,
- 0xFC, 0xD8, 0xB8, 0xC3, 0xFC, 0xF5, 0xBF, 0xCF, 0xFF, 0xFE,
- 0xD5, 0xE5, 0xFE, 0xFF, 0xDA, 0xE7, 0xFD, 0xD2, 0x54, 0xAA,
- 0xAA, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x65, 0x87, 0x05,
- 0x67, 0x6B, 0x8D, 0x34, 0xC7, 0xD3, 0xFE, 0xA8, 0xA1, 0xAC,
- 0xC6, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00,
- 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFF, 0xE1, 0x00, 0x00,
-};
-
-wxBitmap& properties_ico_to_wx_bitmap()
-{
- static wxMemoryInputStream memIStream( properties_ico, sizeof( properties_ico ) );
- static wxImage image( memIStream, wxBITMAP_TYPE_ICO );
- static wxBitmap bmp( image );
- return bmp;
-};
-
-
-#endif //PROPERTIES_ICO_H
diff --git a/obs/forms/res/up.ico.h b/obs/forms/res/up.ico.h
deleted file mode 100644
index e7aac062a..000000000
--- a/obs/forms/res/up.ico.h
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef UP_ICO_H
-#define UP_ICO_H
-
-#include
-#include
-#include
-
-static const unsigned char up_ico[] =
-{
- 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x10, 0x00, 0x00,
- 0x01, 0x00, 0x20, 0x00, 0x68, 0x04, 0x00, 0x00, 0x16, 0x00,
- 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x81,
- 0x32, 0x77, 0xB7, 0x7D, 0x2E, 0xFF, 0xB7, 0x7D, 0x2E, 0xFF,
- 0xB7, 0x7D, 0x2E, 0xFF, 0xB7, 0x7D, 0x2E, 0xFF, 0xB7, 0x7D,
- 0x2E, 0xFF, 0xC0, 0x87, 0x39, 0x77, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xB3, 0x78, 0x29, 0xFF, 0xE9, 0xC3, 0x85, 0xFF,
- 0xE2, 0xB8, 0x78, 0xFF, 0xDF, 0xB5, 0x77, 0xFF, 0xDC, 0xB2,
- 0x74, 0xFF, 0xD9, 0xAE, 0x73, 0xFD, 0xB7, 0x7D, 0x2E, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x78, 0x29, 0xFF,
- 0xE0, 0xA1, 0x34, 0xFF, 0xD3, 0x8D, 0x17, 0xFF, 0xCE, 0x85,
- 0x12, 0xFF, 0xC9, 0x7F, 0x10, 0xFF, 0xDD, 0xB3, 0x76, 0xFA,
- 0xB7, 0x7D, 0x2E, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xB3, 0x78, 0x29, 0xFF, 0xE8, 0xAC, 0x40, 0xFF, 0xDC, 0x98,
- 0x22, 0xFF, 0xD5, 0x8E, 0x15, 0xFF, 0xD0, 0x88, 0x14, 0xFF,
- 0xE1, 0xB8, 0x78, 0xFA, 0xB7, 0x7D, 0x2E, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xB3, 0x78, 0x29, 0xFF, 0xEC, 0xB3,
- 0x46, 0xFF, 0xE2, 0xA2, 0x2E, 0xFF, 0xDB, 0x95, 0x1A, 0xFF,
- 0xD6, 0x90, 0x18, 0xFF, 0xE4, 0xBC, 0x7B, 0xFA, 0xB7, 0x7D,
- 0x2E, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x78,
- 0x29, 0xFF, 0xF1, 0xB9, 0x48, 0xFF, 0xE9, 0xAC, 0x3A, 0xFF,
- 0xE2, 0x9D, 0x20, 0xFF, 0xDD, 0x97, 0x1C, 0xFF, 0xE8, 0xC1,
- 0x7E, 0xFA, 0xB7, 0x7D, 0x2E, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xB3, 0x78, 0x29, 0xFF, 0xF4, 0xBD, 0x4A, 0xFF,
- 0xEE, 0xB5, 0x45, 0xFF, 0xE8, 0xA7, 0x2A, 0xFF, 0xE3, 0x9E,
- 0x1F, 0xFF, 0xEC, 0xC6, 0x80, 0xFA, 0xB7, 0x7D, 0x2E, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x78, 0x29, 0xFF,
- 0xF4, 0xBE, 0x4B, 0xFF, 0xF1, 0xBA, 0x4B, 0xFF, 0xED, 0xB1,
- 0x37, 0xFF, 0xE8, 0xA5, 0x23, 0xFF, 0xEF, 0xCA, 0x83, 0xF9,
- 0xB7, 0x7D, 0x2E, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xA5, 0x66, 0x16, 0xAA, 0xA9, 0x6A,
- 0x1B, 0xE0, 0xAF, 0x72, 0x22, 0xFF, 0xAF, 0x72, 0x22, 0xFF,
- 0xAF, 0x72, 0x22, 0xFF, 0xF2, 0xBC, 0x4A, 0xFF, 0xF2, 0xBC,
- 0x4C, 0xFF, 0xF0, 0xB7, 0x44, 0xFF, 0xED, 0xAB, 0x2A, 0xFF,
- 0xF2, 0xCD, 0x83, 0xFD, 0xB7, 0x7D, 0x2E, 0xFF, 0xB7, 0x7D,
- 0x2E, 0xFF, 0xB7, 0x7D, 0x2E, 0xFF, 0xB4, 0x79, 0x2A, 0xEC,
- 0xB1, 0x74, 0x25, 0xAA, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x71,
- 0x22, 0x5C, 0xA5, 0x66, 0x16, 0xFF, 0xEF, 0xC8, 0x7A, 0xFF,
- 0xED, 0xB7, 0x47, 0xFF, 0xEF, 0xB9, 0x48, 0xFF, 0xF2, 0xBB,
- 0x4A, 0xFF, 0xF2, 0xBD, 0x4B, 0xFF, 0xF2, 0xBC, 0x4C, 0xFF,
- 0xF0, 0xB3, 0x36, 0xFF, 0xF4, 0xCF, 0x83, 0xFF, 0xF2, 0xCA,
- 0x7D, 0xFF, 0xF0, 0xC7, 0x7B, 0xFF, 0xED, 0xC5, 0x7A, 0xFF,
- 0xB8, 0x7E, 0x2F, 0xFF, 0xBE, 0x83, 0x34, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x71, 0x22, 0x5C,
- 0xA5, 0x66, 0x16, 0xFF, 0xED, 0xC6, 0x7A, 0xFF, 0xEB, 0xB4,
- 0x45, 0xFF, 0xEE, 0xB8, 0x47, 0xFF, 0xF1, 0xBB, 0x49, 0xFF,
- 0xF2, 0xBD, 0x4C, 0xFF, 0xF2, 0xBA, 0x44, 0xFF, 0xF0, 0xAF,
- 0x2B, 0xFF, 0xED, 0xAB, 0x27, 0xFF, 0xF2, 0xCB, 0x7E, 0xFF,
- 0xB8, 0x7E, 0x2F, 0xFF, 0xBE, 0x83, 0x34, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xB1, 0x71, 0x22, 0x5C, 0xA5, 0x66,
- 0x16, 0xFF, 0xED, 0xC6, 0x79, 0xFF, 0xEA, 0xB3, 0x45, 0xFF,
- 0xED, 0xB7, 0x47, 0xFF, 0xEF, 0xBA, 0x49, 0xFF, 0xF2, 0xBC,
- 0x4C, 0xFF, 0xF2, 0xB4, 0x37, 0xFF, 0xF6, 0xCF, 0x7E, 0xFF,
- 0xB8, 0x7E, 0x2F, 0xFF, 0xBE, 0x83, 0x34, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xB1, 0x71, 0x22, 0x5C, 0xA5, 0x66, 0x16, 0xFF,
- 0xEC, 0xC4, 0x79, 0xFF, 0xE9, 0xB2, 0x45, 0xFF, 0xEC, 0xB6,
- 0x46, 0xFF, 0xF0, 0xBA, 0x4A, 0xFF, 0xF7, 0xD6, 0x90, 0xFF,
- 0xB8, 0x7E, 0x2F, 0xFF, 0xBE, 0x83, 0x34, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xB1, 0x71, 0x22, 0x5C, 0xA5, 0x66, 0x16, 0xFF, 0xEB, 0xC3,
- 0x78, 0xFF, 0xE8, 0xB1, 0x44, 0xFF, 0xF4, 0xD3, 0x91, 0xFF,
- 0xB2, 0x76, 0x26, 0xFF, 0xBE, 0x83, 0x34, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x71,
- 0x22, 0x5C, 0xA5, 0x66, 0x16, 0xFF, 0xEA, 0xC3, 0x77, 0xFF,
- 0xB2, 0x76, 0x26, 0xFF, 0xBE, 0x83, 0x34, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x71, 0x22, 0x5C,
- 0xA5, 0x66, 0x16, 0xFF, 0xBE, 0x83, 0x34, 0x5C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00,
- 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F,
- 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00,
- 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00,
- 0xC0, 0x07, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0xF0, 0x1F,
- 0x00, 0x00, 0xF8, 0x3F, 0x00, 0x00, 0xFC, 0x7F, 0x00, 0x00,
-};
-
-wxBitmap& up_ico_to_wx_bitmap()
-{
- static wxMemoryInputStream memIStream( up_ico, sizeof( up_ico ) );
- static wxImage image( memIStream, wxBITMAP_TYPE_ICO );
- static wxBitmap bmp( image );
- return bmp;
-};
-
-
-#endif //UP_ICO_H
diff --git a/obs/obs-app.cpp b/obs/obs-app.cpp
index caf33e224..e40be0464 100644
--- a/obs/obs-app.cpp
+++ b/obs/obs-app.cpp
@@ -16,27 +16,20 @@
******************************************************************************/
#include
-
#include
#include
#include
-
#include
+#include "qt-wrappers.hpp"
#include "obs-app.hpp"
#include "window-basic-main.hpp"
-#include "wx-wrappers.hpp"
#include "platform.hpp"
+#include
+
using namespace std;
-IMPLEMENT_APP(OBSApp);
-
-OBSAppBase::~OBSAppBase()
-{
- blog(LOG_INFO, "Number of memory leaks: %llu", bnum_allocs());
-}
-
static void do_log(enum log_type type, const char *msg, va_list args)
{
#ifdef _WIN32
@@ -172,39 +165,31 @@ bool OBSApp::InitLocale()
bool OBSApp::InitOBSBasic()
{
- OBSBasic *obsBasic = new OBSBasic();
- obsBasic->Show();
+ try {
+ mainWindow = move(unique_ptr(new OBSBasic()));
+ mainWindow->show();
+ return true;
- mainWindow = obsBasic;
- return obsBasic->Init();
+ } catch (const char *error) {
+ blog(LOG_ERROR, "%s", error);
+ }
+
+ return false;
}
-bool OBSApp::OnInit()
+OBSApp::OBSApp(int &argc, char **argv)
+ : QApplication(argc, argv)
{
- base_set_log_handler(do_log);
-
if (!InitApplicationBundle())
- return false;
-
- if (!wxApp::OnInit())
- return false;
- wxInitAllImageHandlers();
-
+ throw "Failed to initialize application bundle";
if (!MakeUserDirs())
- return false;
+ throw "Failed to created required user directories";
if (!InitGlobalConfig())
- return false;
+ throw "Failed to initialize global config";
if (!InitLocale())
- return false;
+ throw "Failed to load locale";
if (!InitOBSBasic())
- return false;
-
- return true;
-}
-
-int OBSApp::OnExit()
-{
- return wxApp::OnExit();
+ throw "Failed to create main window";
}
void OBSApp::GetFPSCommon(uint32_t &num, uint32_t &den) const
@@ -280,3 +265,21 @@ const char *OBSApp::GetRenderModule() const
else
return "libobs-opengl";
}
+
+int main(int argc, char *argv[])
+{
+ int ret = -1;
+ QCoreApplication::addLibraryPath(".");
+ base_set_log_handler(do_log);
+
+ try {
+ OBSApp program(argc, argv);
+ ret = program.exec();
+
+ } catch (const char *error) {
+ blog(LOG_ERROR, "%s", error);
+ }
+
+ blog(LOG_INFO, "Number of memory leaks: %llu", bnum_allocs());
+ return ret;
+}
diff --git a/obs/obs-app.hpp b/obs/obs-app.hpp
index b148b9c6f..8cd5d9d57 100644
--- a/obs/obs-app.hpp
+++ b/obs/obs-app.hpp
@@ -17,23 +17,20 @@
#pragma once
-#include
-#include
-
+#include
+#include
#include
-
#include
+#include
-class OBSAppBase : public wxApp {
-public:
- virtual ~OBSAppBase();
-};
+class OBSApp : public QApplication {
+ Q_OBJECT
-class OBSApp : public OBSAppBase {
- std::string locale;
- ConfigFile globalConfig;
- TextLookup textLookup;
- wxWindow *mainWindow;
+private:
+ std::string locale;
+ ConfigFile globalConfig;
+ TextLookup textLookup;
+ std::unique_ptr mainWindow;
bool InitGlobalConfig();
bool InitGlobalConfigDefaults();
@@ -47,10 +44,9 @@ class OBSApp : public OBSAppBase {
void GetFPSNanoseconds(uint32_t &num, uint32_t &den) const;
public:
- virtual bool OnInit();
- virtual int OnExit();
+ OBSApp(int &argc, char **argv);
- inline wxWindow *GetMainWindow() const {return mainWindow;}
+ inline QMainWindow *GetMainWindow() const {return mainWindow.get();}
inline config_t GlobalConfig() const {return globalConfig;}
@@ -68,9 +64,9 @@ public:
const char *GetRenderModule() const;
};
-wxDECLARE_APP(OBSApp);
+inline OBSApp *App() {return static_cast(qApp);}
-inline config_t GetGlobalConfig() {return wxGetApp().GlobalConfig();}
+inline config_t GetGlobalConfig() {return App()->GlobalConfig();}
-#define Str(lookupVal) wxGetApp().GetString(lookupVal)
-#define WXStr(lookupVal) wxString(Str(lookupVal), wxConvUTF8)
+inline const char *Str(const char *lookup) {return App()->GetString(lookup);}
+#define QTStr(lookupVal) QString::fromUtf8(Str(lookupVal))
diff --git a/obs/qt-display.hpp b/obs/qt-display.hpp
new file mode 100644
index 000000000..8cf7a45f9
--- /dev/null
+++ b/obs/qt-display.hpp
@@ -0,0 +1,20 @@
+#pragma once
+
+#include
+
+class OBSQTDisplay : public QWidget {
+ Q_OBJECT
+
+public:
+ inline OBSQTDisplay(QWidget *parent = 0, Qt::WindowFlags f = 0)
+ : QWidget(parent, f)
+ {
+ setAutoFillBackground(false);
+ setAttribute(Qt::WA_OpaquePaintEvent);
+ setAttribute(Qt::WA_NativeWindow);
+ setAttribute(Qt::WA_PaintOnScreen);
+ setAttribute(Qt::WA_NoSystemBackground);
+ }
+
+ virtual QPaintEngine *paintEngine() const {return nullptr;}
+};
diff --git a/obs/qt-ptr-variant.hpp b/obs/qt-ptr-variant.hpp
new file mode 100644
index 000000000..287caff2e
--- /dev/null
+++ b/obs/qt-ptr-variant.hpp
@@ -0,0 +1,37 @@
+/******************************************************************************
+ Copyright (C) 2013 by Hugh Bailey
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+******************************************************************************/
+
+#include
+
+/* in case you're wondering, I made this code because qt static asserts would
+ * fail on forward pointers. so I was forced to make a hack */
+
+struct PtrVariantDummy {
+ void *unused;
+};
+
+Q_DECLARE_METATYPE(PtrVariantDummy*);
+
+template static inline T VariantPtr(QVariant &v)
+{
+ return (T)v.value();
+}
+
+static inline QVariant PtrVariant(void* ptr)
+{
+ return QVariant::fromValue((PtrVariantDummy*)ptr);
+}
diff --git a/obs/qt-wrappers.cpp b/obs/qt-wrappers.cpp
new file mode 100644
index 000000000..8400c32f7
--- /dev/null
+++ b/obs/qt-wrappers.cpp
@@ -0,0 +1,51 @@
+/******************************************************************************
+ Copyright (C) 2013 by Hugh Bailey
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+******************************************************************************/
+
+#include "qt-wrappers.hpp"
+#include
+#include
+#include
+
+static inline void OBSErrorBoxva(QWidget *parent, const char *msg, va_list args)
+{
+ char full_message[4096];
+ vsnprintf(full_message, 4095, msg, args);
+
+ QMessageBox::information(parent, "Error", full_message);
+}
+
+void OBSErrorBox(QWidget *parent, const char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ OBSErrorBoxva(parent, msg, args);
+ va_end(args);
+}
+
+void QTToGSWindow(QWidget *widget, gs_window &gswindow)
+{
+ if (!widget)
+ return;
+
+#ifdef _WIN32
+ gswindow.hwnd = (HWND)widget->winId();
+#elif __APPLE__
+ /* TODO: mac */
+#else
+ /* TODO: unix */
+#endif
+}
diff --git a/obs/qt-wrappers.hpp b/obs/qt-wrappers.hpp
new file mode 100644
index 000000000..254a3129d
--- /dev/null
+++ b/obs/qt-wrappers.hpp
@@ -0,0 +1,27 @@
+/******************************************************************************
+ Copyright (C) 2013 by Hugh Bailey
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+******************************************************************************/
+
+#pragma once
+
+#define QT_UTF8(str) QString::fromUtf8(str)
+
+class QWidget;
+struct gs_window;
+
+void OBSErrorBox(QWidget *parent, const char *msg, ...);
+
+void QTToGSWindow(QWidget *widget, gs_window &gswindow);
diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp
index 8e167bfef..4f0f17e0f 100644
--- a/obs/window-basic-main.cpp
+++ b/obs/window-basic-main.cpp
@@ -17,39 +17,37 @@
******************************************************************************/
#include
-
-#include
+#include
#include "obs-app.hpp"
-#include "wx-wrappers.hpp"
-#include "window-basic-settings.hpp"
-#include "window-basic-main.hpp"
+//#include "window-basic-settings.hpp"
#include "window-namedialog.hpp"
+#include "window-basic-main.hpp"
+#include "qt-wrappers.hpp"
+#include "qt-ptr-variant.hpp"
-#ifdef __WXGTK__
- #include
-#endif
+#include "ui_OBSBasic.h"
using namespace std;
obs_scene_t OBSBasic::GetCurrentScene()
{
- int sel = scenes->GetSelection();
- if (sel == wxNOT_FOUND)
- return NULL;
-
- return (obs_scene_t)scenes->GetClientData(sel);
+ QListWidgetItem *item = ui->scenes->currentItem();
+ return item ? VariantPtr(item->data(Qt::UserRole)) :
+ nullptr;
}
void OBSBasic::AddScene(obs_source_t source)
{
const char *name = obs_source_getname(source);
obs_scene_t scene = obs_scene_fromsource(source);
- scenes->Append(WX_UTF8(name), scene);
+
+ QListWidgetItem *item = new QListWidgetItem(QT_UTF8(name));
+ item->setData(Qt::UserRole, PtrVariant(scene));
+ ui->scenes->addItem(item);
signal_handler_t handler = obs_source_signalhandler(source);
- signal_handler_connect(handler, "add", OBSBasic::SceneItemAdded,
- this);
+ signal_handler_connect(handler, "add", OBSBasic::SceneItemAdded, this);
signal_handler_connect(handler, "remove", OBSBasic::SceneItemRemoved,
this);
}
@@ -58,14 +56,14 @@ void OBSBasic::RemoveScene(obs_source_t source)
{
const char *name = obs_source_getname(source);
- int idx = scenes->FindString(name);
- int sel = scenes->GetSelection();
+ QListWidgetItem *sel = ui->scenes->currentItem();
+ QList items = ui->scenes->findItems(QT_UTF8(name),
+ Qt::MatchExactly);
- if (idx != wxNOT_FOUND) {
- if (sel == idx)
- sources->Clear();
-
- scenes->Delete(idx);
+ if (sel != nullptr) {
+ if (items.contains(sel))
+ ui->sources->clear();
+ delete sel;
}
}
@@ -75,8 +73,12 @@ void OBSBasic::AddSceneItem(obs_sceneitem_t item)
obs_source_t source = obs_sceneitem_getsource(item);
const char *name = obs_source_getname(source);
- if (GetCurrentScene() == scene)
- sources->Insert(WX_UTF8(name), 0, item);
+ if (GetCurrentScene() == scene) {
+ QListWidgetItem *listItem = new QListWidgetItem(QT_UTF8(name));
+ listItem->setData(Qt::UserRole, PtrVariant(item));
+
+ ui->sources->insertItem(0, listItem);
+ }
sourceSceneRefs[source] = sourceSceneRefs[source] + 1;
}
@@ -86,12 +88,12 @@ void OBSBasic::RemoveSceneItem(obs_sceneitem_t item)
obs_scene_t scene = obs_sceneitem_getscene(item);
if (GetCurrentScene() == scene) {
- for (unsigned int idx = 0; idx < sources->GetCount(); idx++) {
- obs_sceneitem_t curItem;
- curItem = (obs_sceneitem_t)sources->GetClientData(idx);
+ for (unsigned int i = 0; i < ui->sources->count(); i++) {
+ QListWidgetItem *listItem = ui->sources->item(i);
+ QVariant userData = listItem->data(Qt::UserRole);
- if (item == curItem) {
- sources->Delete(idx);
+ if (item == VariantPtr(userData)) {
+ delete listItem;
break;
}
}
@@ -110,7 +112,7 @@ void OBSBasic::RemoveSceneItem(obs_sceneitem_t item)
void OBSBasic::UpdateSources(obs_scene_t scene)
{
- sources->Clear();
+ ui->sources->clear();
obs_scene_enum_items(scene,
[] (obs_scene_t scene, obs_sceneitem_t item, void *p)
@@ -127,19 +129,20 @@ void OBSBasic::UpdateSceneSelection(obs_source_t source)
obs_source_type type;
obs_source_gettype(source, &type, NULL);
- if (type == SOURCE_SCENE) {
- obs_scene_t scene = obs_scene_fromsource(source);
- const char *name = obs_source_getname(source);
- int idx = scenes->FindString(WX_UTF8(name));
- int sel = scenes->GetSelection();
+ if (type != SOURCE_SCENE)
+ return;
- if (idx != sel) {
- scenes->SetSelection(idx);
- UpdateSources(scene);
- }
+ obs_scene_t scene = obs_scene_fromsource(source);
+ const char *name = obs_source_getname(source);
+
+ QListWidgetItem *sel = ui->scenes->currentItem();
+ QList items =
+ ui->scenes->findItems(QT_UTF8(name), Qt::MatchExactly);
+
+ if (items.contains(sel)) {
+ ui->scenes->setCurrentItem(sel);
+ UpdateSources(scene);
}
- } else {
- scenes->SetSelection(wxNOT_FOUND);
}
}
@@ -198,14 +201,18 @@ void OBSBasic::ChannelChanged(void *data, calldata_t params)
/* Main class functions */
-bool OBSBasic::Init()
+OBSBasic::OBSBasic(QWidget *parent)
+ : QMainWindow (parent),
+ ui (new Ui::OBSBasic)
{
+ ui->setupUi(this);
+
if (!obs_startup())
- return false;
+ throw "Failed to initialize libobs";
if (!InitGraphics())
- return false;
+ throw "Failed to initialize graphics";
if (!InitAudio())
- return false;
+ throw "Failed to initialize audio";
signal_handler_connect(obs_signalhandler(), "source-add",
OBSBasic::SourceAdded, this);
@@ -216,8 +223,6 @@ bool OBSBasic::Init()
/* TODO: this is a test */
obs_load_module("test-input");
-
- return true;
}
OBSBasic::~OBSBasic()
@@ -228,8 +233,10 @@ OBSBasic::~OBSBasic()
bool OBSBasic::InitGraphics()
{
struct obs_video_info ovi;
- wxGetApp().GetConfigFPS(ovi.fps_num, ovi.fps_den);
- ovi.graphics_module = wxGetApp().GetRenderModule();
+
+ App()->GetConfigFPS(ovi.fps_num, ovi.fps_den);
+
+ ovi.graphics_module = App()->GetRenderModule();
ovi.base_width = (uint32_t)config_get_uint(GetGlobalConfig(),
"Video", "BaseCX");
ovi.base_height = (uint32_t)config_get_uint(GetGlobalConfig(),
@@ -241,20 +248,19 @@ bool OBSBasic::InitGraphics()
ovi.output_format = VIDEO_FORMAT_RGBA;
ovi.adapter = 0;
-#ifdef __WXGTK__
+//#ifdef __WXGTK__
/* Ugly hack for GTK, I'm hoping this can be avoided eventually... */
- gtk_widget_realize(previewPanel->GetHandle());
-#endif
+// gtk_widget_realize(previewPanel->GetHandle());
+//#endif
- ovi.window = WxToGSWindow(previewPanel);
+ QTToGSWindow(ui->preview, ovi.window);
//required to make opengl display stuff on osx(?)
ResizePreview(ovi.base_width, ovi.base_height);
- SendSizeEvent();
- wxSize size = previewPanel->GetClientSize();
- ovi.window_width = size.x;
- ovi.window_height = size.y;
+ QSize size = ui->preview->size();
+ ovi.window_width = size.width();
+ ovi.window_height = size.height();
return obs_reset_video(&ovi);
}
@@ -272,83 +278,69 @@ bool OBSBasic::InitAudio()
return obs_reset_audio(&ai);
}
-void OBSBasic::OnClose(wxCloseEvent &event)
-{
- wxGetApp().ExitMainLoop();
- event.Skip();
-}
-
-void OBSBasic::OnMinimize(wxIconizeEvent &event)
-{
- event.Skip();
-}
-
void OBSBasic::ResizePreview(uint32_t cx, uint32_t cy)
{
+ double targetAspect, baseAspect;
+ QSize targetSize, newSize;
+
/* resize preview panel to fix to the top section of the window */
- wxSize targetSize = GetPreviewContainer()->GetSize();
- double targetAspect = double(targetSize.x) / double(targetSize.y);
- double baseAspect = double(cx) / double(cy);
- wxSize newSize;
+ targetSize = ui->previewContainer->size();
+ targetAspect = double(targetSize.width()) / double(targetSize.height());
+ baseAspect = double(cx) / double(cy);
if (targetAspect > baseAspect)
- newSize = wxSize(targetSize.y * baseAspect, targetSize.y);
+ newSize = QSize(targetSize.height() * baseAspect,
+ targetSize.height());
else
- newSize = wxSize(targetSize.x, targetSize.x / baseAspect);
+ newSize = QSize(targetSize.width(),
+ targetSize.width() / baseAspect);
- GetPreviewPanel()->SetMinSize(newSize);
+ //ui->preview->resize(newSize);
+
+ graphics_t graphics = obs_graphics();
+ /*if (graphics) {
+ gs_entercontext(graphics);
+ gs_resize(newSize.width(), newSize.height());
+ gs_leavecontext();
+ }*/
}
-void OBSBasic::OnSize(wxSizeEvent &event)
+void OBSBasic::closeEvent(QCloseEvent *event)
+{
+}
+
+void OBSBasic::changeEvent(QEvent *event)
+{
+}
+
+void OBSBasic::resizeEvent(QResizeEvent *event)
{
struct obs_video_info ovi;
- event.Skip();
-
- if (!obs_get_video_info(&ovi))
- return;
-
- ResizePreview(ovi.base_width, ovi.base_height);
+ if (obs_get_video_info(&ovi))
+ ResizePreview(ovi.base_width, ovi.base_height);
}
-void OBSBasic::OnResizePreview(wxSizeEvent &event)
-{
- event.Skip();
-
- wxSize newSize = previewPanel->GetClientSize();
-
- graphics_t graphics = obs_graphics();
- if (graphics) {
- gs_entercontext(graphics);
- gs_resize(newSize.x, newSize.y);
- gs_leavecontext();
- }
-}
-
-void OBSBasic::fileNewClicked(wxCommandEvent &event)
+void OBSBasic::on_action_New_triggered()
{
}
-void OBSBasic::fileOpenClicked(wxCommandEvent &event)
+void OBSBasic::on_action_Open_triggered()
{
}
-void OBSBasic::fileSaveClicked(wxCommandEvent &event)
+void OBSBasic::on_action_Save_triggered()
{
}
-void OBSBasic::fileExitClicked(wxCommandEvent &event)
+void OBSBasic::on_scenes_itemChanged(QListWidgetItem *item)
{
- wxGetApp().ExitMainLoop();
-}
-
-void OBSBasic::scenesClicked(wxCommandEvent &event)
-{
- int sel = scenes->GetSelection();
-
obs_source_t source = NULL;
- if (sel != wxNOT_FOUND) {
- obs_scene_t scene = (obs_scene_t)scenes->GetClientData(sel);
+
+ if (item) {
+ obs_scene_t scene;
+
+ scene = VariantPtr(item->data(Qt::UserRole));
source = obs_scene_getsource(scene);
UpdateSources(scene);
}
@@ -357,27 +349,27 @@ void OBSBasic::scenesClicked(wxCommandEvent &event)
obs_set_output_source(0, source);
}
-void OBSBasic::scenesRDown(wxMouseEvent &event)
+void OBSBasic::on_scenes_customContextMenuRequested(const QPoint &pos)
{
}
-void OBSBasic::sceneAddClicked(wxCommandEvent &event)
+void OBSBasic::on_actionAddScene_triggered()
{
string name;
- int ret = NameDialog::AskForName(this,
- Str("MainWindow.AddSceneDlg.Title"),
- Str("MainWindow.AddSceneDlg.Text"),
+ bool accepted = NameDialog::AskForName(this,
+ QTStr("MainWindow.AddSceneDlg.Title"),
+ QTStr("MainWindow.AddSceneDlg.Text"),
name);
- if (ret == wxID_OK) {
+ if (accepted) {
obs_source_t source = obs_get_source_by_name(name.c_str());
if (source) {
- wxMessageBox(WXStr("MainWindow.NameExists.Text"),
- WXStr("MainWindow.NameExists.Title"),
- wxOK|wxCENTRE, this);
+ QMessageBox::information(this,
+ QTStr("MainWindow.NameExists.Title"),
+ QTStr("MainWindow.NameExists.Text"));
obs_source_release(source);
- sceneAddClicked(event);
+ on_actionAddScene_triggered();
return;
}
@@ -390,38 +382,35 @@ void OBSBasic::sceneAddClicked(wxCommandEvent &event)
}
}
-void OBSBasic::sceneRemoveClicked(wxCommandEvent &event)
+void OBSBasic::on_actionRemoveScene_triggered()
{
- int sel = scenes->GetSelection();
- if (sel == wxNOT_FOUND)
+ QListWidgetItem *item = ui->scenes->currentItem();
+ if (!item)
return;
- obs_scene_t scene = (obs_scene_t)scenes->GetClientData(sel);
+ QVariant userData = item->data(Qt::UserRole);
+ obs_scene_t scene = VariantPtr(userData);
obs_source_t source = obs_scene_getsource(scene);
obs_source_remove(source);
}
-void OBSBasic::scenePropertiesClicked(wxCommandEvent &event)
+void OBSBasic::on_actionSceneProperties_triggered()
{
}
-void OBSBasic::sceneUpClicked(wxCommandEvent &event)
+void OBSBasic::on_actionSceneUp_triggered()
{
}
-void OBSBasic::sceneDownClicked(wxCommandEvent &event)
+void OBSBasic::on_actionSceneDown_triggered()
{
}
-void OBSBasic::sourcesClicked(wxCommandEvent &event)
+void OBSBasic::on_sources_itemChanged(QListWidgetItem *item)
{
}
-void OBSBasic::sourcesToggled(wxCommandEvent &event)
-{
-}
-
-void OBSBasic::sourcesRDown(wxMouseEvent &event)
+void OBSBasic::on_sources_customContextMenuRequested(const QPoint &pos)
{
}
@@ -431,22 +420,21 @@ void OBSBasic::AddSource(obs_scene_t scene, const char *id)
bool success = false;
while (!success) {
- int ret = NameDialog::AskForName(this,
+ bool accepted = NameDialog::AskForName(this,
Str("MainWindow.AddSourceDlg.Title"),
Str("MainWindow.AddSourceDlg.Text"),
name);
- if (ret == wxID_CANCEL)
+ if (!accepted)
break;
- obs_source_t source = obs_get_source_by_name(
- name.c_str());
+ obs_source_t source = obs_get_source_by_name(name.c_str());
if (!source) {
success = true;
} else {
- wxMessageBox(WXStr("MainWindow.NameExists.Text"),
- WXStr("MainWindow.NameExists.Title"),
- wxOK|wxCENTRE, this);
+ QMessageBox::information(this,
+ QTStr("MainWindow.NameExists.Title"),
+ QTStr("MainWindow.NameExists.Text"));
obs_source_release(source);
}
}
@@ -463,74 +451,69 @@ void OBSBasic::AddSource(obs_scene_t scene, const char *id)
}
}
-void OBSBasic::AddSourcePopupMenu()
+void OBSBasic::AddSourcePopupMenu(const QPoint &pos)
{
- int sceneSel = scenes->GetSelection();
- size_t idx = 0;
+ QListWidgetItem *sel = ui->scenes->currentItem();
const char *type;
- vector types;
+ bool foundValues = false;
+ size_t idx = 0;
- if (sceneSel == wxNOT_FOUND)
+ if (!sel)
return;
- obs_scene_t scene = (obs_scene_t)scenes->GetClientData(sceneSel);
+ obs_scene_t scene = VariantPtr(sel->data(Qt::UserRole));
obs_scene_addref(scene);
- unique_ptr popup(new wxMenu());
- while (obs_enum_input_types(idx, &type)) {
+ QMenu popup;
+ while (obs_enum_input_types(idx++, &type)) {
const char *name = obs_source_getdisplayname(SOURCE_INPUT,
- type, wxGetApp().GetLocale());
+ type, App()->GetLocale());
- types.push_back(type);
- popup->Append((int)idx+1, wxString(name, wxConvUTF8));
+ QAction *popupItem = new QAction(QT_UTF8(name), this);
+ popupItem->setData(QT_UTF8(type));
+ popup.addAction(popupItem);
- idx++;
+ foundValues = true;
}
- if (idx) {
- int id = WXDoPopupMenu(this, popup.get());
- if (id != -1)
- AddSource(scene, types[id-1]);
+ if (foundValues) {
+ QAction *ret = popup.exec(pos);
+ if (ret)
+ AddSource(scene, ret->data().toString().toUtf8());
}
obs_scene_release(scene);
}
-void OBSBasic::sourceAddClicked(wxCommandEvent &event)
+void OBSBasic::on_actionAddSource_triggered()
{
- AddSourcePopupMenu();
+ AddSourcePopupMenu(QCursor::pos());
}
-void OBSBasic::sourceRemoveClicked(wxCommandEvent &event)
+void OBSBasic::on_actionRemoveSource_triggered()
{
- int sel = sources->GetSelection();
- if (sel == wxNOT_FOUND)
+ QListWidgetItem *sel = ui->sources->currentItem();
+ if (!sel)
return;
- obs_sceneitem_t item = (obs_sceneitem_t)sources->GetClientData(sel);
+ QVariant userData = sel->data(Qt::UserRole);
+ obs_sceneitem_t item = VariantPtr(userData);
obs_source_t source = obs_sceneitem_getsource(item);
obs_sceneitem_destroy(item);
}
-void OBSBasic::sourcePropertiesClicked(wxCommandEvent &event)
+void OBSBasic::on_actionSourceProperties_triggered()
{
}
-void OBSBasic::sourceUpClicked(wxCommandEvent &event)
+void OBSBasic::on_actionSourceUp_triggered()
{
}
-void OBSBasic::sourceDownClicked(wxCommandEvent &event)
+void OBSBasic::on_actionSourceDown_triggered()
{
}
-void OBSBasic::settingsClicked(wxCommandEvent &event)
+void OBSBasic::on_settingsButton_clicked()
{
- OBSBasicSettings test(this);
- test.ShowModal();
-}
-
-void OBSBasic::exitClicked(wxCommandEvent &event)
-{
- wxGetApp().ExitMainLoop();
}
diff --git a/obs/window-basic-main.hpp b/obs/window-basic-main.hpp
index 8afb07db4..0bc8e429c 100644
--- a/obs/window-basic-main.hpp
+++ b/obs/window-basic-main.hpp
@@ -17,13 +17,21 @@
#pragma once
-#include "forms/OBSWindows.h"
-
#include
-
#include
+#include
+#include
-class OBSBasic : public OBSBasicBase {
+class QListWidgetItem;
+
+namespace Ui {
+ class OBSBasic;
+};
+
+class OBSBasic : public QMainWindow {
+ Q_OBJECT
+
+private:
std::unordered_map sourceSceneRefs;
obs_scene_t GetCurrentScene();
@@ -44,7 +52,7 @@ class OBSBasic : public OBSBasicBase {
void ResizePreview(uint32_t cx, uint32_t cy);
void AddSource(obs_scene_t scene, const char *id);
- void AddSourcePopupMenu();
+ void AddSourcePopupMenu(const QPoint &pos);
bool InitGraphics();
bool InitAudio();
@@ -54,39 +62,34 @@ class OBSBasic : public OBSBasicBase {
void LoadProject();
protected:
- /* wxWidgets callbacks */
- virtual void OnClose(wxCloseEvent &event);
- virtual void OnMinimize(wxIconizeEvent &event);
- virtual void OnSize(wxSizeEvent &event);
- virtual void OnResizePreview(wxSizeEvent &event);
- virtual void fileNewClicked(wxCommandEvent &event);
- virtual void fileOpenClicked(wxCommandEvent &event);
- virtual void fileSaveClicked(wxCommandEvent &event);
- virtual void fileExitClicked(wxCommandEvent &event);
- virtual void scenesClicked(wxCommandEvent &event);
- virtual void scenesRDown(wxMouseEvent &event);
- virtual void sceneAddClicked(wxCommandEvent &event);
- virtual void sceneRemoveClicked(wxCommandEvent &event);
- virtual void scenePropertiesClicked(wxCommandEvent &event);
- virtual void sceneUpClicked(wxCommandEvent &event);
- virtual void sceneDownClicked(wxCommandEvent &event);
- virtual void sourcesClicked(wxCommandEvent &event);
- virtual void sourcesToggled(wxCommandEvent &event);
- virtual void sourcesRDown(wxMouseEvent &event);
- virtual void sourceAddClicked(wxCommandEvent &event);
- virtual void sourceRemoveClicked(wxCommandEvent &event);
- virtual void sourcePropertiesClicked(wxCommandEvent &event);
- virtual void sourceUpClicked(wxCommandEvent &event);
- virtual void sourceDownClicked(wxCommandEvent &event);
- virtual void settingsClicked(wxCommandEvent &event);
- virtual void exitClicked(wxCommandEvent &event);
+ virtual void closeEvent(QCloseEvent *event);
+ virtual void changeEvent(QEvent *event);
+ virtual void resizeEvent(QResizeEvent *event);
+
+private slots:
+ void on_action_New_triggered();
+ void on_action_Open_triggered();
+ void on_action_Save_triggered();
+ void on_scenes_itemChanged(QListWidgetItem *item);
+ void on_scenes_customContextMenuRequested(const QPoint &pos);
+ void on_actionAddScene_triggered();
+ void on_actionRemoveScene_triggered();
+ void on_actionSceneProperties_triggered();
+ void on_actionSceneUp_triggered();
+ void on_actionSceneDown_triggered();
+ void on_sources_itemChanged(QListWidgetItem *item);
+ void on_sources_customContextMenuRequested(const QPoint &pos);
+ void on_actionAddSource_triggered();
+ void on_actionRemoveSource_triggered();
+ void on_actionSourceProperties_triggered();
+ void on_actionSourceUp_triggered();
+ void on_actionSourceDown_triggered();
+ void on_settingsButton_clicked();
public:
- inline OBSBasic() : OBSBasicBase(NULL) {}
- virtual ~OBSBasic();
+ explicit OBSBasic(QWidget *parent = 0);
+ ~OBSBasic();
- bool Init();
-
- inline wxPanel *GetPreviewPanel() {return previewPanel;}
- inline wxSizer *GetPreviewContainer() {return previewContainer;}
+private:
+ std::unique_ptr ui;
};
diff --git a/obs/window-namedialog.cpp b/obs/window-namedialog.cpp
index 8e7076a1f..bf29cbf30 100644
--- a/obs/window-namedialog.cpp
+++ b/obs/window-namedialog.cpp
@@ -16,31 +16,27 @@
******************************************************************************/
#include "window-namedialog.hpp"
+#include "ui_NameDialog.h"
+
using namespace std;
-void NameDialog::OnClose(wxCloseEvent &event)
+NameDialog::NameDialog(QWidget *parent)
+ : QDialog (parent),
+ ui (new Ui::NameDialog)
{
- EndModal(wxID_CANCEL);
+ ui->setupUi(this);
}
-void NameDialog::OKPressed(wxCommandEvent &event)
+bool NameDialog::AskForName(QWidget *parent, const QString &title,
+ const QString &text, string &str)
{
- EndModal(wxID_OK);
-}
+ NameDialog dialog(parent);
+ dialog.setWindowTitle(title);
+ dialog.ui->label->setText(text);
-void NameDialog::CancelPressed(wxCommandEvent &event)
-{
- EndModal(wxID_CANCEL);
-}
+ bool accepted = (dialog.exec() == DialogCode::Accepted);
+ if (accepted)
+ str = dialog.ui->userText->text().toUtf8();
-int NameDialog::AskForName(wxWindow *parent, const char *title,
- const char *text, string &str)
-{
- NameDialog *dialog = new NameDialog(parent);
- dialog->SetTitle(wxString(title, wxConvUTF8));
- dialog->questionText->SetLabel(wxString(text, wxConvUTF8));
-
- int ret = dialog->ShowModal();
- str = dialog->nameEdit->GetValue().ToUTF8().data();
- return ret;
+ return accepted;
}
diff --git a/obs/window-namedialog.hpp b/obs/window-namedialog.hpp
index 152e42131..04dfd8478 100644
--- a/obs/window-namedialog.hpp
+++ b/obs/window-namedialog.hpp
@@ -17,22 +17,23 @@
#pragma once
-#include "forms/OBSWindows.h"
-
+#include
#include
+#include
-class NameDialog : public NameDialogBase {
-protected:
- virtual void OnClose(wxCloseEvent &event) override;
- virtual void OKPressed(wxCommandEvent &event) override;
- virtual void CancelPressed(wxCommandEvent &event) override;
+namespace Ui {
+ class NameDialog;
+};
+
+class NameDialog : public QDialog {
+ Q_OBJECT
+
+private:
+ std::unique_ptr ui;
public:
- inline NameDialog(wxWindow *parent)
- : NameDialogBase(parent)
- {
- }
+ NameDialog(QWidget *parent);
- static int AskForName(wxWindow *parent, const char *title,
- const char *text, std::string &str);
+ static bool AskForName(QWidget *parent, const QString &title,
+ const QString &text, std::string &str);
};
diff --git a/obs/wx-subclass.cpp b/obs/wx-subclass.cpp
deleted file mode 100644
index 8d8d85f50..000000000
--- a/obs/wx-subclass.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/******************************************************************************
- Copyright (C) 2013 by Hugh Bailey
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-******************************************************************************/
-
-#include "wx-subclass.hpp"
-
-#ifndef WX_PRECOMP
- #include
-#endif
-
-#ifdef _WIN32
-#include
-
-#define WIN32_MEAN_AND_LEAN
-#include
-
-/* copied from the wx windows-specific stuff */
-wxFont wxCreateFontFromStockObject2(int index)
-{
- wxFont font;
-
- HFONT hFont = (HFONT)::GetStockObject(index);
- if (hFont) {
- LOGFONT lf;
- if (::GetObject(hFont, sizeof(LOGFONT), &lf) != 0) {
- wxNativeFontInfo info;
- info.lf = lf;
-#ifdef __WXMICROWIN__
- font.Create(info, (WXHFONT)hFont);
-#else
- font.Create(info);
-#endif
- } else {
- wxFAIL_MSG(wxT("failed to get LOGFONT"));
- }
- } else {
- wxFAIL_MSG(wxT("stock font not found"));
- }
-
- return font;
-}
-#endif
-
-DialogSubclass::DialogSubclass(wxWindow *parent, wxWindowID id,
- const wxString &title, const wxPoint &pos, const wxSize &size,
- long style, const wxString &name)
- : wxDialog(parent, id, title, pos, size, style, name)
-{
-#ifdef _WIN32
- this->SetFont(wxFont(wxCreateFontFromStockObject2(DEFAULT_GUI_FONT)));
-#endif
-}
-
-WindowSubclass::WindowSubclass(wxWindow* parent, wxWindowID id,
- const wxString& title, const wxPoint& pos, const wxSize& size,
- long style)
- : wxFrame(parent, id, title, pos, size, style)
-{
-#ifdef _WIN32
- this->SetFont(wxFont(wxCreateFontFromStockObject2(DEFAULT_GUI_FONT)));
-#endif
-}
-
-ListCtrlFixed::ListCtrlFixed(wxWindow *parent,
- wxWindowID id,
- const wxPoint& pos,
- const wxSize& size,
- long style,
- const wxValidator& validator,
- const wxString& name)
- : wxListCtrl(parent, id, pos, size, style, validator, name)
-{
- m_bestSizeCache.Set(wxDefaultCoord, wxDefaultCoord);
- SetInitialSize(size);
-}
-
-wxSize ListCtrlFixed::DoGetBestClientSize() const
-{
- if (!InReportView())
- return wxControl::DoGetBestClientSize();
-
- int totalWidth;
- wxClientDC dc(const_cast(this));
-
- const int columns = GetColumnCount();
- if (HasFlag(wxLC_NO_HEADER) || !columns) {
- totalWidth = 50*dc.GetCharWidth();
- } else {
- totalWidth = 0;
- for ( int col = 0; col < columns; col++ )
- totalWidth += GetColumnWidth(col);
- }
-
- /*
- * This is what we're fixing. Some.. very foolish person decided,
- * "Oh, let's give this an 'arbitrary' height! How about, let's see,
- * I don't know! LET'S USE 10 * FONT HEIGHT!" ..Unfortunately, this
- * person basically makes it impossible to use smaller sized list
- * views in report mode. It will always become tremendously large in
- * size, despite what constraints you originally have set with sizers.
- * brilliant job, whoever you are. 10 * character height.. just..
- * unbeleivably wow. I am ASTOUNDED.
- */
- return wxSize(totalWidth, 3*dc.GetCharHeight());
-}
diff --git a/obs/wx-subclass.hpp b/obs/wx-subclass.hpp
deleted file mode 100644
index 67a907285..000000000
--- a/obs/wx-subclass.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/******************************************************************************
- Copyright (C) 2013 by Hugh Bailey
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-******************************************************************************/
-
-#pragma once
-#include
-#include
-#include
-
-#include "obs-app.hpp"
-
-/*
- * Fixes windows fonts to be default dialog fonts (the fonts they recommend
- * look like garbage)
- */
-
-#ifdef _
-#undef _
-#define _(str) wxString(Str(str), wxConvUTF8)
-#endif
-
-class DialogSubclass : public wxDialog {
-public:
- DialogSubclass(wxWindow *parent, wxWindowID id,
- const wxString &title,
- const wxPoint &pos = wxDefaultPosition,
- const wxSize &size = wxDefaultSize,
- long style = wxDEFAULT_DIALOG_STYLE,
- const wxString &name = wxDialogNameStr);
-};
-
-class WindowSubclass : public wxFrame {
-public:
- WindowSubclass(wxWindow* parent, wxWindowID id, const wxString& title,
- const wxPoint& pos, const wxSize& size, long style);
-};
-
-/*
- * To fix report view default sizing because it defaults to 10 * fontheight in
- * report view. Why? Who knows.
- */
-class ListCtrlFixed : public wxListCtrl {
-public:
- ListCtrlFixed(wxWindow *parent,
- wxWindowID id = wxID_ANY,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxLC_ICON,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxListCtrlNameStr);
-
- virtual wxSize DoGetBestClientSize() const;
-};
diff --git a/obs/wx-wrappers.cpp b/obs/wx-wrappers.cpp
deleted file mode 100644
index f2211cd74..000000000
--- a/obs/wx-wrappers.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/******************************************************************************
- Copyright (C) 2013 by Hugh Bailey
- Copyright (C) 2014 by Zachary Lund
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-******************************************************************************/
-
-#include
-#include
-#include
-#include "wx-wrappers.hpp"
-#include
-
-#ifdef __WXGTK__
-#include
-#include
-#endif
-
-#include
-using namespace std;
-
-gs_window WxToGSWindow(const wxWindow *wxwin)
-{
- gs_window window;
-
-#ifdef __APPLE__
- window.view = (id)wxwin->GetHandle();
-#elif _WIN32
- window.hwnd = wxwin->GetHandle();
-#else
- GdkWindow* gdkwin = gtk_widget_get_window(wxwin->GetHandle());
- window.id = GDK_DRAWABLE_XID(gdkwin);
- window.display = GDK_DRAWABLE_XDISPLAY(gdkwin);
-#endif
-
- return window;
-}
-
-void OBSErrorBox(wxWindow *parent, const char *message, ...)
-{
- va_list args;
- char output[4096];
-
- va_start(args, message);
- vsnprintf(output, 4095, message, args);
- va_end(args);
-
- wxMessageBox(message, "Error", wxOK|wxCENTRE, parent);
- blog(LOG_ERROR, "%s", output);
-}
-
-class MenuWrapper : public wxEvtHandler {
-public:
- int retId;
-
- inline MenuWrapper() : retId(-1) {}
-
- void GetItem(wxCommandEvent &event)
- {
- retId = event.GetId();
- }
-};
-
-int WXDoPopupMenu(wxWindow *parent, wxMenu *menu)
-{
- unique_ptr wrapper(new MenuWrapper);
-
- menu->Connect(wxEVT_MENU,
- wxCommandEventHandler(MenuWrapper::GetItem),
- NULL, wrapper.get());
-
- bool success = parent->PopupMenu(menu);
-
- menu->Disconnect(wxEVT_MENU,
- wxCommandEventHandler(MenuWrapper::GetItem),
- NULL, wrapper.get());
-
- return (success) ? wrapper->retId : -1;
-}
diff --git a/obs/wx-wrappers.hpp b/obs/wx-wrappers.hpp
deleted file mode 100644
index c952d1d96..000000000
--- a/obs/wx-wrappers.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/******************************************************************************
- Copyright (C) 2013 by Hugh Bailey
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-******************************************************************************/
-
-#pragma once
-
-#include
-#include
-#include
-
-#include
-
-#define WX_UTF8(str) wxString(str, wxConvUTF8)
-
-struct gs_window;
-
-gs_window WxToGSWindow(const wxWindow *window);
-void OBSErrorBox(wxWindow *parent, const char *message, ...);
-
-/* returns actual ID of menu item clicked rather than be forced to use
- * all the BS handler crap */
-int WXDoPopupMenu(wxWindow *parent, wxMenu *menu);
-
-/*
- * RAII wx connection wrapper
- *
- * Automatically disconnects events on destruction rather than having to
- * manually call Disconnect for every Connect.
- */
-
-class WXConnector {
- wxEvtHandler *obj;
- wxEventType eventType;
- wxObjectEventFunction func;
- wxObject *userData;
- wxEvtHandler *eventSink;
-
- WXConnector(WXConnector const&) = delete;
-
- WXConnector &operator=(WXConnector const&) = delete;
-
-public:
- inline WXConnector()
- : obj (NULL),
- eventType (0),
- func (NULL),
- userData (NULL),
- eventSink (NULL)
- {
- }
-
- inline WXConnector(wxEvtHandler *obj, wxEventType eventType,
- wxObjectEventFunction func, wxObject *userData,
- wxEvtHandler *eventSink)
- : obj (obj),
- eventType (eventType),
- func (func),
- userData (userData),
- eventSink (eventSink)
- {
- obj->Connect(eventType, func, userData, eventSink);
- }
-
- inline WXConnector(WXConnector &&c)
- : obj (c.obj),
- eventType (c.eventType),
- func (c.func),
- userData (c.userData),
- eventSink (c.eventSink)
- {
- c.obj = NULL;
- }
-
- inline ~WXConnector()
- {
- Disconnect();
- }
-
- inline void Connect(wxEvtHandler *obj, wxEventType eventType,
- wxObjectEventFunction func, wxObject *userData,
- wxEvtHandler *eventSink)
- {
- Disconnect();
-
- this->obj = obj;
- this->eventType = eventType;
- this->func = func;
- this->userData = userData;
- this->eventSink = eventSink;
-
- obj->Connect(eventType, func, userData, eventSink);
- }
-
- inline void Disconnect()
- {
- if (obj) {
- obj->Disconnect(eventType, func, userData, eventSink);
- obj = NULL;
- }
- }
-};
-
-class ConnectorList {
- std::vector connectors;
-
-public:
- inline void Add(wxEvtHandler *obj, wxEventType type,
- wxObjectEventFunction func, wxObject *userData,
- wxEvtHandler *eventSink)
- {
- connectors.emplace_back(obj, type, func, userData, eventSink);
- }
-};
diff --git a/vs/2013/OBS.sln b/vs/2013/OBS.sln
index a936c0a8b..9eaefac8c 100644
--- a/vs/2013/OBS.sln
+++ b/vs/2013/OBS.sln
@@ -33,11 +33,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libobs-opengl", "libobs-ope
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew_static", "..\..\libobs-opengl\glew\build\vc10\glew_static.vcxproj", "{664E6F0D-6784-4760-9565-D54F8EB1EDF4}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OBS", "OBS\OBS.vcxproj", "{C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}"
- ProjectSection(ProjectDependencies) = postProject
- {6F1AC2AE-6424-401A-AF9F-A771E6BEE026} = {6F1AC2AE-6424-401A-AF9F-A771E6BEE026}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jansson", "..\..\deps\jansson\win32\vs2010\jansson.vcxproj", "{76226D20-1972-4789-A595-EDACC7A76DC3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obs-ffmpeg", "obs-ffmpeg\obs-ffmpeg.vcxproj", "{36970254-B1E5-4BE6-A561-301B6E7CDCE3}"
@@ -45,6 +40,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obs-ffmpeg", "obs-ffmpeg\ob
{6F1AC2AE-6424-401A-AF9F-A771E6BEE026} = {6F1AC2AE-6424-401A-AF9F-A771E6BEE026}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obs-studio", "obs-studio\obs-studio.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -109,22 +106,13 @@ Global
{664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|Win32.Build.0 = Release|Win32
{664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|x64.ActiveCfg = Release|x64
{664E6F0D-6784-4760-9565-D54F8EB1EDF4}.Release|x64.Build.0 = Release|x64
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Debug|Win32.ActiveCfg = Debug|Win32
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Debug|Win32.Build.0 = Debug|Win32
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Debug|x64.ActiveCfg = Debug|x64
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Debug|x64.Build.0 = Debug|x64
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Release|Win32.ActiveCfg = Release|Win32
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Release|Win32.Build.0 = Release|Win32
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Release|x64.ActiveCfg = Release|x64
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}.Release|x64.Build.0 = Release|x64
{76226D20-1972-4789-A595-EDACC7A76DC3}.Debug|Win32.ActiveCfg = Debug|Win32
{76226D20-1972-4789-A595-EDACC7A76DC3}.Debug|Win32.Build.0 = Debug|Win32
- {76226D20-1972-4789-A595-EDACC7A76DC3}.Debug|x64.ActiveCfg = Debug|x64
- {76226D20-1972-4789-A595-EDACC7A76DC3}.Debug|x64.Build.0 = Debug|x64
+ {76226D20-1972-4789-A595-EDACC7A76DC3}.Debug|x64.ActiveCfg = Debug|Win32
+ {76226D20-1972-4789-A595-EDACC7A76DC3}.Debug|x64.Build.0 = Debug|Win32
{76226D20-1972-4789-A595-EDACC7A76DC3}.Release|Win32.ActiveCfg = Release|Win32
{76226D20-1972-4789-A595-EDACC7A76DC3}.Release|Win32.Build.0 = Release|Win32
- {76226D20-1972-4789-A595-EDACC7A76DC3}.Release|x64.ActiveCfg = Release|x64
- {76226D20-1972-4789-A595-EDACC7A76DC3}.Release|x64.Build.0 = Release|x64
+ {76226D20-1972-4789-A595-EDACC7A76DC3}.Release|x64.ActiveCfg = Release|Win32
{36970254-B1E5-4BE6-A561-301B6E7CDCE3}.Debug|Win32.ActiveCfg = Debug|Win32
{36970254-B1E5-4BE6-A561-301B6E7CDCE3}.Debug|Win32.Build.0 = Debug|Win32
{36970254-B1E5-4BE6-A561-301B6E7CDCE3}.Debug|x64.ActiveCfg = Debug|x64
@@ -133,6 +121,14 @@ Global
{36970254-B1E5-4BE6-A561-301B6E7CDCE3}.Release|Win32.Build.0 = Release|Win32
{36970254-B1E5-4BE6-A561-301B6E7CDCE3}.Release|x64.ActiveCfg = Release|x64
{36970254-B1E5-4BE6-A561-301B6E7CDCE3}.Release|x64.Build.0 = Release|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.Build.0 = Debug|Win32
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.ActiveCfg = Release|Win32
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.Build.0 = Release|Win32
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/vs/2013/OBS/OBS.vcxproj b/vs/2013/OBS/OBS.vcxproj
deleted file mode 100644
index 80c0219e0..000000000
--- a/vs/2013/OBS/OBS.vcxproj
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {C6CD0240-5A92-43F6-B0EE-FF3ACE10742F}
- Win32Proj
- OBS
-
-
-
- Application
- true
- Unicode
- v120
-
-
- Application
- true
- Unicode
- v120
-
-
- Application
- false
- true
- Unicode
- v120
-
-
- Application
- false
- true
- Unicode
- v120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- $(wxWidgetsPath)\include;$(wxWidgetsPath)\include\msvc;$(IncludePath)
- $(wxWidgetsPath)\lib\vc_lib;$(LibraryPath)
-
-
- true
- $(wxWidgetsPath)\include;$(wxWidgetsPath)\include\msvc;$(IncludePath)
- $(wxWidgetsPath)\lib\vc_x64_lib;$(LibraryPath)
-
-
- false
- $(wxWidgetsPath)\include;$(wxWidgetsPath)\include\msvc;$(IncludePath)
- $(wxWidgetsPath)\lib\vc_lib;$(LibraryPath)
-
-
- false
- $(wxWidgetsPath)\include;$(wxWidgetsPath)\include\msvc;$(IncludePath)
- $(wxWidgetsPath)\lib\vc_x64_lib;$(LibraryPath)
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
- ../../../libobs
-
-
- Windows
- true
- libobs.lib;%(AdditionalDependencies)
- $(OutDir);%(AdditionalLibraryDirectories)
-
-
- copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
- ../../../libobs
-
-
- Windows
- true
- libobs.lib;%(AdditionalDependencies)
- $(OutDir);%(AdditionalLibraryDirectories)
-
-
- copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
- ../../../libobs
-
-
- Windows
- true
- true
- true
- libobs.lib;%(AdditionalDependencies)
- $(OutDir);%(AdditionalLibraryDirectories)
-
-
- copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
- ../../../libobs
-
-
- Windows
- true
- true
- true
- libobs.lib;%(AdditionalDependencies)
- $(OutDir);%(AdditionalLibraryDirectories)
-
-
- copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vs/2013/OBS/OBS.vcxproj.filters b/vs/2013/OBS/OBS.vcxproj.filters
deleted file mode 100644
index 970e90843..000000000
--- a/vs/2013/OBS/OBS.vcxproj.filters
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hpp;hxx;hm;inl;inc;xsd
-
-
- {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
- {f75b760c-c01b-4e94-a989-ec8158e234c5}
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- wx forms
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- wx forms
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
\ No newline at end of file
diff --git a/vs/2013/obs-studio/obs-studio.vcxproj b/vs/2013/obs-studio/obs-studio.vcxproj
new file mode 100644
index 000000000..7cff35445
--- /dev/null
+++ b/vs/2013/obs-studio/obs-studio.vcxproj
@@ -0,0 +1,442 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+
+
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing qt-display.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing qt-display.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing qt-display.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing qt-display.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+
+
+
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-namedialog.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-namedialog.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-namedialog.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-namedialog.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+
+
+
+
+
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-basic-main.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-basic-main.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-basic-main.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing window-basic-main.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+
+
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing obs-app.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing obs-app.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing obs-app.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+ $(QTDIR)\bin\moc.exe;%(FullPath)
+ Moc%27ing obs-app.hpp...
+ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp
+ "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\..\..\..\libobs" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I.\..\..\..\obs"
+
+
+
+
+
+
+
+
+
+ true
+ true
+
+
+ true
+ true
+
+
+ true
+ true
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+
+
+ true
+ true
+
+
+ true
+ true
+
+
+ true
+ true
+
+
+
+
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+
+
+
+
+ %(FullPath);..\..\..\obs\forms\images\add.ico;..\..\..\obs\forms\images\delete.ico;..\..\..\obs\forms\images\document-properties-2.png;..\..\..\obs\forms\images\down.ico;..\..\..\obs\forms\images\editscene.ico;..\..\..\obs\forms\images\list_add.png;..\..\..\obs\forms\images\list_remove.png;..\..\..\obs\forms\images\live.ico;..\..\..\obs\forms\images\properties.ico;..\..\..\obs\forms\images\sound.ico;..\..\..\obs\forms\images\sound_muted.ico;..\..\..\obs\forms\images\up.ico;%(AdditionalInputs)
+ Rcc%27ing %(Identity)...
+ .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)
+ "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp
+ %(FullPath);..\..\..\obs\forms\images\add.ico;..\..\..\obs\forms\images\delete.ico;..\..\..\obs\forms\images\document-properties-2.png;..\..\..\obs\forms\images\down.ico;..\..\..\obs\forms\images\editscene.ico;..\..\..\obs\forms\images\list_add.png;..\..\..\obs\forms\images\list_remove.png;..\..\..\obs\forms\images\live.ico;..\..\..\obs\forms\images\properties.ico;..\..\..\obs\forms\images\sound.ico;..\..\..\obs\forms\images\sound_muted.ico;..\..\..\obs\forms\images\up.ico;%(AdditionalInputs)
+ Rcc%27ing %(Identity)...
+ .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)
+ "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp
+ %(FullPath);..\..\..\obs\forms\images\add.ico;..\..\..\obs\forms\images\delete.ico;..\..\..\obs\forms\images\document-properties-2.png;..\..\..\obs\forms\images\down.ico;..\..\..\obs\forms\images\editscene.ico;..\..\..\obs\forms\images\list_add.png;..\..\..\obs\forms\images\list_remove.png;..\..\..\obs\forms\images\live.ico;..\..\..\obs\forms\images\properties.ico;..\..\..\obs\forms\images\sound.ico;..\..\..\obs\forms\images\sound_muted.ico;..\..\..\obs\forms\images\up.ico;%(AdditionalInputs)
+ Rcc%27ing %(Identity)...
+ .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)
+ "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp
+ %(FullPath);..\..\..\obs\forms\images\add.ico;..\..\..\obs\forms\images\delete.ico;..\..\..\obs\forms\images\document-properties-2.png;..\..\..\obs\forms\images\down.ico;..\..\..\obs\forms\images\editscene.ico;..\..\..\obs\forms\images\list_add.png;..\..\..\obs\forms\images\list_remove.png;..\..\..\obs\forms\images\live.ico;..\..\..\obs\forms\images\properties.ico;..\..\..\obs\forms\images\sound.ico;..\..\..\obs\forms\images\sound_muted.ico;..\..\..\obs\forms\images\up.ico;%(AdditionalInputs)
+ Rcc%27ing %(Identity)...
+ .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)
+ "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+
+
+
+
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+ $(QTDIR)\bin\uic.exe;%(AdditionalInputs)
+ Uic%27ing %(Identity)...
+ .\GeneratedFiles\ui_%(Filename).h;%(Outputs)
+ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
+
+
+
+ {B12702AD-ABFB-343A-A199-8E24837244A3}
+ Qt4VSv1.0
+ obs-studio
+
+
+
+ Application
+ v120
+
+
+ Application
+ v120
+
+
+ Application
+ v120
+
+
+ Application
+ v120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>12.0.21005.1
+
+
+ $(SolutionDir)$(Platform)\$(Configuration)\
+
+
+ $(SolutionDir)$(Platform)\$(Configuration)\
+
+
+ $(SolutionDir)$(Platform)\$(Configuration)\
+
+
+ $(SolutionDir)$(Platform)\$(Configuration)\
+
+
+
+ UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)
+ ../../../libobs;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;..\..\..\obs;%(AdditionalIncludeDirectories)
+ Disabled
+ ProgramDatabase
+ MultiThreadedDebugDLL
+ true
+
+
+ Windows
+ $(OutDir)\$(ProjectName).exe
+ $(OutDir);$(QTDIR)\lib;%(AdditionalLibraryDirectories)
+ true
+ libobs.lib;qtmaind.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;%(AdditionalDependencies)
+
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
+
+
+
+
+ UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)
+ ../../../libobs;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;..\..\..\obs;%(AdditionalIncludeDirectories)
+ Disabled
+ ProgramDatabase
+ MultiThreadedDebugDLL
+ true
+
+
+ Windows
+ $(OutDir)\$(ProjectName).exe
+ $(OutDir);$(QTDIR)\lib;%(AdditionalLibraryDirectories)
+ true
+ libobs.lib;qtmaind.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;%(AdditionalDependencies)
+
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
+
+
+
+
+ UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)
+ ../../../libobs;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;..\..\..\obs;%(AdditionalIncludeDirectories)
+
+ MultiThreadedDLL
+ true
+
+
+ Windows
+ $(OutDir)\$(ProjectName).exe
+ $(OutDir);$(QTDIR)\lib;%(AdditionalLibraryDirectories)
+ false
+ libobs.lib;qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;%(AdditionalDependencies)
+
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
+
+
+
+
+ UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)
+ ../../../libobs;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;..\..\..\obs;%(AdditionalIncludeDirectories)
+
+ MultiThreadedDLL
+ true
+
+
+ Windows
+ $(OutDir)\$(ProjectName).exe
+ $(OutDir);$(QTDIR)\lib;%(AdditionalLibraryDirectories)
+ false
+ libobs.lib;qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;%(AdditionalDependencies)
+
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vs/2013/obs-studio/obs-studio.vcxproj.filters b/vs/2013/obs-studio/obs-studio.vcxproj.filters
new file mode 100644
index 000000000..4498dee1d
--- /dev/null
+++ b/vs/2013/obs-studio/obs-studio.vcxproj.filters
@@ -0,0 +1,162 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;cxx;c;def
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h
+
+
+ {99349809-55BA-4b9d-BF79-8FDBB0286EB3}
+ ui
+
+
+ {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}
+ qrc;*
+ false
+
+
+ {71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}
+ moc;h;cpp
+ False
+
+
+ {149188c7-e594-4827-9428-37ad0e0dc3eb}
+ cpp;moc
+ False
+
+
+ {46c1acc8-e7cc-426f-b54d-60ed04803613}
+ cpp;moc
+ False
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Form Files
+
+
+ Resource Files
+
+
+ Form Files
+
+
+ Form Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Generated Files
+
+
+ Generated Files
+
+
+ Generated Files
+
+
+
+
+ Source Files
+
+
+ Generated Files\Debug
+
+
+ Generated Files\Release
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Generated Files\Debug
+
+
+ Generated Files\Release
+
+
+ Source Files
+
+
+ Generated Files
+
+
+ Generated Files\Debug
+
+
+ Generated Files\Release
+
+
+ Source Files
+
+
+ Generated Files\Debug
+
+
+ Generated Files\Release
+
+
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/vs/2013/pthreads/pthreads.vcxproj b/vs/2013/pthreads/pthreads.vcxproj
index fed2b7cf9..becb05069 100644
--- a/vs/2013/pthreads/pthreads.vcxproj
+++ b/vs/2013/pthreads/pthreads.vcxproj
@@ -25,26 +25,26 @@
- StaticLibrary
+ DynamicLibrary
true
MultiByte
v120
- StaticLibrary
+ DynamicLibrary
true
MultiByte
v120
- StaticLibrary
+ DynamicLibrary
false
true
MultiByte
v120
- StaticLibrary
+ DynamicLibrary
false
true
MultiByte
@@ -73,7 +73,7 @@
Level3
Disabled
- __CLEANUP_C;WIN32;_DEBUG;_WINDOWS;_LIB;PTW32_BUILD;PTW32_STATIC_LIB;%(PreprocessorDefinitions)
+ __CLEANUP_C;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
false
MultiThreadedDebug
@@ -81,6 +81,9 @@
Windows
true
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"
+
@@ -88,7 +91,7 @@
Level3
Disabled
- __CLEANUP_C;WIN32;_DEBUG;_WINDOWS;_LIB;PTW32_BUILD;PTW32_STATIC_LIB;%(PreprocessorDefinitions)
+ __CLEANUP_C;WIN32;_DEBUG;_WINDOWS;_LIB;PTW32_BUILD;%(PreprocessorDefinitions)
false
MultiThreadedDebug
@@ -96,6 +99,9 @@
Windows
true
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
+
@@ -105,7 +111,7 @@
MaxSpeed
true
true
- __CLEANUP_C;WIN32;NDEBUG;_WINDOWS;_LIB;PTW32_BUILD;PTW32_STATIC_LIB;%(PreprocessorDefinitions)
+ __CLEANUP_C;WIN32;NDEBUG;_WINDOWS;_LIB;PTW32_BUILD;%(PreprocessorDefinitions)
false
MultiThreaded
@@ -115,6 +121,9 @@
true
true
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/32bit/$(TargetName)$(TargetExt)"
+
@@ -124,7 +133,7 @@
MaxSpeed
true
true
- __CLEANUP_C;WIN32;NDEBUG;_WINDOWS;_LIB;PTW32_BUILD;PTW32_STATIC_LIB;%(PreprocessorDefinitions)
+ __CLEANUP_C;WIN32;NDEBUG;_WINDOWS;_LIB;PTW32_BUILD;%(PreprocessorDefinitions)
false
MultiThreaded
@@ -134,6 +143,9 @@
true
true
+
+ copy "$(OutDir)$(TargetName)$(TargetExt)" "../../../build/bin/64bit/$(TargetName)$(TargetExt)"
+