Skip to content

Commit

Permalink
#174: Added more resolution and FPS options
Browse files Browse the repository at this point in the history
  • Loading branch information
XITRIX committed Aug 3, 2024
1 parent 6fdad56 commit aaad509
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 12 deletions.
30 changes: 18 additions & 12 deletions app/src/settings_tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,38 +40,44 @@ SettingsTab::SettingsTab() {
// Inflate the tab from the XML file
this->inflateFromXMLRes("xml/tabs/settings.xml");

std::vector<std::string> resolutions = {"720p", "1080p", "Native"};
std::vector<std::string> resolutions = {"360p", "480p", "720p", "1080p", "Native"};
resolution->setText("settings/resolution"_i18n);
resolution->setData(resolutions);
switch (Settings::instance().resolution()) {
GET_SETTINGS(resolution, 720, 0);
GET_SETTINGS(resolution, 1080, 1);
GET_SETTINGS(resolution, -1, 2);
GET_SETTINGS(resolution, 360, 0);
GET_SETTINGS(resolution, 480, 1);
GET_SETTINGS(resolution, 720, 2);
GET_SETTINGS(resolution, 1080, 3);
GET_SETTINGS(resolution, -1, 4);
DEFAULT;
}
resolution->getEvent()->subscribe([](int selected) {
switch (selected) {
SET_SETTING(0, set_resolution(720));
SET_SETTING(1, set_resolution(1080));
SET_SETTING(2, set_resolution(-1));
SET_SETTING(0, set_resolution(360));
SET_SETTING(1, set_resolution(480));
SET_SETTING(2, set_resolution(720));
SET_SETTING(3, set_resolution(1080));
SET_SETTING(4, set_resolution(-1));
DEFAULT;
}
});

std::vector<std::string> fpss = {"30", "60", "120"};
std::vector<std::string> fpss = {"30", "45", "60", "120"};
fps->setText("settings/fps"_i18n);
fps->setData(fpss);
switch (Settings::instance().fps()) {
GET_SETTINGS(fps, 30, 0);
GET_SETTINGS(fps, 60, 1);
GET_SETTINGS(fps, 120, 2);
GET_SETTINGS(fps, 45, 1);
GET_SETTINGS(fps, 60, 2);
GET_SETTINGS(fps, 120, 3);
DEFAULT;
}
fps->getEvent()->subscribe([](int selected) {
switch (selected) {
SET_SETTING(0, set_fps(30));
SET_SETTING(1, set_fps(60));
SET_SETTING(2, set_fps(120));
SET_SETTING(1, set_fps(45));
SET_SETTING(2, set_fps(60));
SET_SETTING(3, set_fps(120));
DEFAULT;
}
});
Expand Down
6 changes: 6 additions & 0 deletions app/src/streaming/MoonlightSession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,12 @@ void MoonlightSession::start(ServerCallback<bool> callback) {
h = Application::windowHeight;
w = Application::windowWidth;
}

// 480p cannot fit into 16/9 aspect ratio without manual adjustments
if (h == 480) {
h = 480;
w = 854;
}
m_config.width = w;
m_config.height = h;
m_config.fps = Settings::instance().fps();
Expand Down

0 comments on commit aaad509

Please sign in to comment.