mirror of
https://github.com/libretro/RetroArch
synced 2025-04-24 15:02:35 +00:00
(Menu) Show camera driver inside 'Drivers' category
This commit is contained in:
parent
f8d44c6e60
commit
6a9bc1bfa4
18
driver.c
18
driver.c
@ -212,6 +212,24 @@ static void find_camera_driver(void)
|
|||||||
rarch_fail(1, "find_camera_driver()");
|
rarch_fail(1, "find_camera_driver()");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void find_prev_camera_driver(void)
|
||||||
|
{
|
||||||
|
int i = find_camera_driver_index(g_settings.camera.driver);
|
||||||
|
if (i > 0)
|
||||||
|
strlcpy(g_settings.camera.driver, camera_drivers[i - 1]->ident, sizeof(g_settings.camera.driver));
|
||||||
|
else
|
||||||
|
RARCH_WARN("Couldn't find any previous camera driver (current one: \"%s\").\n", g_settings.camera.driver);
|
||||||
|
}
|
||||||
|
|
||||||
|
void find_next_camera_driver(void)
|
||||||
|
{
|
||||||
|
int i = find_camera_driver_index(g_settings.camera.driver);
|
||||||
|
if (i >= 0 && camera_drivers[i + 1])
|
||||||
|
strlcpy(g_settings.camera.driver, camera_drivers[i + 1]->ident, sizeof(g_settings.camera.driver));
|
||||||
|
else
|
||||||
|
RARCH_WARN("Couldn't find any next camera driver (current one: \"%s\").\n", g_settings.camera.driver);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int find_audio_driver_index(const char *driver)
|
static int find_audio_driver_index(const char *driver)
|
||||||
|
7
driver.h
7
driver.h
@ -515,6 +515,13 @@ void find_next_video_driver(void);
|
|||||||
void find_next_audio_driver(void);
|
void find_next_audio_driver(void);
|
||||||
void find_next_input_driver(void);
|
void find_next_input_driver(void);
|
||||||
|
|
||||||
|
#ifdef HAVE_CAMERA
|
||||||
|
void init_camera(void);
|
||||||
|
void uninit_camera(void);
|
||||||
|
void find_prev_camera_driver(void);
|
||||||
|
void find_next_camera_driver(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
void driver_set_monitor_refresh_rate(float hz);
|
void driver_set_monitor_refresh_rate(float hz);
|
||||||
bool driver_monitor_fps_statistics(double *refresh_rate, double *deviation, unsigned *sample_points);
|
bool driver_monitor_fps_statistics(double *refresh_rate, double *deviation, unsigned *sample_points);
|
||||||
void driver_set_nonblock_state(bool nonblock);
|
void driver_set_nonblock_state(bool nonblock);
|
||||||
|
@ -1932,6 +1932,9 @@ void menu_populate_entries(void *data, unsigned menu_type)
|
|||||||
file_list_push(rgui->selection_buf, "Video driver", RGUI_SETTINGS_DRIVER_VIDEO, 0);
|
file_list_push(rgui->selection_buf, "Video driver", RGUI_SETTINGS_DRIVER_VIDEO, 0);
|
||||||
file_list_push(rgui->selection_buf, "Audio driver", RGUI_SETTINGS_DRIVER_AUDIO, 0);
|
file_list_push(rgui->selection_buf, "Audio driver", RGUI_SETTINGS_DRIVER_AUDIO, 0);
|
||||||
file_list_push(rgui->selection_buf, "Input driver", RGUI_SETTINGS_DRIVER_INPUT, 0);
|
file_list_push(rgui->selection_buf, "Input driver", RGUI_SETTINGS_DRIVER_INPUT, 0);
|
||||||
|
#ifdef HAVE_CAMERA
|
||||||
|
file_list_push(rgui->selection_buf, "Camera driver", RGUI_SETTINGS_DRIVER_CAMERA, 0);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case RGUI_SETTINGS:
|
case RGUI_SETTINGS:
|
||||||
file_list_clear(rgui->selection_buf);
|
file_list_clear(rgui->selection_buf);
|
||||||
|
@ -120,6 +120,7 @@ typedef enum
|
|||||||
RGUI_SETTINGS_DRIVER_VIDEO,
|
RGUI_SETTINGS_DRIVER_VIDEO,
|
||||||
RGUI_SETTINGS_DRIVER_AUDIO,
|
RGUI_SETTINGS_DRIVER_AUDIO,
|
||||||
RGUI_SETTINGS_DRIVER_INPUT,
|
RGUI_SETTINGS_DRIVER_INPUT,
|
||||||
|
RGUI_SETTINGS_DRIVER_CAMERA,
|
||||||
RGUI_SETTINGS_SCREENSHOT,
|
RGUI_SETTINGS_SCREENSHOT,
|
||||||
RGUI_SETTINGS_GPU_SCREENSHOT,
|
RGUI_SETTINGS_GPU_SCREENSHOT,
|
||||||
RGUI_SCREENSHOT_DIR_PATH,
|
RGUI_SCREENSHOT_DIR_PATH,
|
||||||
|
@ -888,7 +888,14 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
|
|||||||
else if (action == RGUI_ACTION_RIGHT)
|
else if (action == RGUI_ACTION_RIGHT)
|
||||||
find_next_input_driver();
|
find_next_input_driver();
|
||||||
break;
|
break;
|
||||||
|
#ifdef HAVE_CAMERA
|
||||||
|
case RGUI_SETTINGS_DRIVER_CAMERA:
|
||||||
|
if (action == RGUI_ACTION_LEFT)
|
||||||
|
find_prev_camera_driver();
|
||||||
|
else if (action == RGUI_ACTION_RIGHT)
|
||||||
|
find_next_camera_driver();
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
case RGUI_SETTINGS_VIDEO_GAMMA:
|
case RGUI_SETTINGS_VIDEO_GAMMA:
|
||||||
if (action == RGUI_ACTION_START)
|
if (action == RGUI_ACTION_START)
|
||||||
{
|
{
|
||||||
@ -1427,6 +1434,11 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
|
|||||||
case RGUI_SETTINGS_DRIVER_INPUT:
|
case RGUI_SETTINGS_DRIVER_INPUT:
|
||||||
strlcpy(type_str, g_settings.input.driver, type_str_size);
|
strlcpy(type_str, g_settings.input.driver, type_str_size);
|
||||||
break;
|
break;
|
||||||
|
#ifdef HAVE_CAMERA
|
||||||
|
case RGUI_SETTINGS_DRIVER_CAMERA:
|
||||||
|
strlcpy(type_str, g_settings.camera.driver, type_str_size);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
case RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO:
|
case RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO:
|
||||||
{
|
{
|
||||||
double refresh_rate = 0.0;
|
double refresh_rate = 0.0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user