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
6 changed files with 18 additions and 11 deletions
+1
View File
@@ -15,6 +15,7 @@
- Minor: Fixed tag parsing for consecutive escaped characters. (#3711) - Minor: Fixed tag parsing for consecutive escaped characters. (#3711)
- Minor: Prevent user from entering incorrect characters in Live Notifications channels list. (#3715, #3730) - 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: 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: 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 `/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) - Minor: Added ability to execute commands on chat messages using the message context menu. (#3738)
+1 -1
View File
@@ -208,7 +208,7 @@ public:
/// Streamer Mode /// Streamer Mode
EnumSetting<StreamerModeSetting> enableStreamerMode = { EnumSetting<StreamerModeSetting> enableStreamerMode = {
"/streamerMode/enabled", StreamerModeSetting::DetectObs}; "/streamerMode/enabled", StreamerModeSetting::DetectStreamingSoftware};
BoolSetting streamerModeHideUsercardAvatars = { BoolSetting streamerModeHideUsercardAvatars = {
"/streamerMode/hideUsercardAvatars", true}; "/streamerMode/hideUsercardAvatars", true};
BoolSetting streamerModeHideLinkThumbnails = { BoolSetting streamerModeHideLinkThumbnails = {
+5 -3
View File
@@ -30,9 +30,11 @@ bool shouldShowWarning = true;
const QStringList &broadcastingBinaries() const QStringList &broadcastingBinaries()
{ {
#ifdef USEWINSDK #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 #else
static QStringList bins = {"obs"}; static QStringList bins = {"obs", "Twitch Studio", "Streamlabs Desktop"};
#endif #endif
return bins; return bins;
} }
@@ -45,7 +47,7 @@ bool isInStreamerMode()
return true; return true;
case StreamerModeSetting::Disabled: case StreamerModeSetting::Disabled:
return false; return false;
case StreamerModeSetting::DetectObs: case StreamerModeSetting::DetectStreamingSoftware:
#if defined(Q_OS_LINUX) || defined(Q_OS_MACOS) #if defined(Q_OS_LINUX) || defined(Q_OS_MACOS)
+5 -1
View File
@@ -4,7 +4,11 @@
namespace chatterino { namespace chatterino {
enum StreamerModeSetting { Disabled = 0, Enabled = 1, DetectObs = 2 }; enum StreamerModeSetting {
Disabled = 0,
Enabled = 1,
DetectStreamingSoftware = 2,
};
const QStringList &broadcastingBinaries(); const QStringList &broadcastingBinaries();
bool isInStreamerMode(); bool isInStreamerMode();
+1 -1
View File
@@ -620,7 +620,7 @@ void Window::addShortcuts()
else if (mode == 3) else if (mode == 3)
{ {
getSettings()->enableStreamerMode.setValue( getSettings()->enableStreamerMode.setValue(
StreamerModeSetting::DetectObs); StreamerModeSetting::DetectStreamingSoftware);
} }
return ""; return "";
}}, }},
+5 -5
View File
@@ -336,14 +336,14 @@ void GeneralPage::initLayout(GeneralPageView &layout)
layout.addTitle("Streamer Mode"); layout.addTitle("Streamer Mode");
layout.addDescription( layout.addDescription(
"Chatterino can automatically change behavior if it detects that \"OBS " "Chatterino can automatically change behavior if it detects that any "
"Studio\" is running.\nSelect which things you want to change while " "streaming software is running.\nSelect which things you want to "
"streaming"); "change while streaming");
ComboBox *dankDropdown = ComboBox *dankDropdown =
layout.addDropdown<std::underlying_type<StreamerModeSetting>::type>( layout.addDropdown<std::underlying_type<StreamerModeSetting>::type>(
"Enable Streamer Mode", "Enable Streamer Mode",
{"Disabled", "Enabled", "Automatic (Detect OBS)"}, {"Disabled", "Enabled", "Automatic (Detect streaming software)"},
s.enableStreamerMode, s.enableStreamerMode,
[](int value) { [](int value) {
return value; return value;
@@ -352,7 +352,7 @@ void GeneralPage::initLayout(GeneralPageView &layout)
return static_cast<StreamerModeSetting>(args.index); return static_cast<StreamerModeSetting>(args.index);
}, },
false); false);
dankDropdown->setMinimumWidth(dankDropdown->minimumSizeHint().width() + 10); dankDropdown->setMinimumWidth(dankDropdown->minimumSizeHint().width() + 30);
layout.addCheckbox("Hide usercard avatars", layout.addCheckbox("Hide usercard avatars",
s.streamerModeHideUsercardAvatars); s.streamerModeHideUsercardAvatars);