Streamline (settings) hotkey handling
This moves all hotkeys that were accessible in the audio/publish settings panes to a new hotkeys settings pane Also makes the push to talk hotkeys behave like all other (settings) hotkeys, i.e. as long as a hotkey is configured the hotkey is activemaster
parent
5d635e3b6c
commit
0b5158d9e3
121
OBS.rc
121
OBS.rc
|
@ -56,7 +56,7 @@ CAPTION "Settings"
|
|||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LISTBOX IDC_SETTINGSLIST,3,4,118,386,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "スタティック",IDC_SUBDIALOG,"Static",SS_LEFTNOWORDWRAP | NOT WS_VISIBLE | WS_GROUP,125,5,427,385,WS_EX_STATICEDGE
|
||||
CONTROL "Static",IDC_SUBDIALOG,"Static",SS_LEFTNOWORDWRAP | NOT WS_VISIBLE | WS_GROUP,125,5,427,385,WS_EX_STATICEDGE
|
||||
DEFPUSHBUTTON "OK",IDOK,339,392,67,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,412,392,67,14
|
||||
PUSHBUTTON "Apply",IDC_APPLY,485,392,67,14
|
||||
|
@ -89,26 +89,14 @@ BEGIN
|
|||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,160,126,240,10,WS_EX_RIGHT
|
||||
CONTROL "Settings.Publish.SaveToFile",IDC_SAVETOFILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,126,145,10,WS_EX_RIGHT
|
||||
RTEXT "Settings.Publish.SavePath",IDC_SAVEPATH_STATIC,7,144,133,8
|
||||
EDITTEXT IDC_SAVEPATH,143,141,190,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Browse",IDC_BROWSE,337,141,63,14
|
||||
RTEXT "Settings.Publish.StartStreamHotkey",IDC_STARTSTREAMHOTKEY_STATIC,7,162,133,8
|
||||
CONTROL "カスタム1",IDC_STARTSTREAMHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,144,159,80,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY_STARTSTREAM,225,159,66,14
|
||||
RTEXT "Settings.Publish.StopStreamHotkey",IDC_STOPSTREAMHOTKEY_STATIC,7,180,133,8
|
||||
CONTROL "カスタム1",IDC_STOPSTREAMHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,144,177,80,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY,225,177,66,14
|
||||
RTEXT "Settings.Publish.StartRecordingHotkey",IDC_STARTRECORDINGHOTKEY_STATIC,7,198,133,8
|
||||
CONTROL "カスタム1",IDC_STARTRECORDINGHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,144,195,80,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY_STARTRECORDING,225,195,66,14
|
||||
RTEXT "Settings.Publish.StopRecordingHotkey",IDC_STOPRECORDINGHOTKEY_STATIC,7,216,133,8
|
||||
CONTROL "カスタム1",IDC_STOPRECORDINGHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,144,213,80,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY_STOPRECORDING,225,213,66,14
|
||||
LTEXT "Settings.Info",IDC_INFO,7,353,408,20,NOT WS_VISIBLE
|
||||
EDITTEXT IDC_SAVEPATH,143,141,214,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Browse",IDC_BROWSE,359,141,63,14
|
||||
LTEXT "Settings.Info",IDC_INFO,7,373,408,11,NOT WS_VISIBLE
|
||||
COMBOBOX IDC_SERVERLIST,144,43,226,59,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
RTEXT ".FMS URL:",IDC_URL_STATIC,4,46,138,8
|
||||
RTEXT "Settings.Publish.Server",IDC_SERVER_STATIC,4,46,138,8
|
||||
EDITTEXT IDC_URL,144,43,258,14,ES_AUTOHSCROLL
|
||||
LTEXT "Service Warnings Go Here",IDC_WARNINGS,7,231,408,120
|
||||
EDITTEXT IDC_URL,144,43,278,14,ES_AUTOHSCROLL
|
||||
LTEXT "Service Warnings Go Here",IDC_WARNINGS,7,240,408,132
|
||||
END
|
||||
|
||||
IDD_SETTINGS_ENCODING DIALOGEX 0, 0, 427, 336
|
||||
|
@ -208,30 +196,20 @@ BEGIN
|
|||
PUSHBUTTON "Settings.Audio.ResetMic",IDC_RESETMIC,298,26,122,14
|
||||
CONTROL "Settings.Audio.ShowOnlyConnectedDevices",IDC_CONNECTEDONLY,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,145,55,275,10
|
||||
CONTROL "Settings.Audio.PushToTalkHotkey",IDC_PUSHTOTALK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,71,143,10,WS_EX_RIGHT
|
||||
CONTROL "カスタム1",IDC_PUSHTOTALKHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,159,69,63,14
|
||||
CONTROL "カスタム2",IDC_PUSHTOTALKHOTKEY2,"OBSHotkeyControlEx",WS_TABSTOP,229,69,63,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARPUSHTOTALK,298,69,73,14
|
||||
RTEXT "Settings.Audio.PushToTalkDelay",IDC_STATIC,5,90,138,8
|
||||
EDITTEXT IDC_PTTDELAY_EDIT,145,87,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_PTTDELAY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,186,87,10,14
|
||||
RTEXT "Settings.Audio.MuteMicHotkey",IDC_STATIC,5,108,138,8
|
||||
CONTROL "カスタム1",IDC_MUTEMICHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,145,106,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARMUTEMIC,242,106,73,14
|
||||
RTEXT "Settings.Audio.MuteDesktopHotkey",IDC_STATIC,5,126,138,8
|
||||
CONTROL "カスタム1",IDC_MUTEDESKTOPHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,145,124,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARMUTEDESKTOP,242,124,73,14
|
||||
CONTROL "Settings.Audio.ForceMicMono",IDC_FORCEMONO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,145,43,275,10
|
||||
RTEXT "Settings.Audio.DesktopBoost",IDC_STATIC,5,146,138,8
|
||||
EDITTEXT IDC_DESKTOPBOOST_EDIT,144,144,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_DESKTOPBOOST,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,185,144,10,14
|
||||
RTEXT "Settings.Audio.MicBoost",IDC_STATIC,5,164,138,8
|
||||
EDITTEXT IDC_MICBOOST_EDIT,144,162,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_MICBOOST,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,185,162,10,14
|
||||
RTEXT "Settings.Audio.MicTimeOffset",IDC_STATIC,5,182,138,8
|
||||
EDITTEXT IDC_MICTIMEOFFSET_EDIT,144,180,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_MICTIMEOFFSET,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,185,180,10,14
|
||||
LTEXT "Settings.Info",IDC_INFO,5,220,408,37,NOT WS_VISIBLE
|
||||
RTEXT "Settings.Audio.DesktopBoost",IDC_STATIC,5,107,138,8
|
||||
EDITTEXT IDC_DESKTOPBOOST_EDIT,144,105,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_DESKTOPBOOST,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,185,105,10,14
|
||||
RTEXT "Settings.Audio.MicBoost",IDC_STATIC,5,125,138,8
|
||||
EDITTEXT IDC_MICBOOST_EDIT,144,123,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_MICBOOST,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,185,123,10,14
|
||||
RTEXT "Settings.Audio.MicTimeOffset",IDC_STATIC,5,143,138,8
|
||||
EDITTEXT IDC_MICTIMEOFFSET_EDIT,144,141,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_MICTIMEOFFSET,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,185,141,10,14
|
||||
LTEXT "Settings.Info",IDC_INFO,5,181,408,37,NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_ENTERNAME DIALOGEX 0, 0, 265, 49
|
||||
|
@ -362,7 +340,7 @@ CAPTION "Scene.Hotkey"
|
|||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
RTEXT "Scene.Hotkey.Hotkey",IDC_STATIC,7,10,82,8
|
||||
CONTROL "カスタム1",IDC_HOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,93,7,80,14
|
||||
CONTROL "Custom1",IDC_HOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,93,7,80,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEAR,177,7,56,14
|
||||
DEFPUSHBUTTON "OK",IDOK,130,28,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,183,28,50,14
|
||||
|
@ -999,6 +977,71 @@ IDC_COLORPICKER CURSOR "cursor1.cur"
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (United States) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_SETTINGS_HOTKEYS DIALOGEX 0, 0, 429, 385
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "Settings.Hotkeys.Audio",IDC_STATIC,7,7,413,70
|
||||
CONTROL "Custom1",IDC_PUSHTOTALKHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,156,21,63,14
|
||||
CONTROL "Custom2",IDC_PUSHTOTALKHOTKEY2,"OBSHotkeyControlEx",WS_TABSTOP,223,21,63,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARPUSHTOTALK,288,21,73,14
|
||||
RTEXT "Settings.Audio.PTTHotkeys",IDC_STATIC,16,24,138,8
|
||||
RTEXT "Settings.Audio.MuteMicHotkey",IDC_STATIC,16,40,138,8
|
||||
CONTROL "Custom1",IDC_MUTEMICHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,156,37,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARMUTEMIC,253,37,73,14
|
||||
RTEXT "Settings.Audio.MuteDesktopHotkey",IDC_STATIC,16,55,138,8
|
||||
CONTROL "Custom1",IDC_MUTEDESKTOPHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,156,53,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARMUTEDESKTOP,253,53,73,14
|
||||
GROUPBOX "Settings.Hotkeys.Publish",IDC_STATIC,7,83,413,101
|
||||
RTEXT "Settings.Publish.StartStreamHotkey",IDC_STARTSTREAMHOTKEY_STATIC,16,99,138,8
|
||||
CONTROL "Custom1",IDC_STARTSTREAMHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,156,96,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY_STARTSTREAM,253,96,73,14
|
||||
RTEXT "Settings.Publish.StopStreamHotkey",IDC_STOPSTREAMHOTKEY_STATIC,16,115,138,8
|
||||
CONTROL "Custom1",IDC_STOPSTREAMHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,156,112,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY,253,112,73,14
|
||||
RTEXT "Settings.Publish.StartRecordingHotkey",IDC_STARTRECORDINGHOTKEY_STATIC,16,131,138,8
|
||||
CONTROL "Custom1",IDC_STARTRECORDINGHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,156,128,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY_STARTRECORDING,253,128,73,14
|
||||
RTEXT "Settings.Publish.StopRecordingHotkey",IDC_STOPRECORDINGHOTKEY_STATIC,16,147,138,8
|
||||
CONTROL "Custom1",IDC_STOPRECORDINGHOTKEY,"OBSHotkeyControlEx",WS_TABSTOP,156,144,96,14
|
||||
PUSHBUTTON "ClearHotkey",IDC_CLEARHOTKEY_STOPRECORDING,253,144,73,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_SETTINGS_HOTKEYS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 420
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 376
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (United States) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (Ireland) resources
|
||||
|
||||
|
|
|
@ -302,6 +302,7 @@
|
|||
<ClCompile Include="Source\SettingsAudio.cpp" />
|
||||
<ClCompile Include="Source\SettingsEncoding.cpp" />
|
||||
<ClCompile Include="Source\SettingsGeneral.cpp" />
|
||||
<ClCompile Include="Source\SettingsHotkeys.cpp" />
|
||||
<ClCompile Include="Source\SettingsPublish.cpp" />
|
||||
<ClCompile Include="Source\SettingsVideo.cpp" />
|
||||
<ClCompile Include="Source\TextOutputSource.cpp" />
|
||||
|
|
|
@ -151,6 +151,9 @@
|
|||
<ClCompile Include="Source\LogUploader.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Source\SettingsHotkeys.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Source\D3D10System.h">
|
||||
|
|
|
@ -1520,9 +1520,9 @@ void OBS::ReloadIniSettings()
|
|||
QuickClearHotkey(stopRecordingHotkeyID);
|
||||
QuickClearHotkey(startRecordingHotkeyID);
|
||||
|
||||
bUsingPushToTalk = AppConfig->GetInt(TEXT("Audio"), TEXT("UsePushToTalk")) != 0;
|
||||
DWORD hotkey = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkHotkey"));
|
||||
DWORD hotkey2 = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkHotkey2"));
|
||||
bUsingPushToTalk = hotkey || hotkey2;
|
||||
pushToTalkDelay = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkDelay"), 200);
|
||||
|
||||
if(bUsingPushToTalk && hotkey)
|
||||
|
|
|
@ -665,6 +665,7 @@ private:
|
|||
friend class SettingsVideo;
|
||||
friend class SettingsAudio;
|
||||
friend class SettingsAdvanced;
|
||||
friend class SettingsHotkeys;
|
||||
|
||||
//---------------------------------------------------
|
||||
// mainly manly main window stuff
|
||||
|
|
|
@ -132,8 +132,9 @@ void OBS::AddBuiltInSettingsPanes()
|
|||
AddSettingsPane(new SettingsPublish());
|
||||
AddSettingsPane(new SettingsVideo());
|
||||
AddSettingsPane(new SettingsAudio());
|
||||
AddSettingsPane(new SettingsHotkeys());
|
||||
AddSettingsPane(new SettingsAdvanced());
|
||||
numberOfBuiltInSettingsPanes = 6;
|
||||
numberOfBuiltInSettingsPanes = 7;
|
||||
}
|
||||
|
||||
void OBS::SetChangedSettings(bool bChanged)
|
||||
|
|
|
@ -235,3 +235,30 @@ public:
|
|||
private:
|
||||
void SelectPresetDialog(bool useQSV, bool useNVENC);
|
||||
};
|
||||
|
||||
//============================================================================
|
||||
// SettingsHotkeys class
|
||||
|
||||
class SettingsHotkeys : public SettingsPane
|
||||
{
|
||||
//-----------------------------------------------------------------------
|
||||
// Constructor/destructor
|
||||
|
||||
public:
|
||||
SettingsHotkeys();
|
||||
virtual ~SettingsHotkeys() override;
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Methods
|
||||
|
||||
public:
|
||||
// Interface
|
||||
virtual CTSTR GetCategory() const override;
|
||||
virtual HWND CreatePane(HWND parentHwnd) override;
|
||||
virtual void DestroyPane() override;
|
||||
virtual INT_PTR ProcMessage(UINT message, WPARAM wParam, LPARAM lParam) override;
|
||||
virtual void ApplySettings() override;
|
||||
virtual void CancelSettings() override;
|
||||
virtual bool HasDefaults() const override;
|
||||
};
|
||||
|
||||
|
|
|
@ -83,65 +83,13 @@ void SettingsAudio::ApplySettings()
|
|||
|
||||
//------------------------------------
|
||||
|
||||
App->bUsingPushToTalk = SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALK), BM_GETCHECK, 0, 0) == BST_CHECKED;
|
||||
DWORD hotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
DWORD hotkey2 = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), HKM_GETHOTKEY, 0, 0);
|
||||
|
||||
App->pushToTalkDelay = (int)SendMessage(GetDlgItem(hwnd, IDC_PTTDELAY), UDM_GETPOS32, 0, 0);
|
||||
if(App->pushToTalkDelay < 0)
|
||||
App->pushToTalkDelay = 0;
|
||||
else if(App->pushToTalkDelay > 2000)
|
||||
App->pushToTalkDelay = 2000;
|
||||
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("UsePushToTalk"), App->bUsingPushToTalk);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("PushToTalkHotkey"), hotkey);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("PushToTalkHotkey2"), hotkey2);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("PushToTalkDelay"), (int)App->pushToTalkDelay);
|
||||
|
||||
if (App->pushToTalkHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->pushToTalkHotkeyID);
|
||||
App->pushToTalkHotkeyID = 0;
|
||||
}
|
||||
if (App->pushToTalkHotkey2ID)
|
||||
{
|
||||
API->DeleteHotkey(App->pushToTalkHotkey2ID);
|
||||
App->pushToTalkHotkey2ID = 0;
|
||||
}
|
||||
|
||||
if(App->bUsingPushToTalk && hotkey)
|
||||
App->pushToTalkHotkeyID = API->CreateHotkey(hotkey, OBS::PushToTalkHotkey, NULL);
|
||||
if(App->bUsingPushToTalk && hotkey2)
|
||||
App->pushToTalkHotkey2ID = API->CreateHotkey(hotkey2, OBS::PushToTalkHotkey, NULL);
|
||||
|
||||
//------------------------------------
|
||||
|
||||
hotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_MUTEMICHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("MuteMicHotkey"), hotkey);
|
||||
|
||||
if(App->muteMicHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->muteMicHotkeyID);
|
||||
App->muteDesktopHotkeyID = 0;
|
||||
}
|
||||
|
||||
if(hotkey)
|
||||
App->muteMicHotkeyID = API->CreateHotkey(hotkey, OBS::MuteMicHotkey, NULL);
|
||||
|
||||
//------------------------------------
|
||||
|
||||
hotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_MUTEDESKTOPHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("MuteDesktopHotkey"), hotkey);
|
||||
|
||||
if(App->muteDesktopHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->muteDesktopHotkeyID);
|
||||
App->muteDesktopHotkeyID = 0;
|
||||
}
|
||||
|
||||
if(hotkey)
|
||||
App->muteDesktopHotkeyID = API->CreateHotkey(hotkey, OBS::MuteDesktopHotkey, NULL);
|
||||
|
||||
//------------------------------------
|
||||
|
||||
App->bForceMicMono = SendMessage(GetDlgItem(hwnd, IDC_FORCEMONO), BM_GETCHECK, 0, 0) == BST_CHECKED;
|
||||
|
@ -301,35 +249,12 @@ INT_PTR SettingsAudio::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
//--------------------------------------------
|
||||
|
||||
BOOL bPushToTalk = AppConfig->GetInt(TEXT("Audio"), TEXT("UsePushToTalk"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALK), BM_SETCHECK, bPushToTalk ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), bPushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), bPushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_CLEARPUSHTOTALK), bPushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PTTDELAY_EDIT), bPushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PTTDELAY), bPushToTalk);
|
||||
|
||||
DWORD hotkey = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), HKM_SETHOTKEY, hotkey, 0);
|
||||
DWORD hotkey2 = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkHotkey2"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), HKM_SETHOTKEY, hotkey2, 0);
|
||||
|
||||
int pttDelay = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkDelay"), 200);
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PTTDELAY), UDM_SETRANGE32, 0, 2000);
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PTTDELAY), UDM_SETPOS32, 0, pttDelay);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
hotkey = AppConfig->GetInt(TEXT("Audio"), TEXT("MuteMicHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEMICHOTKEY), HKM_SETHOTKEY, hotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
hotkey = AppConfig->GetInt(TEXT("Audio"), TEXT("MuteDesktopHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEDESKTOPHOTKEY), HKM_SETHOTKEY, hotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
BOOL bForceMono = AppConfig->GetInt(TEXT("Audio"), TEXT("ForceMicMono"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_FORCEMONO), BM_SETCHECK, bForceMono ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
|
||||
|
@ -385,19 +310,6 @@ INT_PTR SettingsAudio::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_PUSHTOTALK:
|
||||
if(HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
BOOL bUsePushToTalk = SendMessage((HWND)lParam, BM_GETCHECK, 0, 0) == BST_CHECKED;
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), bUsePushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), bUsePushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_CLEARPUSHTOTALK), bUsePushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PTTDELAY_EDIT), bUsePushToTalk);
|
||||
EnableWindow(GetDlgItem(hwnd, IDC_PTTDELAY), bUsePushToTalk);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_RESETMIC:
|
||||
{
|
||||
App->ResetMic();
|
||||
|
@ -417,40 +329,11 @@ INT_PTR SettingsAudio::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
case IDC_MICTIMEOFFSET_EDIT:
|
||||
case IDC_DESKTOPBOOST_EDIT:
|
||||
case IDC_MICBOOST_EDIT:
|
||||
case IDC_PUSHTOTALKHOTKEY:
|
||||
case IDC_PUSHTOTALKHOTKEY2:
|
||||
case IDC_MUTEMICHOTKEY:
|
||||
case IDC_MUTEDESKTOPHOTKEY:
|
||||
case IDC_PTTDELAY_EDIT:
|
||||
if(HIWORD(wParam) == EN_CHANGE)
|
||||
SetChangedSettings(true);
|
||||
break;
|
||||
|
||||
case IDC_CLEARPUSHTOTALK:
|
||||
if(HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARMUTEMIC:
|
||||
if(HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEMICHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARMUTEDESKTOP:
|
||||
if(HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEDESKTOPHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_FORCEMONO:
|
||||
if(HIWORD(wParam) == BN_CLICKED)
|
||||
SetChangedSettings(true);
|
||||
|
|
|
@ -0,0 +1,311 @@
|
|||
/********************************************************************************
|
||||
Copyright (C) 2014 Ruwen Hahn <palana@stunned.de>
|
||||
|
||||
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, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
********************************************************************************/
|
||||
|
||||
#include "Settings.h"
|
||||
|
||||
//============================================================================
|
||||
// SettingsHotkeys class
|
||||
|
||||
SettingsHotkeys::SettingsHotkeys()
|
||||
: SettingsPane()
|
||||
{
|
||||
}
|
||||
|
||||
SettingsHotkeys::~SettingsHotkeys()
|
||||
{
|
||||
}
|
||||
|
||||
CTSTR SettingsHotkeys::GetCategory() const
|
||||
{
|
||||
static CTSTR name = Str("Settings.Hotkeys");
|
||||
return name;
|
||||
}
|
||||
|
||||
HWND SettingsHotkeys::CreatePane(HWND parentHwnd)
|
||||
{
|
||||
hwnd = OBSCreateDialog(hinstMain, MAKEINTRESOURCE(IDD_SETTINGS_HOTKEYS), parentHwnd, (DLGPROC)DialogProc, (LPARAM)this);
|
||||
return hwnd;
|
||||
}
|
||||
|
||||
void SettingsHotkeys::DestroyPane()
|
||||
{
|
||||
DestroyWindow(hwnd);
|
||||
hwnd = nullptr;
|
||||
}
|
||||
|
||||
void SettingsHotkeys::ApplySettings()
|
||||
{
|
||||
//------------------------------------
|
||||
|
||||
DWORD hotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
DWORD hotkey2 = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), HKM_GETHOTKEY, 0, 0);
|
||||
App->bUsingPushToTalk = hotkey || hotkey2;
|
||||
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("PushToTalkHotkey"), hotkey);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("PushToTalkHotkey2"), hotkey2);
|
||||
|
||||
if (App->pushToTalkHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->pushToTalkHotkeyID);
|
||||
App->pushToTalkHotkeyID = 0;
|
||||
}
|
||||
if (App->pushToTalkHotkey2ID)
|
||||
{
|
||||
API->DeleteHotkey(App->pushToTalkHotkey2ID);
|
||||
App->pushToTalkHotkey2ID = 0;
|
||||
}
|
||||
|
||||
if (App->bUsingPushToTalk && hotkey)
|
||||
App->pushToTalkHotkeyID = API->CreateHotkey(hotkey, OBS::PushToTalkHotkey, NULL);
|
||||
if (App->bUsingPushToTalk && hotkey2)
|
||||
App->pushToTalkHotkey2ID = API->CreateHotkey(hotkey2, OBS::PushToTalkHotkey, NULL);
|
||||
|
||||
//------------------------------------
|
||||
|
||||
hotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_MUTEMICHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("MuteMicHotkey"), hotkey);
|
||||
|
||||
if (App->muteMicHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->muteMicHotkeyID);
|
||||
App->muteDesktopHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (hotkey)
|
||||
App->muteMicHotkeyID = API->CreateHotkey(hotkey, OBS::MuteMicHotkey, NULL);
|
||||
|
||||
//------------------------------------
|
||||
|
||||
hotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_MUTEDESKTOPHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Audio"), TEXT("MuteDesktopHotkey"), hotkey);
|
||||
|
||||
if (App->muteDesktopHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->muteDesktopHotkeyID);
|
||||
App->muteDesktopHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (hotkey)
|
||||
App->muteDesktopHotkeyID = API->CreateHotkey(hotkey, OBS::MuteDesktopHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD stopStreamHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StopStreamHotkey"), stopStreamHotkey);
|
||||
|
||||
if (App->stopStreamHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->stopStreamHotkeyID);
|
||||
App->stopStreamHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (stopStreamHotkey)
|
||||
App->stopStreamHotkeyID = API->CreateHotkey(stopStreamHotkey, OBS::StopStreamHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD startStreamHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StartStreamHotkey"), startStreamHotkey);
|
||||
|
||||
if (App->startStreamHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->startStreamHotkeyID);
|
||||
App->startStreamHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (startStreamHotkey)
|
||||
App->startStreamHotkeyID = API->CreateHotkey(startStreamHotkey, OBS::StartStreamHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD stopRecordingHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StopRecordingHotkey"), stopRecordingHotkey);
|
||||
|
||||
if (App->stopRecordingHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->stopRecordingHotkeyID);
|
||||
App->stopRecordingHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (stopRecordingHotkey)
|
||||
App->stopRecordingHotkeyID = API->CreateHotkey(stopRecordingHotkey, OBS::StopRecordingHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD startRecordingHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StartRecordingHotkey"), startRecordingHotkey);
|
||||
|
||||
if (App->startRecordingHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->startRecordingHotkeyID);
|
||||
App->startRecordingHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (startRecordingHotkey)
|
||||
App->startRecordingHotkeyID = API->CreateHotkey(startRecordingHotkey, OBS::StartRecordingHotkey, NULL);
|
||||
}
|
||||
|
||||
void SettingsHotkeys::CancelSettings()
|
||||
{
|
||||
}
|
||||
|
||||
bool SettingsHotkeys::HasDefaults() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
INT_PTR SettingsHotkeys::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
LocalizeWindow(hwnd);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
DWORD hotkey = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), HKM_SETHOTKEY, hotkey, 0);
|
||||
DWORD hotkey2 = AppConfig->GetInt(TEXT("Audio"), TEXT("PushToTalkHotkey2"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), HKM_SETHOTKEY, hotkey2, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
hotkey = AppConfig->GetInt(TEXT("Audio"), TEXT("MuteMicHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEMICHOTKEY), HKM_SETHOTKEY, hotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
hotkey = AppConfig->GetInt(TEXT("Audio"), TEXT("MuteDesktopHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEDESKTOPHOTKEY), HKM_SETHOTKEY, hotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
DWORD startHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StartStreamHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_SETHOTKEY, startHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
DWORD stopHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StopStreamHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_SETHOTKEY, stopHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
startHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StartRecordingHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_SETHOTKEY, startHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
stopHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StopRecordingHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_SETHOTKEY, stopHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
//need this as some of the dialog item sets above trigger the notifications
|
||||
SetChangedSettings(false);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_PUSHTOTALKHOTKEY:
|
||||
case IDC_PUSHTOTALKHOTKEY2:
|
||||
case IDC_MUTEMICHOTKEY:
|
||||
case IDC_MUTEDESKTOPHOTKEY:
|
||||
case IDC_STARTSTREAMHOTKEY:
|
||||
case IDC_STOPSTREAMHOTKEY:
|
||||
case IDC_STARTRECORDINGHOTKEY:
|
||||
case IDC_STOPRECORDINGHOTKEY:
|
||||
if (HIWORD(wParam) == EN_CHANGE)
|
||||
SetChangedSettings(true);
|
||||
break;
|
||||
|
||||
case IDC_CLEARPUSHTOTALK:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SendMessage(GetDlgItem(hwnd, IDC_PUSHTOTALKHOTKEY2), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARMUTEMIC:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEMICHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARMUTEDESKTOP:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_MUTEDESKTOPHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY_STARTSTREAM:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if (SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if (SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY_STARTRECORDING:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if (SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY_STOPRECORDING:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if (SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return FALSE;
|
||||
}
|
|
@ -149,62 +149,6 @@ void SettingsPublish::ApplySettings()
|
|||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD stopStreamHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StopStreamHotkey"), stopStreamHotkey);
|
||||
|
||||
if(App->stopStreamHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->stopStreamHotkeyID);
|
||||
App->stopStreamHotkeyID = 0;
|
||||
}
|
||||
|
||||
if(stopStreamHotkey)
|
||||
App->stopStreamHotkeyID = API->CreateHotkey(stopStreamHotkey, OBS::StopStreamHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD startStreamHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StartStreamHotkey"), startStreamHotkey);
|
||||
|
||||
if(App->startStreamHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->startStreamHotkeyID);
|
||||
App->startStreamHotkeyID = 0;
|
||||
}
|
||||
|
||||
if(startStreamHotkey)
|
||||
App->startStreamHotkeyID = API->CreateHotkey(startStreamHotkey, OBS::StartStreamHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD stopRecordingHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StopRecordingHotkey"), stopRecordingHotkey);
|
||||
|
||||
if (App->stopRecordingHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->stopRecordingHotkeyID);
|
||||
App->stopRecordingHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (stopRecordingHotkey)
|
||||
App->stopRecordingHotkeyID = API->CreateHotkey(stopRecordingHotkey, OBS::StopRecordingHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
DWORD startRecordingHotkey = (DWORD)SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0);
|
||||
AppConfig->SetInt(TEXT("Publish"), TEXT("StartRecordingHotkey"), startRecordingHotkey);
|
||||
|
||||
if (App->startRecordingHotkeyID)
|
||||
{
|
||||
API->DeleteHotkey(App->startRecordingHotkeyID);
|
||||
App->startRecordingHotkeyID = 0;
|
||||
}
|
||||
|
||||
if (startRecordingHotkey)
|
||||
App->startRecordingHotkeyID = API->CreateHotkey(startRecordingHotkey, OBS::StartRecordingHotkey, NULL);
|
||||
|
||||
//------------------------------------------
|
||||
|
||||
App->ConfigureStreamButtons();
|
||||
|
||||
/*
|
||||
|
@ -686,42 +630,10 @@ INT_PTR SettingsPublish::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
AdjustWindowPos(GetDlgItem(hwnd, IDC_SAVEPATH_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_SAVEPATH), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_BROWSE), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STARTSTREAM), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STARTRECORDING), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STOPRECORDING), 0, -data.fileControlOffset);
|
||||
}
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
DWORD startHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StartStreamHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_SETHOTKEY, startHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
DWORD stopHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StopStreamHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_SETHOTKEY, stopHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
startHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StartRecordingHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_SETHOTKEY, startHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
stopHotkey = AppConfig->GetInt(TEXT("Publish"), TEXT("StopRecordingHotkey"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_SETHOTKEY, stopHotkey, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
BOOL bKeepRecording = AppConfig->GetInt(TEXT("Publish"), TEXT("KeepRecording"));
|
||||
SendMessage(GetDlgItem(hwnd, IDC_KEEPRECORDING), BM_SETCHECK, bKeepRecording ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
|
||||
|
@ -815,18 +727,6 @@ INT_PTR SettingsPublish::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
AdjustWindowPos(GetDlgItem(hwnd, IDC_SAVEPATH_STATIC), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_SAVEPATH), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_BROWSE), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY_STATIC), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY_STATIC), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STARTSTREAM), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY_STATIC), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY_STATIC), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STARTRECORDING), 0, data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STOPRECORDING), 0, data.fileControlOffset);
|
||||
|
||||
}
|
||||
else if(mode == 1 && data.mode == 0)
|
||||
|
@ -834,18 +734,6 @@ INT_PTR SettingsPublish::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
AdjustWindowPos(GetDlgItem(hwnd, IDC_SAVEPATH_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_SAVEPATH), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_BROWSE), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STARTSTREAM), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY_STATIC), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STARTRECORDING), 0, -data.fileControlOffset);
|
||||
AdjustWindowPos(GetDlgItem(hwnd, IDC_CLEARHOTKEY_STOPRECORDING), 0, -data.fileControlOffset);
|
||||
}
|
||||
|
||||
data.mode = mode;
|
||||
|
@ -1023,15 +911,6 @@ INT_PTR SettingsPublish::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
bDataChanged = true;
|
||||
break;
|
||||
|
||||
case IDC_STARTSTREAMHOTKEY:
|
||||
case IDC_STOPSTREAMHOTKEY:
|
||||
//case IDC_DASHBOARDLINK:
|
||||
case IDC_STARTRECORDINGHOTKEY:
|
||||
case IDC_STOPRECORDINGHOTKEY:
|
||||
if(HIWORD(wParam) == EN_CHANGE)
|
||||
SetChangedSettings(true);
|
||||
break;
|
||||
|
||||
case IDC_PLAYPATH:
|
||||
case IDC_URL:
|
||||
case IDC_SAVEPATH:
|
||||
|
@ -1039,50 +918,6 @@ INT_PTR SettingsPublish::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
bDataChanged = true;
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY_STARTSTREAM:
|
||||
if(HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if(SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTSTREAMHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY:
|
||||
if(HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if(SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPSTREAMHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY_STARTRECORDING:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if (SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STARTRECORDINGHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_CLEARHOTKEY_STOPRECORDING:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
if (SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_GETHOTKEY, 0, 0))
|
||||
{
|
||||
SendMessage(GetDlgItem(hwnd, IDC_STOPRECORDINGHOTKEY), HKM_SETHOTKEY, 0, 0);
|
||||
SetChangedSettings(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_SERVERLIST:
|
||||
if(HIWORD(wParam) == CBN_EDITCHANGE || HIWORD(wParam) == CBN_SELCHANGE)
|
||||
bDataChanged = true;
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#define IDD_CONFIGUREMONITORCAPTURE 144
|
||||
#define IDD_STATS 145
|
||||
#define IDD_LOGUPLOADED 147
|
||||
#define IDD_SETTINGS_HOTKEYS 149
|
||||
#define IDC_SETTINGSLIST 1006
|
||||
#define IDC_SUBDIALOG 1007
|
||||
#define IDC_MODE 1008
|
||||
|
@ -379,7 +380,7 @@
|
|||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 149
|
||||
#define _APS_NEXT_RESOURCE_VALUE 150
|
||||
#define _APS_NEXT_COMMAND_VALUE 40081
|
||||
#define _APS_NEXT_CONTROL_VALUE 1178
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
|
|
|
@ -153,6 +153,10 @@ Settings.Publish="Broadcast Settings"
|
|||
Settings.SaveChangesPrompt="Would you like to save and apply your changes?"
|
||||
Settings.SaveChangesTitle="Apply settings?"
|
||||
Settings.Video="Video"
|
||||
Settings.Hotkeys="Hotkeys"
|
||||
|
||||
Settings.Hotkeys.Audio="Audio"
|
||||
Settings.Hotkeys.Publish="Broadcast"
|
||||
|
||||
Settings.Advanced.AutomaticLatency="Automatic low latency mode:"
|
||||
Settings.Advanced.AllowOtherHotkeyModifiers="Allow other modifiers on hotkeys"
|
||||
|
@ -197,7 +201,7 @@ Settings.Audio.MuteDesktopHotkey="Mute/Unmute Desktop Hotkey:"
|
|||
Settings.Audio.MuteMicHotkey="Mute/Unmute Mic Hotkey:"
|
||||
Settings.Audio.PlaybackDevice="Desktop Audio Device:"
|
||||
Settings.Audio.PushToTalkDelay="Push-to-talk Delay (milliseconds):"
|
||||
Settings.Audio.PushToTalkHotkey="Use Push-to-talk:"
|
||||
Settings.Audio.PTTHotkeys="Push-to-talk Hotkeys:"
|
||||
Settings.Audio.ShowOnlyConnectedDevices="Show only connected devices"
|
||||
Settings.Audio.UseInputDevices="Use Input device for desktop audio"
|
||||
Settings.Audio.UseMicQPC="Use Mic QPC timestamps"
|
||||
|
|
Loading…
Reference in New Issue