mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-03-06 07:36:12 -05:00
apply configure video settings on startup
This commit is contained in:
@@ -40,8 +40,10 @@ class BasicVideoData : public BasicSettingsData {
|
||||
void LoadFPSNanoseconds();
|
||||
void ResetScaleList(uint32_t cx, uint32_t cy);
|
||||
|
||||
void BaseResListChanged(wxCommandEvent &event);
|
||||
void OutputResListChanged(wxCommandEvent &event);
|
||||
void RendererChanged(wxCommandEvent &event);
|
||||
void BaseResChanged(wxCommandEvent &event);
|
||||
void OutputResChanged(wxCommandEvent &event);
|
||||
void FPSChanged(wxCommandEvent &event);
|
||||
|
||||
void SaveOther();
|
||||
void SaveFPSData();
|
||||
@@ -280,6 +282,11 @@ void BasicVideoData::ResetScaleList(uint32_t cx, uint32_t cy)
|
||||
}
|
||||
}
|
||||
|
||||
#define ADD_CONNECT(control, event, func) \
|
||||
connections.Add(window->control, event, \
|
||||
wxCommandEventHandler(BasicVideoData::func), \
|
||||
NULL, this)
|
||||
|
||||
BasicVideoData::BasicVideoData(OBSBasicSettings *window)
|
||||
: BasicSettingsData(window)
|
||||
{
|
||||
@@ -288,19 +295,37 @@ BasicVideoData::BasicVideoData(OBSBasicSettings *window)
|
||||
LoadOther();
|
||||
|
||||
/* load connectors after loading data to prevent them from triggering */
|
||||
connections.Add(window->baseResList, wxEVT_TEXT,
|
||||
wxCommandEventHandler(
|
||||
BasicVideoData::BaseResListChanged),
|
||||
NULL, this);
|
||||
connections.Add(window->outputResList, wxEVT_TEXT,
|
||||
wxCommandEventHandler(
|
||||
BasicVideoData::OutputResListChanged),
|
||||
NULL, this);
|
||||
ADD_CONNECT(baseResList, wxEVT_TEXT, BaseResChanged);
|
||||
ADD_CONNECT(outputResList, wxEVT_TEXT, OutputResChanged);
|
||||
ADD_CONNECT(rendererList, wxEVT_COMBOBOX, RendererChanged);
|
||||
ADD_CONNECT(fpsCommonList, wxEVT_COMBOBOX, FPSChanged);
|
||||
ADD_CONNECT(fpsIntegerScroller, wxEVT_SPINCTRL, FPSChanged);
|
||||
ADD_CONNECT(fpsNumeratorScroller, wxEVT_SPINCTRL, FPSChanged);
|
||||
ADD_CONNECT(fpsDenominatorScroller, wxEVT_SPINCTRL, FPSChanged);
|
||||
ADD_CONNECT(fpsNanosecondsScroller, wxEVT_SPINCTRL, FPSChanged);
|
||||
ADD_CONNECT(fpsIntegerScroller, wxEVT_TEXT, FPSChanged);
|
||||
ADD_CONNECT(fpsNumeratorScroller, wxEVT_TEXT, FPSChanged);
|
||||
ADD_CONNECT(fpsDenominatorScroller, wxEVT_TEXT, FPSChanged);
|
||||
ADD_CONNECT(fpsNanosecondsScroller, wxEVT_TEXT, FPSChanged);
|
||||
ADD_CONNECT(fpsTypeList, wxEVT_CHOICEBOOK_PAGE_CHANGED,
|
||||
FPSChanged);
|
||||
|
||||
window->videoChangedText->Hide();
|
||||
}
|
||||
|
||||
void BasicVideoData::BaseResListChanged(wxCommandEvent &event)
|
||||
void BasicVideoData::RendererChanged(wxCommandEvent &event)
|
||||
{
|
||||
SetChanged();
|
||||
window->videoChangedText->SetLabel(WXStr("Settings.ProgramRestart"));
|
||||
window->videoChangedText->Show();
|
||||
}
|
||||
|
||||
void BasicVideoData::FPSChanged(wxCommandEvent &event)
|
||||
{
|
||||
SetChanged();
|
||||
}
|
||||
|
||||
void BasicVideoData::BaseResChanged(wxCommandEvent &event)
|
||||
{
|
||||
uint32_t cx, cy;
|
||||
if (!ConvertTextRes(window->baseResList, cx, cy)) {
|
||||
@@ -311,13 +336,11 @@ void BasicVideoData::BaseResListChanged(wxCommandEvent &event)
|
||||
}
|
||||
|
||||
SetChanged();
|
||||
window->videoChangedText->SetLabel(WXStr("Settings.StreamRestart"));
|
||||
window->videoChangedText->Show();
|
||||
|
||||
ResetScaleList(cx, cy);
|
||||
}
|
||||
|
||||
void BasicVideoData::OutputResListChanged(wxCommandEvent &event)
|
||||
void BasicVideoData::OutputResChanged(wxCommandEvent &event)
|
||||
{
|
||||
uint32_t cx, cy;
|
||||
if (!ConvertTextRes(window->outputResList, cx, cy)) {
|
||||
@@ -328,8 +351,6 @@ void BasicVideoData::OutputResListChanged(wxCommandEvent &event)
|
||||
}
|
||||
|
||||
SetChanged();
|
||||
window->videoChangedText->SetLabel(WXStr("Settings.StreamRestart"));
|
||||
window->videoChangedText->Show();
|
||||
}
|
||||
|
||||
void BasicVideoData::SaveOther()
|
||||
@@ -412,6 +433,8 @@ void BasicVideoData::Apply()
|
||||
|
||||
config_save(GetGlobalConfig());
|
||||
|
||||
/* TODO: If resolutiosn/fps were chaned, reset video */
|
||||
|
||||
SetSaved();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user