Added more streaming software to streamer mode binaries list (#3740)

Streamer mode now automatically detects if XSplit, PRISM Live Studio, Twitch Studio, or vMix are running

Co-authored-by: Kasia <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
badoge 2022-05-28 16:17:42 +04:00 committed by GitHub
parent efcfb19187
commit 57f92f5eaa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 18 additions and 11 deletions

View file

@ -15,6 +15,7 @@
- Minor: Fixed tag parsing for consecutive escaped characters. (#3711)
- Minor: Prevent user from entering incorrect characters in Live Notifications channels list. (#3715, #3730)
- Minor: Fixed automod caught message notice appearing twice for mods. (#3717)
- Minor: Streamer mode now automatically detects if XSplit, PRISM Live Studio, Twitch Studio, or vMix are running. (#3740)
- Minor: Add scrollbar to `Select filters` dialog. (#3737)
- Minor: Added `/requests` command. Usage: `/requests [channel]`. Opens the channel points requests queue for the provided channel or the current channel if no input is provided. (#3746)
- Minor: Added ability to execute commands on chat messages using the message context menu. (#3738)

View file

@ -208,7 +208,7 @@ public:
/// Streamer Mode
EnumSetting<StreamerModeSetting> enableStreamerMode = {
"/streamerMode/enabled", StreamerModeSetting::DetectObs};
"/streamerMode/enabled", StreamerModeSetting::DetectStreamingSoftware};
BoolSetting streamerModeHideUsercardAvatars = {
"/streamerMode/hideUsercardAvatars", true};
BoolSetting streamerModeHideLinkThumbnails = {

View file

@ -30,9 +30,11 @@ bool shouldShowWarning = true;
const QStringList &broadcastingBinaries()
{
#ifdef USEWINSDK
static QStringList bins = {"obs.exe", "obs64.exe"};
static QStringList bins = {
"obs.exe", "obs64.exe", "PRISMLiveStudio.exe",
"XSplit.Core.exe", "TwitchStudio.exe", "vMix64.exe"};
#else
static QStringList bins = {"obs"};
static QStringList bins = {"obs", "Twitch Studio", "Streamlabs Desktop"};
#endif
return bins;
}
@ -45,7 +47,7 @@ bool isInStreamerMode()
return true;
case StreamerModeSetting::Disabled:
return false;
case StreamerModeSetting::DetectObs:
case StreamerModeSetting::DetectStreamingSoftware:
#if defined(Q_OS_LINUX) || defined(Q_OS_MACOS)

View file

@ -4,7 +4,11 @@
namespace chatterino {
enum StreamerModeSetting { Disabled = 0, Enabled = 1, DetectObs = 2 };
enum StreamerModeSetting {
Disabled = 0,
Enabled = 1,
DetectStreamingSoftware = 2,
};
const QStringList &broadcastingBinaries();
bool isInStreamerMode();

View file

@ -620,7 +620,7 @@ void Window::addShortcuts()
else if (mode == 3)
{
getSettings()->enableStreamerMode.setValue(
StreamerModeSetting::DetectObs);
StreamerModeSetting::DetectStreamingSoftware);
}
return "";
}},

View file

@ -336,14 +336,14 @@ void GeneralPage::initLayout(GeneralPageView &layout)
layout.addTitle("Streamer Mode");
layout.addDescription(
"Chatterino can automatically change behavior if it detects that \"OBS "
"Studio\" is running.\nSelect which things you want to change while "
"streaming");
"Chatterino can automatically change behavior if it detects that any "
"streaming software is running.\nSelect which things you want to "
"change while streaming");
ComboBox *dankDropdown =
layout.addDropdown<std::underlying_type<StreamerModeSetting>::type>(
"Enable Streamer Mode",
{"Disabled", "Enabled", "Automatic (Detect OBS)"},
{"Disabled", "Enabled", "Automatic (Detect streaming software)"},
s.enableStreamerMode,
[](int value) {
return value;
@ -352,7 +352,7 @@ void GeneralPage::initLayout(GeneralPageView &layout)
return static_cast<StreamerModeSetting>(args.index);
},
false);
dankDropdown->setMinimumWidth(dankDropdown->minimumSizeHint().width() + 10);
dankDropdown->setMinimumWidth(dankDropdown->minimumSizeHint().width() + 30);
layout.addCheckbox("Hide usercard avatars",
s.streamerModeHideUsercardAvatars);