mirror of
https://repo.dec05eba.com/gpu-screen-recorder-ui
synced 2026-05-06 06:50:44 +09:00
Make replay power supply an option that works with the other replay autostart options
This commit is contained in:
@@ -14,8 +14,7 @@ namespace gsr {
|
|||||||
enum class ReplayStartupMode {
|
enum class ReplayStartupMode {
|
||||||
DONT_TURN_ON_AUTOMATICALLY,
|
DONT_TURN_ON_AUTOMATICALLY,
|
||||||
TURN_ON_AT_SYSTEM_STARTUP,
|
TURN_ON_AT_SYSTEM_STARTUP,
|
||||||
TURN_ON_AT_GAME_LAUNCH,
|
TURN_ON_AT_GAME_LAUNCH
|
||||||
TURN_ON_AT_POWER_SUPPLY_CONNECTED
|
|
||||||
};
|
};
|
||||||
|
|
||||||
ReplayStartupMode replay_startup_string_to_type(const char *startup_mode_str);
|
ReplayStartupMode replay_startup_string_to_type(const char *startup_mode_str);
|
||||||
@@ -136,6 +135,7 @@ namespace gsr {
|
|||||||
std::string turn_on_replay_automatically_mode = "dont_turn_on_automatically";
|
std::string turn_on_replay_automatically_mode = "dont_turn_on_automatically";
|
||||||
bool save_video_in_game_folder = false;
|
bool save_video_in_game_folder = false;
|
||||||
bool restart_replay_on_save = false;
|
bool restart_replay_on_save = false;
|
||||||
|
bool only_start_replay_if_power_supply_connected = false;
|
||||||
std::string save_directory;
|
std::string save_directory;
|
||||||
std::string container = "mp4";
|
std::string container = "mp4";
|
||||||
int32_t replay_time = 60;
|
int32_t replay_time = 60;
|
||||||
|
|||||||
@@ -67,6 +67,12 @@ namespace gsr {
|
|||||||
FAST
|
FAST
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class GameReplayAction {
|
||||||
|
NONE,
|
||||||
|
LAUNCHED,
|
||||||
|
EXITED
|
||||||
|
};
|
||||||
|
|
||||||
class Overlay {
|
class Overlay {
|
||||||
public:
|
public:
|
||||||
Overlay(std::string resources_path, GsrInfo gsr_info, SupportedCaptureOptions capture_options, egl_functions egl_funcs);
|
Overlay(std::string resources_path, GsrInfo gsr_info, SupportedCaptureOptions capture_options, egl_functions egl_funcs);
|
||||||
@@ -139,6 +145,7 @@ namespace gsr {
|
|||||||
void replay_status_update_status();
|
void replay_status_update_status();
|
||||||
void update_power_supply_status();
|
void update_power_supply_status();
|
||||||
void update_system_startup_status();
|
void update_system_startup_status();
|
||||||
|
void update_gsr_game_tracker_replay_status();
|
||||||
|
|
||||||
void on_stop_recording(int exit_code, std::string &video_filepath);
|
void on_stop_recording(int exit_code, std::string &video_filepath);
|
||||||
|
|
||||||
@@ -257,6 +264,8 @@ namespace gsr {
|
|||||||
int gsr_game_tracker_process_output_fd = -1;
|
int gsr_game_tracker_process_output_fd = -1;
|
||||||
FILE *gsr_game_tracker_process_output_file = nullptr;
|
FILE *gsr_game_tracker_process_output_file = nullptr;
|
||||||
pid_t gsr_game_tracker_process_id = -1;
|
pid_t gsr_game_tracker_process_id = -1;
|
||||||
|
bool game_running = false;
|
||||||
|
bool game_running_replay = false;
|
||||||
|
|
||||||
struct wl_display *wayland_dpy = nullptr;
|
struct wl_display *wayland_dpy = nullptr;
|
||||||
|
|
||||||
|
|||||||
@@ -122,6 +122,7 @@ namespace gsr {
|
|||||||
std::unique_ptr<List> create_replay_time();
|
std::unique_ptr<List> create_replay_time();
|
||||||
std::unique_ptr<List> create_replay_storage();
|
std::unique_ptr<List> create_replay_storage();
|
||||||
std::unique_ptr<RadioButton> create_start_replay_automatically();
|
std::unique_ptr<RadioButton> create_start_replay_automatically();
|
||||||
|
std::unique_ptr<Widget> create_start_replay_automatically_section();
|
||||||
std::unique_ptr<CheckBox> create_save_replay_in_game_folder();
|
std::unique_ptr<CheckBox> create_save_replay_in_game_folder();
|
||||||
std::unique_ptr<CheckBox> create_restart_replay_on_save();
|
std::unique_ptr<CheckBox> create_restart_replay_on_save();
|
||||||
std::unique_ptr<Label> create_estimated_replay_file_size();
|
std::unique_ptr<Label> create_estimated_replay_file_size();
|
||||||
@@ -230,6 +231,7 @@ namespace gsr {
|
|||||||
List *webcam_body_list_ptr = nullptr;
|
List *webcam_body_list_ptr = nullptr;
|
||||||
CheckBox *flip_camera_horizontally_checkbox_ptr = nullptr;
|
CheckBox *flip_camera_horizontally_checkbox_ptr = nullptr;
|
||||||
CheckBox *low_power_mode_checkbox_ptr = nullptr;
|
CheckBox *low_power_mode_checkbox_ptr = nullptr;
|
||||||
|
CheckBox *replay_power_supply_checkbox_ptr = nullptr;
|
||||||
|
|
||||||
PageStack *page_stack = nullptr;
|
PageStack *page_stack = nullptr;
|
||||||
|
|
||||||
|
|||||||
@@ -55,8 +55,6 @@ namespace gsr {
|
|||||||
return ReplayStartupMode::TURN_ON_AT_SYSTEM_STARTUP;
|
return ReplayStartupMode::TURN_ON_AT_SYSTEM_STARTUP;
|
||||||
else if(strcmp(startup_mode_str, "turn_on_at_fullscreen") == 0 || strcmp(startup_mode_str, "turn_on_at_game_launch") == 0)
|
else if(strcmp(startup_mode_str, "turn_on_at_fullscreen") == 0 || strcmp(startup_mode_str, "turn_on_at_game_launch") == 0)
|
||||||
return ReplayStartupMode::TURN_ON_AT_GAME_LAUNCH;
|
return ReplayStartupMode::TURN_ON_AT_GAME_LAUNCH;
|
||||||
else if(strcmp(startup_mode_str, "turn_on_at_power_supply_connected") == 0)
|
|
||||||
return ReplayStartupMode::TURN_ON_AT_POWER_SUPPLY_CONNECTED;
|
|
||||||
else
|
else
|
||||||
return ReplayStartupMode::DONT_TURN_ON_AUTOMATICALLY;
|
return ReplayStartupMode::DONT_TURN_ON_AUTOMATICALLY;
|
||||||
}
|
}
|
||||||
@@ -296,6 +294,7 @@ namespace gsr {
|
|||||||
{"replay.turn_on_replay_automatically_mode", &config.replay_config.turn_on_replay_automatically_mode},
|
{"replay.turn_on_replay_automatically_mode", &config.replay_config.turn_on_replay_automatically_mode},
|
||||||
{"replay.save_video_in_game_folder", &config.replay_config.save_video_in_game_folder},
|
{"replay.save_video_in_game_folder", &config.replay_config.save_video_in_game_folder},
|
||||||
{"replay.restart_replay_on_save", &config.replay_config.restart_replay_on_save},
|
{"replay.restart_replay_on_save", &config.replay_config.restart_replay_on_save},
|
||||||
|
{"replay.only_start_replay_if_power_supply_connected", &config.replay_config.only_start_replay_if_power_supply_connected},
|
||||||
{"replay.save_directory", &config.replay_config.save_directory},
|
{"replay.save_directory", &config.replay_config.save_directory},
|
||||||
{"replay.container", &config.replay_config.container},
|
{"replay.container", &config.replay_config.container},
|
||||||
{"replay.time", &config.replay_config.replay_time},
|
{"replay.time", &config.replay_config.replay_time},
|
||||||
|
|||||||
@@ -928,6 +928,8 @@ namespace gsr {
|
|||||||
update_gsr_screenshot_process_status();
|
update_gsr_screenshot_process_status();
|
||||||
replay_status_update_status();
|
replay_status_update_status();
|
||||||
|
|
||||||
|
update_gsr_game_tracker_replay_status();
|
||||||
|
|
||||||
if(hide_ui) {
|
if(hide_ui) {
|
||||||
hide_ui = false;
|
hide_ui = false;
|
||||||
hide();
|
hide();
|
||||||
@@ -2188,14 +2190,14 @@ namespace gsr {
|
|||||||
if(!line || line[0] == '\0')
|
if(!line || line[0] == '\0')
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(replay_startup_mode != ReplayStartupMode::TURN_ON_AT_GAME_LAUNCH)
|
if(strncmp(line, "Game launched", 13) == 0) {
|
||||||
return;
|
game_running = true;
|
||||||
|
game_running_replay = true;
|
||||||
if(recording_status == RecordingStatus::NONE && strncmp(line, "Game launched", 13) == 0) {
|
} else if(strncmp(line, "Game exited", 11) == 0) {
|
||||||
on_press_start_replay(false, false);
|
game_running = false;
|
||||||
} else if(recording_status == RecordingStatus::REPLAY && strncmp(line, "Game exited", 11) == 0) {
|
game_running_replay = false;
|
||||||
on_press_start_replay(false, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if(gsr_game_tracker_process_output_fd > 0) {
|
} else if(gsr_game_tracker_process_output_fd > 0) {
|
||||||
read(gsr_game_tracker_process_output_fd, buffer, sizeof(buffer));
|
read(gsr_game_tracker_process_output_fd, buffer, sizeof(buffer));
|
||||||
}
|
}
|
||||||
@@ -2402,29 +2404,38 @@ namespace gsr {
|
|||||||
|
|
||||||
// TODO: Instead of checking power supply status periodically listen to power supply event
|
// TODO: Instead of checking power supply status periodically listen to power supply event
|
||||||
void Overlay::update_power_supply_status() {
|
void Overlay::update_power_supply_status() {
|
||||||
if(replay_startup_mode != ReplayStartupMode::TURN_ON_AT_POWER_SUPPLY_CONNECTED)
|
if(replay_startup_mode == ReplayStartupMode::DONT_TURN_ON_AUTOMATICALLY)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const bool prev_power_supply_status = power_supply_connected;
|
|
||||||
power_supply_connected = power_supply_online_filepath.empty() || power_supply_is_connected(power_supply_online_filepath.c_str());
|
power_supply_connected = power_supply_online_filepath.empty() || power_supply_is_connected(power_supply_online_filepath.c_str());
|
||||||
if(power_supply_connected != prev_power_supply_status) {
|
|
||||||
if(recording_status == RecordingStatus::NONE && power_supply_connected) {
|
|
||||||
if(are_all_audio_tracks_available_to_capture(config.replay_config.record_options.audio_tracks_list) && is_webcam_available_to_capture(config.replay_config.record_options))
|
|
||||||
on_press_start_replay(false, false);
|
|
||||||
} else if(recording_status == RecordingStatus::REPLAY && !power_supply_connected) {
|
|
||||||
on_press_start_replay(false, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Overlay::update_system_startup_status() {
|
void Overlay::update_system_startup_status() {
|
||||||
if(replay_startup_mode != ReplayStartupMode::TURN_ON_AT_SYSTEM_STARTUP || recording_status != RecordingStatus::NONE || !try_replay_startup)
|
if(replay_startup_mode != ReplayStartupMode::TURN_ON_AT_SYSTEM_STARTUP || recording_status != RecordingStatus::NONE || !try_replay_startup)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if(config.replay_config.only_start_replay_if_power_supply_connected && !power_supply_connected)
|
||||||
|
return;
|
||||||
|
|
||||||
if(are_all_audio_tracks_available_to_capture(config.replay_config.record_options.audio_tracks_list) && is_webcam_available_to_capture(config.replay_config.record_options))
|
if(are_all_audio_tracks_available_to_capture(config.replay_config.record_options.audio_tracks_list) && is_webcam_available_to_capture(config.replay_config.record_options))
|
||||||
on_press_start_replay(true, false);
|
on_press_start_replay(true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Overlay::update_gsr_game_tracker_replay_status() {
|
||||||
|
if(replay_startup_mode != ReplayStartupMode::TURN_ON_AT_GAME_LAUNCH)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(config.replay_config.only_start_replay_if_power_supply_connected && !power_supply_connected)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(recording_status == RecordingStatus::NONE && game_running_replay) {
|
||||||
|
game_running_replay = false;
|
||||||
|
on_press_start_replay(false, false);
|
||||||
|
} else if(recording_status == RecordingStatus::REPLAY && !game_running) {
|
||||||
|
on_press_start_replay(false, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Overlay::on_stop_recording(int exit_code, std::string &video_filepath) {
|
void Overlay::on_stop_recording(int exit_code, std::string &video_filepath) {
|
||||||
if(exit_code == 0) {
|
if(exit_code == 0) {
|
||||||
if(config.record_config.save_video_in_game_folder) {
|
if(config.record_config.save_video_in_game_folder) {
|
||||||
|
|||||||
@@ -1140,11 +1140,21 @@ namespace gsr {
|
|||||||
radiobutton->add_item(TR("Don't turn on replay automatically"), "dont_turn_on_automatically");
|
radiobutton->add_item(TR("Don't turn on replay automatically"), "dont_turn_on_automatically");
|
||||||
radiobutton->add_item(TR("Turn on replay when this program starts"), "turn_on_at_system_startup");
|
radiobutton->add_item(TR("Turn on replay when this program starts"), "turn_on_at_system_startup");
|
||||||
radiobutton->add_item(TR("Turn on replay when starting a game"), "turn_on_at_game_launch");
|
radiobutton->add_item(TR("Turn on replay when starting a game"), "turn_on_at_game_launch");
|
||||||
radiobutton->add_item(TR("Turn on replay when power supply is connected"), "turn_on_at_power_supply_connected");
|
|
||||||
turn_on_replay_automatically_mode_ptr = radiobutton.get();
|
turn_on_replay_automatically_mode_ptr = radiobutton.get();
|
||||||
return radiobutton;
|
return radiobutton;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<Widget> SettingsPage::create_start_replay_automatically_section() {
|
||||||
|
auto list = std::make_unique<List>(List::Orientation::VERTICAL);
|
||||||
|
list->add_widget(create_start_replay_automatically());
|
||||||
|
|
||||||
|
auto checkbox = std::make_unique<CheckBox>(get_theme().body_font_desc.c_str(), TR("Only turn on replay if a power supply is connected"));
|
||||||
|
replay_power_supply_checkbox_ptr = checkbox.get();
|
||||||
|
list->add_widget(std::move(checkbox));
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
std::unique_ptr<CheckBox> SettingsPage::create_save_replay_in_game_folder() {
|
std::unique_ptr<CheckBox> SettingsPage::create_save_replay_in_game_folder() {
|
||||||
char text[256];
|
char text[256];
|
||||||
snprintf(text, sizeof(text), TR("Save video in a folder based on the games name%s"), supports_window_title ? "" : TR(" (X11 applications only)"));
|
snprintf(text, sizeof(text), TR("Save video in a folder based on the games name%s"), supports_window_title ? "" : TR(" (X11 applications only)"));
|
||||||
@@ -1280,7 +1290,7 @@ namespace gsr {
|
|||||||
|
|
||||||
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("General"), std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("General"), std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Replay indicator"), create_indicator(TR("replay")), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Replay indicator"), create_indicator(TR("replay")), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Autostart"), create_start_replay_automatically(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Autostart"), create_start_replay_automatically_section(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
|
||||||
|
|
||||||
view_radio_button_ptr->on_selection_changed = [this](std::string_view, std::string_view id) {
|
view_radio_button_ptr->on_selection_changed = [this](std::string_view, std::string_view id) {
|
||||||
view_changed(id == "advanced");
|
view_changed(id == "advanced");
|
||||||
@@ -1705,6 +1715,7 @@ namespace gsr {
|
|||||||
replay_storage_button_ptr->set_selected_item(config.replay_config.replay_storage);
|
replay_storage_button_ptr->set_selected_item(config.replay_config.replay_storage);
|
||||||
turn_on_replay_automatically_mode_ptr->set_selected_item(config.replay_config.turn_on_replay_automatically_mode);
|
turn_on_replay_automatically_mode_ptr->set_selected_item(config.replay_config.turn_on_replay_automatically_mode);
|
||||||
save_replay_in_game_folder_ptr->set_checked(config.replay_config.save_video_in_game_folder);
|
save_replay_in_game_folder_ptr->set_checked(config.replay_config.save_video_in_game_folder);
|
||||||
|
replay_power_supply_checkbox_ptr->set_checked(config.replay_config.only_start_replay_if_power_supply_connected);
|
||||||
if(restart_replay_on_save)
|
if(restart_replay_on_save)
|
||||||
restart_replay_on_save->set_checked(config.replay_config.restart_replay_on_save);
|
restart_replay_on_save->set_checked(config.replay_config.restart_replay_on_save);
|
||||||
|
|
||||||
@@ -1858,6 +1869,7 @@ namespace gsr {
|
|||||||
save_common(config.replay_config.record_options);
|
save_common(config.replay_config.record_options);
|
||||||
config.replay_config.turn_on_replay_automatically_mode = turn_on_replay_automatically_mode_ptr->get_selected_id();
|
config.replay_config.turn_on_replay_automatically_mode = turn_on_replay_automatically_mode_ptr->get_selected_id();
|
||||||
config.replay_config.save_video_in_game_folder = save_replay_in_game_folder_ptr->is_checked();
|
config.replay_config.save_video_in_game_folder = save_replay_in_game_folder_ptr->is_checked();
|
||||||
|
config.replay_config.only_start_replay_if_power_supply_connected = replay_power_supply_checkbox_ptr->is_checked();
|
||||||
if(restart_replay_on_save)
|
if(restart_replay_on_save)
|
||||||
config.replay_config.restart_replay_on_save = restart_replay_on_save->is_checked();
|
config.replay_config.restart_replay_on_save = restart_replay_on_save->is_checked();
|
||||||
config.replay_config.save_directory = save_directory_button_ptr->get_text();
|
config.replay_config.save_directory = save_directory_button_ptr->get_text();
|
||||||
|
|||||||
@@ -397,7 +397,7 @@ Where should temporary replay data be stored?=¿Dónde se deben almacenar los ar
|
|||||||
RAM=RAM
|
RAM=RAM
|
||||||
Disk (Not recommended on SSDs)=Disco (no recomendado en SSDs)
|
Disk (Not recommended on SSDs)=Disco (no recomendado en SSDs)
|
||||||
Turn on replay when this program starts=Activar la repetición cuando se inicie este programa
|
Turn on replay when this program starts=Activar la repetición cuando se inicie este programa
|
||||||
Turn on replay when power supply is connected=Activar la repetición cuando se conecte la fuente de alimentación
|
Only turn on replay if a power supply is connected=Solo active la reproducción si hay una fuente de alimentación conectada
|
||||||
Don't turn on replay automatically=No activar la repetición automáticamente
|
Don't turn on replay automatically=No activar la repetición automáticamente
|
||||||
Restart replay on save=Reiniciar la repetición al guardar
|
Restart replay on save=Reiniciar la repetición al guardar
|
||||||
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Tamaño máximo estimado del archivo de vídeo %s: %.2fMB.\nCambia la tasa de bits del vídeo o la duración de la repetición para cambiar el tamaño del archivo.
|
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Tamaño máximo estimado del archivo de vídeo %s: %.2fMB.\nCambia la tasa de bits del vídeo o la duración de la repetición para cambiar el tamaño del archivo.
|
||||||
|
|||||||
@@ -410,7 +410,7 @@ Where should temporary replay data be stored?=Où stocker les données temporair
|
|||||||
RAM=RAM
|
RAM=RAM
|
||||||
Disk (Not recommended on SSDs)=Disque (Non recommandé sur SSD)
|
Disk (Not recommended on SSDs)=Disque (Non recommandé sur SSD)
|
||||||
Turn on replay when this program starts=Activer le replay au démarrage du programme
|
Turn on replay when this program starts=Activer le replay au démarrage du programme
|
||||||
Turn on replay when power supply is connected=Activer le replay lorsque l’alimentation est branchée
|
Only turn on replay if a power supply is connected=N'activez la lecture que si une alimentation est branchée
|
||||||
Don't turn on replay automatically=Ne pas activer automatiquement le replay
|
Don't turn on replay automatically=Ne pas activer automatiquement le replay
|
||||||
Restart replay on save=Redémarrer le replay après sauvegarde
|
Restart replay on save=Redémarrer le replay après sauvegarde
|
||||||
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Taille maximale estimée du fichier vidéo %s : %.2f Mo.\nModifiez le débit ou la durée de replay pour changer la taille du fichier.
|
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Taille maximale estimée du fichier vidéo %s : %.2f Mo.\nModifiez le débit ou la durée de replay pour changer la taille du fichier.
|
||||||
|
|||||||
@@ -402,7 +402,7 @@ Where should temporary replay data be stored?=Hol legyenek tárolva az ideiglene
|
|||||||
RAM=RAM
|
RAM=RAM
|
||||||
Disk (Not recommended on SSDs)=Lemez (SSD-n nem ajánlott)
|
Disk (Not recommended on SSDs)=Lemez (SSD-n nem ajánlott)
|
||||||
Turn on replay when this program starts=Visszajátszás bekapcsolása a program indításakor
|
Turn on replay when this program starts=Visszajátszás bekapcsolása a program indításakor
|
||||||
Turn on replay when power supply is connected=Visszajátszás bekapcsolása tápellátás csatlakoztatásakor
|
Only turn on replay if a power supply is connected=Csak akkor kapcsolja be a visszajátszást, ha a tápegység csatlakoztatva van
|
||||||
Don't turn on replay automatically=Ne kapcsolja be automatikusan a visszajátszást
|
Don't turn on replay automatically=Ne kapcsolja be automatikusan a visszajátszást
|
||||||
Restart replay on save=Visszajátszás újraindítása mentéskor
|
Restart replay on save=Visszajátszás újraindítása mentéskor
|
||||||
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Becsült maximális videófájl-méret %s: %.2fMB.\nA fájlméret módosításához változtasd meg a bitrátát vagy a visszajátszás hosszát.
|
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Becsült maximális videófájl-méret %s: %.2fMB.\nA fájlméret módosításához változtasd meg a bitrátát vagy a visszajátszás hosszát.
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ Where should temporary replay data be stored?=一時的なリプレイデータ
|
|||||||
RAM=RAM
|
RAM=RAM
|
||||||
Disk (Not recommended on SSDs)=ディスク(SSD では非推奨)
|
Disk (Not recommended on SSDs)=ディスク(SSD では非推奨)
|
||||||
Turn on replay when this program starts=このプログラム起動時にリプレイをオン
|
Turn on replay when this program starts=このプログラム起動時にリプレイをオン
|
||||||
Turn on replay when power supply is connected=電源接続時にリプレイをオン
|
Only turn on replay if a power supply is connected=電源が接続されている場合にのみリプレイをオンにしてください
|
||||||
Don't turn on replay automatically=自動でリプレイをオンにしない
|
Don't turn on replay automatically=自動でリプレイをオンにしない
|
||||||
Restart replay on save=保存時にリプレイを再起動
|
Restart replay on save=保存時にリプレイを再起動
|
||||||
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=推定動画最大サイズ %s: %.2fMB\nファイルサイズを変えるにはビットレートまたはリプレイ秒数を変更してください
|
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=推定動画最大サイズ %s: %.2fMB\nファイルサイズを変えるにはビットレートまたはリプレイ秒数を変更してください
|
||||||
|
|||||||
@@ -397,7 +397,7 @@ Where should temporary replay data be stored?=Где должны хранить
|
|||||||
RAM=ОЗУ
|
RAM=ОЗУ
|
||||||
Disk (Not recommended on SSDs)=Диск (не рекомендуется для SSD)
|
Disk (Not recommended on SSDs)=Диск (не рекомендуется для SSD)
|
||||||
Turn on replay when this program starts=Включать повтор при запуске программы
|
Turn on replay when this program starts=Включать повтор при запуске программы
|
||||||
Turn on replay when power supply is connected=Включать повтор при подключении источника питания
|
Only turn on replay if a power supply is connected=Включайте воспроизведение только при подключенном источнике питания
|
||||||
Don't turn on replay automatically=Не включать повтор автоматически
|
Don't turn on replay automatically=Не включать повтор автоматически
|
||||||
Restart replay on save=Перезапускать повтор при сохранении
|
Restart replay on save=Перезапускать повтор при сохранении
|
||||||
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Примерный максимальный размер видео файла %s: %.2fMB.\nИзмените битрейт видео или длительность повтора, чтобы изменить размер файла.
|
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Примерный максимальный размер видео файла %s: %.2fMB.\nИзмените битрейт видео или длительность повтора, чтобы изменить размер файла.
|
||||||
|
|||||||
@@ -413,7 +413,7 @@ Where should temporary replay data be stored?=
|
|||||||
RAM=
|
RAM=
|
||||||
Disk (Not recommended on SSDs)=
|
Disk (Not recommended on SSDs)=
|
||||||
Turn on replay when this program starts=
|
Turn on replay when this program starts=
|
||||||
Turn on replay when power supply is connected=
|
Only turn on replay if a power supply is connected=
|
||||||
Don't turn on replay automatically=
|
Don't turn on replay automatically=
|
||||||
Restart replay on save=
|
Restart replay on save=
|
||||||
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=
|
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=
|
||||||
|
|||||||
@@ -395,7 +395,7 @@ Where should temporary replay data be stored?=Де мають зберігати
|
|||||||
RAM=ОЗП
|
RAM=ОЗП
|
||||||
Disk (Not recommended on SSDs)=Диск (не рекомендовано для SSD)
|
Disk (Not recommended on SSDs)=Диск (не рекомендовано для SSD)
|
||||||
Turn on replay when this program starts=Увімкнути повтор при запуску програми
|
Turn on replay when this program starts=Увімкнути повтор при запуску програми
|
||||||
Turn on replay when power supply is connected=Увімкнути повтор при підключенні джерела живлення
|
Only turn on replay if a power supply is connected=Вмикати повтор лише за наявності підключення до джерела живлення
|
||||||
Don't turn on replay automatically=Не вмикати повтор автоматично
|
Don't turn on replay automatically=Не вмикати повтор автоматично
|
||||||
Restart replay on save=Перезапускати повтор при збереженні
|
Restart replay on save=Перезапускати повтор при збереженні
|
||||||
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Приблизний максимальний розмір відео файлу %s: %.2fMB.\nЗмініть бітрейт відео або тривалість повтору, щоб змінити розмір файлу.
|
Estimated video max file size %s: %.2fMB.\nChange video bitrate or replay duration to change file size.=Приблизний максимальний розмір відео файлу %s: %.2fMB.\nЗмініть бітрейт відео або тривалість повтору, щоб змінити розмір файлу.
|
||||||
|
|||||||
Reference in New Issue
Block a user