Add volume option.
There's a rudimentary volume option for XBOX1 there though ... Dunno what to do about that.
This commit is contained in:
parent
17559a3a18
commit
2be201ecf3
|
@ -1986,6 +1986,8 @@ void menu_populate_entries(void *data, unsigned menu_type)
|
||||||
#endif
|
#endif
|
||||||
#ifdef _XBOX1
|
#ifdef _XBOX1
|
||||||
file_list_push(rgui->selection_buf, "Volume Level", RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, 0);
|
file_list_push(rgui->selection_buf, "Volume Level", RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, 0);
|
||||||
|
#else
|
||||||
|
file_list_push(rgui->selection_buf, "Volume Level", RGUI_SETTINGS_AUDIO_VOLUME, 0);
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_RSOUND
|
#ifdef HAVE_RSOUND
|
||||||
file_list_push(rgui->selection_buf, "RSound Server IP Address", RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS, 0);
|
file_list_push(rgui->selection_buf, "RSound Server IP Address", RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS, 0);
|
||||||
|
|
|
@ -140,7 +140,8 @@ typedef enum
|
||||||
RGUI_SETTINGS_RESTART_GAME,
|
RGUI_SETTINGS_RESTART_GAME,
|
||||||
RGUI_SETTINGS_AUDIO_MUTE,
|
RGUI_SETTINGS_AUDIO_MUTE,
|
||||||
RGUI_SETTINGS_AUDIO_CONTROL_RATE_DELTA,
|
RGUI_SETTINGS_AUDIO_CONTROL_RATE_DELTA,
|
||||||
RGUI_SETTINGS_AUDIO_VOLUME_LEVEL,
|
RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, // XBOX1 only it seems. FIXME: Refactor this?
|
||||||
|
RGUI_SETTINGS_AUDIO_VOLUME,
|
||||||
RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE,
|
RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE,
|
||||||
RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS,
|
RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS,
|
||||||
RGUI_SETTINGS_ZIP_EXTRACT,
|
RGUI_SETTINGS_ZIP_EXTRACT,
|
||||||
|
|
|
@ -536,6 +536,28 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
|
||||||
g_settings.audio.rate_control = true;
|
g_settings.audio.rate_control = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case RGUI_SETTINGS_AUDIO_VOLUME:
|
||||||
|
{
|
||||||
|
float db_delta = 0.0f;
|
||||||
|
if (action == RGUI_ACTION_START)
|
||||||
|
{
|
||||||
|
g_extern.audio_data.volume_db = 0.0f;
|
||||||
|
g_extern.audio_data.volume_gain = 1.0f;
|
||||||
|
}
|
||||||
|
else if (action == RGUI_ACTION_LEFT)
|
||||||
|
db_delta -= 1.0f;
|
||||||
|
else if (action == RGUI_ACTION_RIGHT)
|
||||||
|
db_delta += 1.0f;
|
||||||
|
|
||||||
|
if (db_delta != 0.0f)
|
||||||
|
{
|
||||||
|
g_extern.audio_data.volume_db += db_delta;
|
||||||
|
g_extern.audio_data.volume_db = max(g_extern.audio_data.volume_db, -80.0f);
|
||||||
|
g_extern.audio_data.volume_db = min(g_extern.audio_data.volume_db, 12.0f);
|
||||||
|
g_extern.audio_data.volume_gain = db_to_gain(g_extern.audio_data.volume_db);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case RGUI_SETTINGS_DEBUG_TEXT:
|
case RGUI_SETTINGS_DEBUG_TEXT:
|
||||||
if (action == RGUI_ACTION_START)
|
if (action == RGUI_ACTION_START)
|
||||||
g_settings.fps_show = false;
|
g_settings.fps_show = false;
|
||||||
|
@ -1881,6 +1903,9 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
|
||||||
strlcpy(type_str, (g_extern.console.sound.volume_level) ? "Loud" : "Normal", type_str_size);
|
strlcpy(type_str, (g_extern.console.sound.volume_level) ? "Loud" : "Normal", type_str_size);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case RGUI_SETTINGS_AUDIO_VOLUME:
|
||||||
|
snprintf(type_str, type_str_size, "%.1f dB", g_extern.audio_data.volume_db);
|
||||||
|
break;
|
||||||
case RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS:
|
case RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS:
|
||||||
strlcpy(type_str, g_settings.audio.device, type_str_size);
|
strlcpy(type_str, g_settings.audio.device, type_str_size);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -2669,10 +2669,8 @@ static void check_volume(void)
|
||||||
db_change -= 0.5f;
|
db_change -= 0.5f;
|
||||||
|
|
||||||
g_extern.audio_data.volume_db += db_change;
|
g_extern.audio_data.volume_db += db_change;
|
||||||
if (g_extern.audio_data.volume_db > 12.0f)
|
g_extern.audio_data.volume_db = max(g_extern.audio_data.volume_db, -80.0f);
|
||||||
g_extern.audio_data.volume_db = 12.0f;
|
g_extern.audio_data.volume_db = min(g_extern.audio_data.volume_db, 12.0f);
|
||||||
else if (g_extern.audio_data.volume_db < -80.0f)
|
|
||||||
g_extern.audio_data.volume_db = -80.0f;
|
|
||||||
|
|
||||||
char msg[256];
|
char msg[256];
|
||||||
snprintf(msg, sizeof(msg), "Volume: %.1f dB", g_extern.audio_data.volume_db);
|
snprintf(msg, sizeof(msg), "Volume: %.1f dB", g_extern.audio_data.volume_db);
|
||||||
|
|
Loading…
Reference in New Issue