diff --git a/.gitignore b/.gitignore index 7b91ee4a..b3c5bd85 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,7 @@ # build directories build/ cmake-*/ -docs/*-doxyconfig* +docs/doxyconfig* # npm node_modules/ diff --git a/.readthedocs.yaml b/.readthedocs.yaml index a2c132dc..ee2f3bb2 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,25 +10,15 @@ build: tools: python: "miniconda-latest" commands: - # because we are overriding the build commands, we need to setup the environment ourselves - - cat third-party/doxyconfig/environment.yml - - conda env create --quiet --name ${READTHEDOCS_VERSION} --file third-party/doxyconfig/environment.yml - - npm install "@fortawesome/fontawesome-free" - - mkdir -p ${READTHEDOCS_OUTPUT}html/assets/fontawesome/css - - mkdir -p ${READTHEDOCS_OUTPUT}html/assets/fontawesome/js - - cp node_modules/@fortawesome/fontawesome-free/css/all.min.css ${READTHEDOCS_OUTPUT}html/assets/fontawesome/css - - cp node_modules/@fortawesome/fontawesome-free/js/all.min.js ${READTHEDOCS_OUTPUT}html/assets/fontawesome/js - - cp -r node_modules/@fortawesome/fontawesome-free/webfonts ${READTHEDOCS_OUTPUT}html/assets/fontawesome/ - | - wget "https://raw.githubusercontent.com/LizardByte/.github/master/branding/logos/favicon.ico" \ - -O ${READTHEDOCS_OUTPUT}lizardbyte.ico - - | - wget "https://raw.githubusercontent.com/LizardByte/.github/master/branding/logos/logo-128x128.png" \ - -O ${READTHEDOCS_OUTPUT}lizardbyte.png - - cp ./third-party/doxyconfig/Doxyfile ./docs/Doxyfile-doxyconfig - - cp ./third-party/doxyconfig/header.html ./docs/header-doxyconfig.html - - cat ./docs/Doxyfile >> ./docs/Doxyfile-doxyconfig - - cd docs && doxygen Doxyfile-doxyconfig + if [ -f readthedocs_build.sh ]; then + doxyconfig_dir="." + else + doxyconfig_dir="./third-party/doxyconfig" + fi + chmod +x "${doxyconfig_dir}/readthedocs_build.sh" + export DOXYCONFIG_DIR="${doxyconfig_dir}" + "${doxyconfig_dir}/readthedocs_build.sh" # using conda, we can get newer doxygen and graphviz than ubuntu provide # https://github.com/readthedocs/readthedocs.org/issues/8151#issuecomment-890359661 diff --git a/src/config.cpp b/src/config.cpp index 6bfeeb8a..68f975e1 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -409,21 +409,6 @@ namespace config { boost::asio::ip::host_name(), // sunshine_name, "sunshine_state.json"s, // file_state {}, // external_ip - { - "352x240"s, - "480x360"s, - "858x480"s, - "1280x720"s, - "1920x1080"s, - "2560x1080"s, - "2560x1440"s, - "3440x1440"s, - "1920x1200"s, - "3840x2160"s, - "3840x1600"s, - }, // supported resolutions - - { 10, 30, 60, 90, 120 }, // supported fps }; input_t input { @@ -1046,8 +1031,6 @@ namespace config { path_f(vars, "credentials_file", config::sunshine.credentials_file); string_f(vars, "external_ip", nvhttp.external_ip); - list_string_f(vars, "resolutions"s, nvhttp.resolutions); - list_int_f(vars, "fps"s, nvhttp.fps); list_prep_cmd_f(vars, "global_prep_cmd", config::sunshine.prep_cmds); string_f(vars, "audio_sink", audio.sink); diff --git a/src/config.h b/src/config.h index ef72509b..7989c810 100644 --- a/src/config.h +++ b/src/config.h @@ -117,8 +117,6 @@ namespace config { std::string file_state; std::string external_ip; - std::vector resolutions; - std::vector fps; }; struct input_t { diff --git a/src/nvhttp.cpp b/src/nvhttp.cpp index af32391b..085402ff 100644 --- a/src/nvhttp.cpp +++ b/src/nvhttp.cpp @@ -734,31 +734,6 @@ namespace nvhttp { } tree.put("root.ServerCodecModeSupport", codec_mode_flags); - pt::ptree display_nodes; - for (auto &resolution : config::nvhttp.resolutions) { - auto pred = [](auto ch) { return ch == ' ' || ch == '\t' || ch == 'x'; }; - - auto middle = std::find_if(std::begin(resolution), std::end(resolution), pred); - if (middle == std::end(resolution)) { - BOOST_LOG(warning) << resolution << " is not in the proper format for a resolution: WIDTHxHEIGHT"sv; - continue; - } - - auto width = util::from_chars(&*std::begin(resolution), &*middle); - auto height = util::from_chars(&*(middle + 1), &*std::end(resolution)); - for (auto fps : config::nvhttp.fps) { - pt::ptree display_node; - display_node.put("Width", width); - display_node.put("Height", height); - display_node.put("RefreshRate", fps); - - display_nodes.add_child("DisplayMode", display_node); - } - } - - if (!config::nvhttp.resolutions.empty()) { - tree.add_child("root.SupportedDisplayMode", display_nodes); - } auto current_appid = proc::proc.running(); tree.put("root.PairStatus", pair_status); tree.put("root.currentgame", current_appid); diff --git a/src_assets/common/assets/web/config.html b/src_assets/common/assets/web/config.html index 29ef50b3..2102aced 100644 --- a/src_assets/common/assets/web/config.html +++ b/src_assets/common/assets/web/config.html @@ -53,8 +53,6 @@ v-if="currentTab === 'av'" :config="config" :platform="platform" - :resolutions="resolutions" - :fps="fps" > @@ -132,8 +130,6 @@ saved: false, restarted: false, config: null, - fps: [], - resolutions: [], currentTab: "general", global_prep_cmd: [], tabs: [ // TODO: Move the options to each Component instead, encapsulate. @@ -180,8 +176,6 @@ "auto_capture_sink": "enabled", "adapter_name": "", "output_name": "", - "resolutions": "[352x240,480x360,858x480,1280x720,1920x1080,2560x1080,2560x1440,3440x1440,1920x1200,3840x2160,3840x1600]", - "fps": "[10,30,60,90,120]", "min_fps_factor": 1, }, }, @@ -326,16 +320,6 @@ }); }); - this.fps = JSON.parse(this.config.fps); - //Resolutions should be fixed because are not valid JSON - let res = this.config.resolutions.substring( - 1, - this.config.resolutions.length - 1 - ); - let resolutions = []; - res.split(",").forEach((r) => resolutions.push(r.trim())); - this.resolutions = resolutions; - this.config.global_prep_cmd = this.config.global_prep_cmd || []; this.global_prep_cmd = JSON.parse(this.config.global_prep_cmd); }); @@ -345,16 +329,6 @@ this.$forceUpdate() }, serialize() { - let nl = this.config === "windows" ? "\r\n" : "\n"; - this.config.resolutions = - "[" + - nl + - " " + - this.resolutions.join("," + nl + " ") + - nl + - "]"; - // remove quotes from values in fps - this.config.fps = JSON.stringify(this.fps).replace(/"/g, ""); this.config.global_prep_cmd = JSON.stringify(this.global_prep_cmd); }, save() { @@ -370,19 +344,11 @@ Object.keys(tab.options).forEach(optionKey => { let delete_value = false - if (["resolutions", "fps", "global_prep_cmd"].includes(optionKey)) { + if (["global_prep_cmd"].includes(optionKey)) { let config_value, default_value - if (optionKey === "resolutions") { - let regex = /([\d]+x[\d]+)/g - - // Use a regular expression to find each value and replace it with a quoted version - config_value = JSON.parse(config[optionKey].replace(regex, '"$1"')).toString() - default_value = JSON.parse(tab.options[optionKey].replace(regex, '"$1"')).toString() - } else { - config_value = JSON.parse(config[optionKey]) - default_value = JSON.parse(tab.options[optionKey]) - } + config_value = JSON.parse(config[optionKey]) + default_value = JSON.parse(tab.options[optionKey]) if (config_value === default_value) { delete_value = true diff --git a/src_assets/common/assets/web/configs/tabs/AudioVideo.vue b/src_assets/common/assets/web/configs/tabs/AudioVideo.vue index e188055a..ce2dec7a 100644 --- a/src_assets/common/assets/web/configs/tabs/AudioVideo.vue +++ b/src_assets/common/assets/web/configs/tabs/AudioVideo.vue @@ -11,8 +11,6 @@ import DisplayModesSettings from "./audiovideo/DisplayModesSettings.vue"; const props = defineProps([ 'platform', 'config', - 'resolutions', - 'fps', 'min_fps_factor', ]) @@ -97,8 +95,6 @@ const config = ref(props.config) diff --git a/src_assets/common/assets/web/configs/tabs/audiovideo/DisplayModesSettings.vue b/src_assets/common/assets/web/configs/tabs/audiovideo/DisplayModesSettings.vue index d519d75f..b901e1ca 100644 --- a/src_assets/common/assets/web/configs/tabs/audiovideo/DisplayModesSettings.vue +++ b/src_assets/common/assets/web/configs/tabs/audiovideo/DisplayModesSettings.vue @@ -6,14 +6,10 @@ import PlatformLayout from '../../../PlatformLayout.vue' const props = defineProps([ 'platform', 'config', - 'resolutions', - 'fps', 'min_fps_factor', ]) const config = ref(props.config) -const resolutions = ref(props.resolutions) -const fps = ref(props.fps) const resIn = ref("") const fpsIn = ref("") @@ -21,50 +17,6 @@ const fpsIn = ref("")